# HG changeset patch # User Claus Gittinger # Date 1348219423 -7200 # Node ID 558cd901ebceb68e8d170648edd26d65a6e4f7be # Parent c18d456bb5b3253dcd8ed8a195f7544ea6294c0c added: #openBrowserOnSelectedResultItem #resultListMenu #selectedImplementorsHolder comment/format in: #openBrowserOnSelectedItem changed: #selectedClassOfResultHolder added browse implementors function #windowSpec diff -r c18d456bb5b3 -r 558cd901ebce 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 + " + + + + ^ + #(#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