added: expeccoNET_1_8_0_0
authorClaus Gittinger <cg@exept.de>
Fri, 21 Sep 2012 11:23:43 +0200
changeset 2927 558cd901ebce
parent 2926 c18d456bb5b3
child 2928 74762eba597e
added: #openBrowserOnSelectedResultItem #resultListMenu #selectedImplementorsHolder comment/format in: #openBrowserOnSelectedItem changed: #selectedClassOfResultHolder added browse implementors function #windowSpec
MethodFinderWindow.st
--- a/MethodFinderWindow.st	Mon Sep 10 14:43:41 2012 +0200
+++ b/MethodFinderWindow.st	Fri Sep 21 11:23:43 2012 +0200
@@ -292,6 +292,8 @@
                        (SequenceViewSpec
                           name: 'ResultList'
                           layout: (LayoutFrame 0 0 -15 0.5 0 1 0 1)
+                          model: selectedImplementorsHolder
+                          menu: resultListMenu
                           hasHorizontalScrollBar: true
                           hasVerticalScrollBar: true
                           autoHideScrollBars: true
@@ -343,6 +345,8 @@
          
         )
       )
+
+    "Modified: / 21-09-2012 / 11:09:44 / cg"
 ! !
 
 !MethodFinderWindow class methodsFor:'menu specs'!
@@ -435,6 +439,36 @@
       )
 
     "Modified: / 13.11.2001 / 12:36:39 / cg"
+!
+
+resultListMenu
+    "This resource specification was automatically generated
+     by the MenuEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the MenuEditor may not be able to read the specification."
+
+    "
+     MenuEditor new openOnClass:MethodFinderWindow andSelector:#implementorListMenu
+     (Menu new fromLiteralArrayEncoding:(MethodFinderWindow implementorListMenu)) startUp
+    "
+
+    <resource: #menu>
+
+    ^ 
+     #(#Menu
+        #(
+         #(#MenuItem
+            #label: 'Browse Implementors'
+            #translateLabel: true
+            #value: #openBrowserOnSelectedResultItem
+          )
+         )
+        nil
+        nil
+      )
+
+    "Created: / 21-09-2012 / 11:05:15 / cg"
 ! !
 
 !MethodFinderWindow methodsFor:'accessing'!
@@ -613,12 +647,30 @@
 !
 
 openBrowserOnSelectedItem 
+    "on the selected implementor"
+
     |sel|
 
     sel := self selectedClassOfResultHolder value.
     self openBrowserOn:sel
 
-    "Modified: / 13.11.2001 / 12:47:39 / cg"
+    "Modified: / 13-11-2001 / 12:47:39 / cg"
+    "Modified (comment): / 21-09-2012 / 11:08:33 / cg"
+!
+
+openBrowserOnSelectedResultItem 
+    "on an item in the lower left list,
+     on all implementors of that message"
+
+    |selIndex selector|
+
+    selIndex := self selectedImplementorsHolder value.
+    selIndex isNil ifTrue:[^ self].
+
+    selector := resultSelectors at:selIndex.
+    UserPreferences browserClass browseImplementorsOf:selector.
+
+    "Created: / 21-09-2012 / 11:05:46 / cg"
 !
 
 receiverEditorContents
@@ -955,15 +1007,31 @@
 !
 
 selectedClassOfResultHolder
-    "Return a valueHolder which contains the index of the selected result class
-     (right list)"
+    "valueHolder which contains the index of the selected result class (right list)"
 
     |holder|
+
     (holder := builder bindingAt:#selectedClassOfResultHolder) isNil ifTrue:[
         holder := ValueHolder new.
         builder aspectAt:#selectedClassOfResultHolder put:holder
     ].
     ^ holder
+
+    "Modified (comment): / 21-09-2012 / 11:10:29 / cg"
+!
+
+selectedImplementorsHolder
+    "valueHolder which contains the index of the selected implementors list (left list)"
+
+    |holder|
+
+    (holder := builder bindingAt:#selectedImplementorsHolder) isNil ifTrue:[
+        holder := ValueHolder new.
+        builder aspectAt:#selectedImplementorsHolder put:holder
+    ].
+    ^ holder
+
+    "Created: / 21-09-2012 / 11:10:13 / cg"
 !
 
 selectorPattern