MethodFinderWindow.st
changeset 1529 8c1607c0fbe8
parent 1526 8e62e3f56402
child 1530 37b18e9a12fb
--- a/MethodFinderWindow.st	Wed Nov 07 11:12:27 2001 +0100
+++ b/MethodFinderWindow.st	Wed Nov 07 14:00:00 2001 +0100
@@ -38,7 +38,7 @@
           #name: 'MethodFinder'
           #min: #(#Point nil nil)
           #max: #(#Point nil nil)
-          #bounds: #(#Rectangle 16 47 566 447)
+          #bounds: #(#Rectangle 16 46 566 446)
           #menu: #menu
           #forceRecursiveBackground: false
         )
@@ -47,7 +47,7 @@
           #collection: #(
            #(#SequenceViewSpec
               #name: 'List1'
-              #layout: #(#LayoutFrame 0 0 0 0.5 0 0.7 0 1)
+              #layout: #(#LayoutFrame 0 0 0 0.5 0 0.65 0 1)
               #hasHorizontalScrollBar: true
               #hasVerticalScrollBar: true
               #autoHideScrollBars: true
@@ -58,29 +58,31 @@
            #(#SequenceViewSpec
               #name: 'List2'
               #layout: #(#LayoutFrame 0 0.65 0 0 0 1 0 1)
+              #menu: #implementorListMenu
               #hasHorizontalScrollBar: true
               #hasVerticalScrollBar: true
               #autoHideScrollBars: true
               #doubleClickSelector: #openBrowserOn:
               #useIndex: false
+              #model: #selectedClassOfResultHolder
               #sequenceList: #classOfResultHolder
             )
            #(#ViewSpec
               #name: 'Box4'
-              #layout: #(#LayoutFrame 0 0 0 0 0 0.65 0 0.43)
+              #layout: #(#LayoutFrame 0 0 0 0 0 0.65 -25 0.5)
               #component: 
              #(#SpecCollection
                 #collection: #(
                  #(#LabelSpec
                     #label: 'Receiver'
                     #name: 'ReceiverLabel'
-                    #layout: #(#LayoutFrame -4 0.0162791 7 0 -4 0.293023 18 0)
+                    #layout: #(#LayoutFrame -4 0.0162791 0 0 -4 0.293023 20 0)
                     #translateLabel: true
                     #adjust: #left
                   )
                  #(#ComboListSpec
                     #name: 'allowedArgments'
-                    #layout: #(#LayoutFrame 0 0.339535 2 0 0 0.653488 19 0)
+                    #layout: #(#LayoutFrame 0 0.339535 0 0 0 0.653488 20 0)
                     #model: #argCountHolder
                     #comboList: #argCountList
                     #useIndex: true
@@ -88,7 +90,7 @@
                  #(#LabelSpec
                     #label: 'MessageAnswer'
                     #name: 'MessageAnswerLabel'
-                    #layout: #(#LayoutFrame 0 0.6693 5 0 0 0.99023 17 0)
+                    #layout: #(#LayoutFrame 0 0.6693 0 0 0 0.99023 20 0)
                     #translateLabel: true
                     #adjust: #left
                   )
@@ -105,10 +107,12 @@
                        #(#WorkspaceSpec
                           #name: 'ReceiverEditor'
                           #tabable: true
-                          #hasHorizontalScrollBar: false
-                          #hasVerticalScrollBar: false
+                          #hasHorizontalScrollBar: true
+                          #hasVerticalScrollBar: true
+                          #miniScrollerHorizontal: true
+                          #miniScrollerVertical: true
                           #autoHideScrollBars: true
-                          #extent: #(#Point 117 152)
+                          #extent: #(#Point 117 155)
                           #postBuildCallback: #receiverWidgetCreated:
                         )
                        #(#VerticalPanelViewSpec
@@ -130,15 +134,17 @@
                                       #name: 'Arg1Editor'
                                       #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
                                       #tabable: true
-                                      #hasHorizontalScrollBar: false
-                                      #hasVerticalScrollBar: false
+                                      #hasHorizontalScrollBar: true
+                                      #hasVerticalScrollBar: true
+                                      #miniScrollerHorizontal: true
+                                      #miniScrollerVertical: true
                                       #autoHideScrollBars: true
                                       #postBuildCallback: #argument1WidgetCreated:
                                     )
                                    )
                                  
                                 )
-                                #extent: #(#Point 117 49)
+                                #extent: #(#Point 117 50)
                               )
                              #(#ViewSpec
                                 #name: 'Box2'
@@ -150,15 +156,17 @@
                                       #name: 'TextEditor5'
                                       #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
                                       #tabable: true
-                                      #hasHorizontalScrollBar: false
-                                      #hasVerticalScrollBar: false
+                                      #hasHorizontalScrollBar: true
+                                      #hasVerticalScrollBar: true
+                                      #miniScrollerHorizontal: true
+                                      #miniScrollerVertical: true
                                       #autoHideScrollBars: true
                                       #postBuildCallback: #argument2WidgetCreated:
                                     )
                                    )
                                  
                                 )
-                                #extent: #(#Point 117 48)
+                                #extent: #(#Point 117 49)
                               )
                              #(#ViewSpec
                                 #name: 'Box3'
@@ -170,28 +178,32 @@
                                       #name: 'TextEditor6'
                                       #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
                                       #tabable: true
-                                      #hasHorizontalScrollBar: false
-                                      #hasVerticalScrollBar: false
+                                      #hasHorizontalScrollBar: true
+                                      #hasVerticalScrollBar: true
+                                      #miniScrollerHorizontal: true
+                                      #miniScrollerVertical: true
                                       #autoHideScrollBars: true
                                       #postBuildCallback: #argument3WidgetCreated:
                                     )
                                    )
                                  
                                 )
-                                #extent: #(#Point 117 49)
+                                #extent: #(#Point 117 50)
                               )
                              )
                            
                           )
-                          #extent: #(#Point 117 152)
+                          #extent: #(#Point 117 155)
                         )
                        #(#WorkspaceSpec
                           #name: 'AnswerEditor'
                           #tabable: true
-                          #hasHorizontalScrollBar: false
-                          #hasVerticalScrollBar: false
+                          #hasHorizontalScrollBar: true
+                          #hasVerticalScrollBar: true
+                          #miniScrollerHorizontal: true
+                          #miniScrollerVertical: true
                           #autoHideScrollBars: true
-                          #extent: #(#Point 118 152)
+                          #extent: #(#Point 118 155)
                           #postBuildCallback: #messageAnswerWidgetCreated:
                         )
                        )
@@ -204,7 +216,7 @@
             )
            #(#ViewSpec
               #name: 'Box5'
-              #layout: #(#LayoutFrame 53 0.224737 0 0.44 0 0.65 0 0.495578)
+              #layout: #(#LayoutFrame 53 0.224737 -23 0.5 0 0.65 0 0.5)
               #component: 
              #(#SpecCollection
                 #collection: #(
@@ -235,6 +247,34 @@
 
 !MethodFinderWindow class methodsFor:'menu specs'!
 
+implementorListMenu
+    "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'
+            #translateLabel: true
+            #value: #openBrowserOnSelectedItem
+          )
+         )
+        nil
+        nil
+      )
+!
+
 menu
     "This resource specification was automatically generated
      by the MenuEditor of ST/X."
@@ -438,6 +478,14 @@
 "
 !
 
+openBrowserOnSelectedItem 
+    |sel|
+
+    sel := self selectedClassOfResultHolder value.
+    sel isNil ifTrue:[^ self].
+    self openBrowserOn:sel
+!
+
 receiverEditorContents
    "Return a cleaned up version of receiver taken from the receiverEditor
     as an association. The association has aCleanedRecieverString as a key and the 
@@ -606,6 +654,18 @@
         builder aspectAt:#resultHolder put:holder.
     ].
     ^ holder.
+!
+
+selectedClassOfResultHolder
+    "Return a 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
 ! !
 
 !MethodFinderWindow methodsFor:'callBacks'!