Tools__TagsBrowser.st
changeset 18641 fcccf2b93a1c
parent 18113 37239b35dde3
child 18697 11dcae786558
equal deleted inserted replaced
18640:e83cc2cd72e3 18641:fcccf2b93a1c
  2844     "Created: / 06-10-2011 / 13:41:57 / cg"
  2844     "Created: / 06-10-2011 / 13:41:57 / cg"
  2845 !
  2845 !
  2846 
  2846 
  2847 middleButtonMenu
  2847 middleButtonMenu
  2848     ^ [
  2848     ^ [
  2849 	|menu suffix file item|
  2849         |menu suffix file item|
  2850 
  2850 
  2851 	tagsMenu notNil ifTrue:[
  2851         tagsMenu notNil ifTrue:[
  2852 	    tagsMenu
  2852             tagsMenu
  2853 	] ifFalse:[
  2853         ] ifFalse:[
  2854 	    menus isNil ifTrue:[
  2854             menus isNil ifTrue:[
  2855 		menus := IdentityDictionary new.
  2855                 menus := IdentityDictionary new.
  2856 	    ].
  2856             ].
  2857 
  2857 
  2858 	    menu := nil.
  2858             menu := nil.
  2859 
  2859 
  2860 	    (file := self editedFile) notNil ifTrue:[
  2860             (file := self editedFile) notNil ifTrue:[
  2861 		(tagList supportsFile:file) ifTrue:[
  2861                 (tagList supportsFile:file) ifTrue:[
  2862 		    menu := menus at:#exists ifAbsentPut:[
  2862                     menu := menus 
  2863 							menu := self class middleButtonMenu decodeAsLiteralArray.
  2863                                 at:#exists 
  2864 							menu receiver:self.
  2864                                 ifAbsentPut:[
  2865 							menu findGuiResourcesIn:self.
  2865                                     menu := self class middleButtonMenu decodeAsLiteralArray.
  2866 							menu
  2866                                     menu receiver:self.
  2867 						       ].
  2867                                     menu findGuiResourcesIn:self.
  2868 		    menu := MenuPanel menu:menu receiver:self.
  2868                                     menu
  2869 		] ifFalse:[
  2869                                 ].
  2870 		    suffix := file suffix.
  2870                     menu := MenuPanel menu:menu receiver:self.
  2871 
  2871                 ] ifFalse:[
  2872 		    suffix size ~~ 0 ifTrue:[
  2872                     suffix := file suffix.
  2873 			menu := menus at:#new ifAbsentPut:[
  2873 
  2874 			    menu := Menu new.
  2874                     suffix size ~~ 0 ifTrue:[
  2875 			    item := MenuItem label:('assign ', (Text string:suffix emphasis:#underline), ' to:').
  2875                         menu := menus at:#new ifAbsentPut:[
  2876 			    item enabled:false.
  2876                             menu := Menu new.
  2877 			    menu addItem:item.
  2877                             item := MenuItem label:('assign ', (Text string:suffix emphasis:#underline), ' to:').
  2878 			    menu addItem:(MenuItem separator).
  2878                             item enabled:false.
  2879 
  2879                             menu addItem:item.
  2880 			    tagList class tagsSuffixes keysAndValuesDo:[:aKey :aValue|
  2880                             menu addItem:(MenuItem separator).
  2881 				item := MenuItem label:('  - ', aKey )
  2881 
  2882 						 itemValue:[ |list|
  2882                             tagList class tagsSuffixes keysAndValuesDo:[:aKey :aValue|
  2883 							list := aValue asOrderedCollection.
  2883                                 item := MenuItem label:('  - ', aKey )
  2884 							list add:(suffix asLowercase).
  2884                                                  itemValue:[ |list|
  2885 							tagList class tagsSuffixes at:aKey put:list.
  2885                                                         list := aValue asOrderedCollection.
  2886 							self editedFileChanged.
  2886                                                         list add:(suffix asLowercase).
  2887 						       ].
  2887                                                         tagList class tagsSuffixes at:aKey put:list.
  2888 				menu addItem:item.
  2888                                                         self editedFileChanged.
  2889 			    ].
  2889                                                        ].
  2890 			    menu
  2890                                 menu addItem:item.
  2891 			].
  2891                             ].
  2892 
  2892                             menu
  2893 		    ]
  2893                         ].
  2894 		].
  2894 
  2895 	    ].
  2895                     ]
  2896 	    menu
  2896                 ].
  2897 	]
  2897             ].
       
  2898             menu
       
  2899         ]
  2898       ]
  2900       ]
  2899 
  2901 
  2900     "Modified: / 08-09-2012 / 19:51:03 / cg"
  2902     "Modified: / 08-09-2012 / 19:51:03 / cg"
       
  2903     "Modified (format): / 02-03-2019 / 11:44:27 / Claus Gittinger"
  2901 !
  2904 !
  2902 
  2905 
  2903 sortByLineNumber
  2906 sortByLineNumber
  2904     self keepingSelectionDo:[
  2907     self keepingSelectionDo:[
  2905 	tagList sortedByLineNumber:true.
  2908 	tagList sortedByLineNumber:true.