Tools__NewSystemBrowser.st
changeset 16447 a4e1e851ea26
parent 16444 08693ccf142e
child 16448 bdb7d984505c
--- a/Tools__NewSystemBrowser.st	Thu May 05 09:41:35 2016 +0200
+++ b/Tools__NewSystemBrowser.st	Thu May 05 09:56:09 2016 +0200
@@ -6001,7 +6001,7 @@
 
     <resource: #menu>
 
-    ^
+    ^ 
      #(Menu
         (
          (MenuItem
@@ -6031,7 +6031,7 @@
           )
          (MenuItem
             label: 'Classes'
-            submenu:
+            submenu: 
            (Menu
               (
                (MenuItem
@@ -6174,6 +6174,17 @@
                   label: '-'
                 )
                (MenuItem
+                  label: 'Pick a View, Browse its Application Class'
+                  itemValue: pickViewAndBrowseApplicationClass
+                )
+               (MenuItem
+                  label: 'Pick a View, Browse Widget''s Class'
+                  itemValue: pickViewAndBrowseViewClass
+                )
+               (MenuItem
+                  label: '-'
+                )
+               (MenuItem
                   label: 'Special'
                   submenuChannel: specialBrowseMenu
                 )
@@ -6228,7 +6239,7 @@
           )
          (MenuItem
             label: 'Methods'
-            submenu:
+            submenu: 
            (Menu
               (
                (MenuItem
@@ -27152,6 +27163,34 @@
     ^ classes asOrderedCollection
 !
 
+pickViewAndBrowseApplicationClass
+    "let user click on a view, then browse its appliction class"
+
+    |view app|
+
+    view := Screen current viewFromUser.
+    view isNil ifTrue:[^ self].
+    (app := view application) isNil ifTrue:[
+        (app := view topView application) isNil ifTrue:[
+            Dialog information:'Neither widget nor its topview have an application'.
+            ^ self
+        ].
+    ].
+    self createBuffer.
+    self switchToClass:app class selector:nil updateHistory:false.
+!
+
+pickViewAndBrowseWidgetClass
+    "let user click on a view, then browse its class"
+
+    |view|
+
+    view := Screen current viewFromUser.
+    view isNil ifTrue:[^ self].
+    self createBuffer.
+    self switchToClass:view class selector:nil updateHistory:false.
+!
+
 spawnClassDocumentationBrowserIn:where
     "browse documentation;
         where is: #newBrowser - open a new browser