--- 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|