added: #browseSharedPoolOfIt
authorClaus Gittinger <cg@exept.de>
Sat, 15 Jan 2011 14:09:29 +0100
changeset 4209 c8e3967e8623
parent 4208 d0f960563da8
child 4210 80f81ce2823c
added: #browseSharedPoolOfIt changed: #editMenu
Workspace.st
--- a/Workspace.st	Wed Dec 22 19:33:41 2010 +0100
+++ b/Workspace.st	Sat Jan 15 14:09:29 2011 +0100
@@ -1527,6 +1527,26 @@
     "Modified: / 19.11.2001 / 22:15:27 / cg"
 !
 
+browseSharedPoolOfIt
+    "open a browser on the shared pool in which the selected variable is"
+
+    |sel|
+
+    sel := self selectionAsString.
+    sel isEmptyOrNil ifTrue:[^ self].
+
+    sel := sel asSymbol.
+    self windowGroup withWaitCursorDo:[
+        SharedPool allSubclassesDo:[:eachPool |
+            (eachPool includesKey:sel) ifTrue:[
+                (UserPreferences current systemBrowserClass) browseClass:eachPool class
+            ].
+        ].
+    ].
+
+    "Created: / 15-01-2011 / 14:01:39 / cg"
+!
+
 doIt
     "user selected 'doIt' from menu; show a wait-cursor, evaluate the code
      and finally restore cursor; return result of evaluation"
@@ -1565,8 +1585,9 @@
         "
         sub 
             addItemList:#(
-                ('-'                                                               )
+                ('-'                                                                        )
                 ('Browse'                       browseIt                BrowseIt            )
+                ('Browse it''s Pool'            browseSharedPoolOfIt                        )
                 ('Senders of It'                browseSendersOfIt                           )
                 ('Implementors of It'           browseImplementorsOfIt  ImplementorsOfIt    )
                 ('References to It'             browseReferencesToIt                        )
@@ -1591,7 +1612,9 @@
         ].
 
         self hasSelection ifFalse:[
-            sub disableAll:#(browseImplementorsOfIt browseSendersOfIt browseReferencesToIt timeIt spyOnIt
+            sub disableAll:#(browseImplementorsOfIt browseSendersOfIt 
+                             browseReferencesToIt timeIt spyOnIt
+                             browseSharedPoolOfIt
                              commentSelection uncommentSelection ) 
         ] ifTrue:[
             s := self selectionAsString.
@@ -1614,6 +1637,11 @@
             ifFalse:[
                 sub disable:#browseReferencesToIt.
             ].
+            (s isNil 
+            or:[ (SharedPool allSubclasses contains:[:pool | pool includesKey:s asSymbol]) not]) ifTrue:[
+                sub disable:#browseSharedPoolOfIt.
+            ].
+
             self isReadOnly ifTrue:[
                 sub disableAll:#(commentSelection uncommentSelection) 
             ].
@@ -1655,8 +1683,8 @@
 
     ^ m ? sub.
 
-    "Modified: / 22.4.1998 / 21:49:06 / ca"
-    "Modified: / 19.11.2001 / 23:12:01 / cg"
+    "Modified: / 22-04-1998 / 21:49:06 / ca"
+    "Modified: / 15-01-2011 / 14:08:42 / cg"
 !
 
 inspectIt
@@ -1832,9 +1860,9 @@
 !Workspace class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/Workspace.st,v 1.227 2010-11-02 12:30:18 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/Workspace.st,v 1.228 2011-01-15 13:09:29 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libwidg/Workspace.st,v 1.227 2010-11-02 12:30:18 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/Workspace.st,v 1.228 2011-01-15 13:09:29 cg Exp $'
 ! !