#FEATURE by cg draft
authorClaus Gittinger <cg@exept.de>
Wed, 01 Aug 2018 07:55:15 +0200
changeset 3583 8eb5579befae
parent 3582 5606394265f9
child 3584 0651c38418c7
#FEATURE by cg class: FlyByWindowInformation class definition changed: #helpTextFor:at: #keyPress:x:y:view:
FlyByWindowInformation.st
--- a/FlyByWindowInformation.st	Sun Jul 29 10:22:44 2018 +0200
+++ b/FlyByWindowInformation.st	Wed Aug 01 07:55:15 2018 +0200
@@ -14,7 +14,8 @@
 "{ NameSpace: Smalltalk }"
 
 FlyByHelp subclass:#FlyByWindowInformation
-	instanceVariableNames:'lastApplication lastView cleanupAction finishSemaphore finished'
+	instanceVariableNames:'lastApplication lastView cleanupAction finishSemaphore finished
+		toBrowseAction'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'Interface-Help'
@@ -159,6 +160,12 @@
                 obj := lastView topView
             ]
         ].
+        lcKey == $u ifTrue:[
+            toBrowseAction notNil ifTrue:[
+                toBrowseAction value:(SystemBrowser default)
+            ].    
+        ].
+        
         obj notNil ifTrue:[
             key isLowercase ifTrue:[
                 objToInspect := obj
@@ -178,6 +185,7 @@
     ^ true
 
     "Modified: / 12-11-2010 / 11:51:04 / cg"
+    "Modified: / 01-08-2018 / 07:42:15 / Claus Gittinger"
 ! !
 
 !FlyByWindowInformation methodsFor:'help texts'!
@@ -197,6 +205,7 @@
          masterApplicationToInspect topApplicationToInspect modelToInspect
          genComponentNameForApplication windowGroupToInspect|
 
+        toBrowseAction := nil. 
         genComponentNameForApplication := 
             [:app :s |
                 (app notNil 
@@ -278,6 +287,11 @@
                     ].
                     (itemValue := item itemValue) isSymbol ifTrue:[
                         s nextPutLine:(resources string:'Action: %1' with:itemValue allBold).
+                        (applicationToInspect class implements:itemValue) ifTrue:[
+                            toBrowseAction := [:b | b browseClass:applicationToInspect class selector:itemValue].
+                        ] ifFalse:[    
+                            toBrowseAction := [:b | b browseImplementorsOf:itemValue].
+                        ]
                     ] ifFalse:[    
                         itemValue isBlock ifTrue:[
                             s nextPutLine:(resources string:'Action: %1' with:itemValue printString).
@@ -296,10 +310,10 @@
         s cr.
         s nextPutLine:'Press:'.
 
-        "/ use smalltalk at, to avoid dependency on libTool
+        "/ use Smalltalk-at, to avoid dependency on libTool
         (Smalltalk at:#'Tools::ViewTreeInspectorApplication') notNil ifTrue:[
             s nextPutLine:'    ? to show the view''s tree'.
-        ].
+        ].        
         applicationToInspect notNil ifTrue:[
             s nextPutLine:'    a to inspect application (A to browse)'.
             masterApplicationToInspect notNil ifTrue:[
@@ -320,6 +334,9 @@
         modelToInspect notNil ifTrue:[
             s nextPutLine:'    o to inspect model (O to browse)'.
         ].
+        toBrowseAction notNil ifTrue:[
+            s nextPutLine:'    u to browse the called user action'.
+        ].    
         s cr.
         s nextPutLine:'RETURN to browse application.'.
         s nextPutAll:'ESC or click to leave flyBy-info mode.'.
@@ -330,7 +347,7 @@
     "
 
     "Modified: / 12-11-2010 / 11:54:59 / cg"
-    "Modified: / 23-07-2018 / 09:18:44 / Claus Gittinger"
+    "Modified: / 01-08-2018 / 07:43:22 / Claus Gittinger"
 ! !
 
 !FlyByWindowInformation methodsFor:'private'!