added:
#openBrowserOnSelectedResultItem
#resultListMenu
#selectedImplementorsHolder
comment/format in: #openBrowserOnSelectedItem
changed:
#selectedClassOfResultHolder
added browse implementors function
#windowSpec
--- 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