#UI_ENHANCEMENT by cg
authorClaus Gittinger <cg@exept.de>
Thu, 24 Aug 2017 13:49:51 +0200
changeset 17625 4b26ab6b9913
parent 17624 241986474521
child 17626 ff74f36df8f2
#UI_ENHANCEMENT by cg class: Tools::NewSystemBrowser added: #browseSendersOfAll class: Tools::NewSystemBrowser class changed: #selectorMenuSearchSlice
Tools__NewSystemBrowser.st
--- a/Tools__NewSystemBrowser.st	Thu Aug 24 13:10:56 2017 +0200
+++ b/Tools__NewSystemBrowser.st	Thu Aug 24 13:49:51 2017 +0200
@@ -12045,7 +12045,7 @@
 
     <resource: #menu>
 
-    ^
+    ^ 
      #(Menu
         (
          (MenuItem
@@ -12053,9 +12053,25 @@
             itemValue: browseSendersOf
           )
          (MenuItem
-            label: 'Senders of Any...'
-            itemValue: browseSendersOfAny
+            label: 'Senders'
             isVisible: hasMultipleMethodsSelectedHolder
+            submenu: 
+           (Menu
+              (
+               (MenuItem
+                  label: 'Senders of Any...'
+                  itemValue: browseSendersOfAny
+                  isVisible: hasMultipleMethodsSelectedHolder
+                )
+               (MenuItem
+                  label: 'Senders of All...'
+                  itemValue: browseSendersOfAll
+                  isVisible: hasMultipleMethodsSelectedHolder
+                )
+               )
+              nil
+              nil
+            )
           )
          (MenuItem
             label: 'Senders'
@@ -12075,14 +12091,12 @@
           )
          (MenuItem
             label: 'Implementors'
-            translateLabel: true
-            "/ isVisible: hasSingleMethodSelectedHolder
             submenuChannel: implementedMessagesMenu
           )
          (MenuItem
+            enabled: hasMethodWithSelfSendSelected
             label: 'Follow Implementation'
             submenuChannel: followImplementorMessagesMenu
-            enabled: hasMethodWithSelfSendSelected
           )
          (MenuItem
             label: 'Globals'
@@ -27654,6 +27668,34 @@
     "Modified: / 20-08-2012 / 14:28:30 / cg"
 !
 
+browseSendersOfAll
+    "browse methods which send all of the selected selectors"
+    
+    |selectors|
+
+    selectors := self selectedMethodsValue collect:[:each | each selector].
+
+    ^ self
+        askForMethodAndSpawnSearchTitle:'Browse Senders of all selected messages:'
+        browserLabel:('Senders (all of %1 selectors)' bindWith:selectors size)
+        searchWith:[:ignoredString :classes :ignoredCase :match|
+                            self class
+                                findSendersOfAll:selectors
+                                in:classes
+                                ignoreCase:false
+                   ]
+        searchWhat:#selector
+        searchArea:#everywhere
+        withCaseIgnore:false
+        withTextEntry:false
+        withMethodList:false
+        setSearchPattern:[:brwsr :string :ignoreCase :doMatch|
+                            brwsr setSearchSelector:selectors ignoreCase:ignoreCase doMatch:doMatch.
+                         ]
+
+    "Created: / 24-08-2017 / 13:07:18 / cg"
+!
+
 browseSendersOfAny
     |selectors|