Tools__CodeNavigationService.st
branchjv
changeset 12171 09f6735e294b
parent 12170 6c9c4b7981ee
child 12176 bfd7e6e00068
--- a/Tools__CodeNavigationService.st	Wed Feb 22 09:55:48 2012 +0000
+++ b/Tools__CodeNavigationService.st	Wed Feb 22 13:18:20 2012 +0000
@@ -151,15 +151,33 @@
 !CodeNavigationService methodsFor:'event handling'!
 
 button1Press
-
-    codeView syntaxElementSelection isNil ifTrue:[^self].
+    | node |
 
-    codeView syntaxElementSelection isSelector ifTrue:[^self button1PressForSelector: codeView syntaxElementSelection node parent selector].
-    codeView syntaxElementSelection isClass    ifTrue:[^self browseClass:codeView syntaxElementSelection value].
+    node := codeView currentParseNode.
+    node isNil ifTrue:[ 
+        ^ self 
+    ].
+    node isSelector ifTrue:[
+        self button1PressForMessageNode: node.
+        ^self.
+    ].
+    node isVariable ifTrue:[
+        self button1PressForVariableNode: node.
+        ^self.
+    ].
+
+    ^self.
 
     "Created: / 14-02-2010 / 18:43:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 18-11-2011 / 14:58:02 / cg"
-    "Modified: / 16-02-2012 / 22:56:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 21-02-2012 / 14:30:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+button1PressForMessageNode: node
+
+    ^self button1PressForSelector: node parent selector.
+
+    "Created: / 21-02-2012 / 14:30:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 button1PressForSelector: selector
@@ -177,6 +195,23 @@
     "Modified: / 21-08-2011 / 11:06:08 / cg"
 !
 
+button1PressForVariableNode: node
+    | value |
+
+    node isGlobalVariable ifTrue:[
+        value := Smalltalk at: node name.
+        value notNil ifTrue:[
+            value isBehavior ifTrue:[
+                self browseClass: value.
+            ] ifFalse:[
+                value inspect.
+            ]
+        ]
+    ]
+
+    "Created: / 21-02-2012 / 14:30:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 button2Press
 
     | sel |
@@ -599,6 +634,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__CodeNavigationService.st 7911 2012-02-22 09:55:48Z vranyj1 $'
+    ^ '$Id: Tools__CodeNavigationService.st 7912 2012-02-22 13:18:20Z vranyj1 $'
 ! !
-