2121 |
2121 |
2122 menu := Menu new. |
2122 menu := Menu new. |
2123 implementors isEmptyOrNil ifTrue:[ |
2123 implementors isEmptyOrNil ifTrue:[ |
2124 menu addItem:(MenuItem label:'No implementors found') disable |
2124 menu addItem:(MenuItem label:'No implementors found') disable |
2125 ] ifFalse:[ |
2125 ] ifFalse:[ |
2126 menu addItem:(MenuItem |
2126 menu addItemLabel:(selector storeString , (' (all implementors) ') allItalic) |
2127 label:(selector storeString , (' (all implementors) ') allItalic) |
2127 value:[ |
2128 itemValue:[ |
2128 self browseMethods:implementors |
2129 self browseMethods:implementors |
2129 label:'Implementors of ' , selector storeString |
2130 label:'Implementors of ' , selector storeString |
2130 ]. |
2131 ]). |
|
2132 |
2131 |
2133 menu addSeparator. |
2132 menu addSeparator. |
2134 (implementors asOrderedCollection sort:[:a :b | a mclass name < b mclass name]) |
2133 (implementors asOrderedCollection sort:[:a :b | a mclass name < b mclass name]) do:[:mth | |
2135 "implementors" do:[:mth | |
|
2136 menu |
2134 menu |
2137 addItem:(MenuItem label:(selector storeString |
2135 addItemLabel:(selector storeString , (' in ' , mth containingClass nameInBrowser allBold)) |
2138 , (' in ' , mth containingClass nameInBrowser allBold)) |
2136 value:[ self browseMethod:mth label: 'Implementor of ' , selector storeString ] |
2139 itemValue:[ self browseMethod:mth label: 'Implementor of ' , selector storeString ]) |
|
2140 ] |
2137 ] |
2141 ]. |
2138 ]. |
2142 ^ menu |
2139 ^ menu |
2143 |
2140 |
2144 "Modified: / 19-10-2008 / 08:16:50 / Jan Vrany <vranyj1@fel.cvut.cz>" |
2141 "Modified: / 19-10-2008 / 08:16:50 / Jan Vrany <vranyj1@fel.cvut.cz>" |
2188 |
2185 |
2189 menu := Menu new. |
2186 menu := Menu new. |
2190 senders isEmptyOrNil ifTrue:[ |
2187 senders isEmptyOrNil ifTrue:[ |
2191 menu addItem:(MenuItem label:'No senders found') disable |
2188 menu addItem:(MenuItem label:'No senders found') disable |
2192 ] ifFalse:[ |
2189 ] ifFalse:[ |
2193 menu addItem:(MenuItem |
2190 menu addItemLabel:(selector storeString , (' (all senders)') allItalic) |
2194 label:(selector storeString , (' (all senders)') allItalic) |
2191 value:[ |
2195 itemValue:[ |
|
2196 self browseMethods:senders |
2192 self browseMethods:senders |
2197 label:'Senders of ' , selector storeString |
2193 label:'Senders of ' , selector storeString |
2198 ]). |
2194 ]. |
2199 menu addSeparator. |
2195 menu addSeparator. |
2200 sendersSorted := senders asOrderedCollection |
2196 sendersSorted := senders asOrderedCollection |
2201 sort:[:a :b | a whoString < b whoString]. |
2197 sort:[:a :b | a whoString < b whoString]. |
2202 shownSenderItems := (senders size > 20) ifTrue:[sendersSorted copyTo:20] ifFalse:[sendersSorted]. |
2198 shownSenderItems := (senders size > 20) ifTrue:[sendersSorted copyTo:20] ifFalse:[sendersSorted]. |
2203 numCut := senders size - 20. |
2199 numCut := senders size - 20. |
2204 shownSenderItems do:[:mth | |
2200 shownSenderItems do:[:mth | |
2205 menu |
2201 menu |
2206 addItem:(MenuItem label:(mth selector storeString |
2202 addItemLabel:(mth selector storeString , (' in ' , mth containingClass nameInBrowser allBold)) |
2207 , (' in ' , mth containingClass nameInBrowser allBold)) |
2203 value:[ self browseMethod:mth label: 'Sender of ' , selector storeString ] |
2208 itemValue:[ self browseMethod:mth label: 'Sender of ' , selector storeString ]) |
|
2209 ]. |
2204 ]. |
2210 numCut > 0 ifTrue:[ |
2205 numCut > 0 ifTrue:[ |
2211 menu addSeparator. |
2206 menu addSeparator. |
2212 menu addItem:(MenuItem label:('... %1 more senders not shown here' bindWith:numCut)) disable |
2207 menu addItem:(MenuItem label:('... %1 more senders not shown here' bindWith:numCut)) disable |
2213 ]. |
2208 ]. |