class: Tools::NewSystemBrowser
authorClaus Gittinger <cg@exept.de>
Fri, 14 Jun 2013 16:34:30 +0200
changeset 12912 64879653709c
parent 12911 6a562c9a975e
child 12913 c5fdb1a82ed1
class: Tools::NewSystemBrowser changed: #setDoitActionForClass
Tools__NewSystemBrowser.st
--- a/Tools__NewSystemBrowser.st	Fri Jun 14 16:31:48 2013 +0200
+++ b/Tools__NewSystemBrowser.st	Fri Jun 14 16:34:30 2013 +0200
@@ -57684,55 +57684,62 @@
      Also, the current nameSpace (if there is one) is set for
      the doIt.
     "
-    |codeView|
+    |codeView currentClass currentMethod|
 
     codeView := self codeView.
     codeView isNil ifTrue:[^ self].
 
-    codeView doItAction:[:theCode |
-        |compiler nsName ns currentClass currentNonMetaClass currentMethod result|
-
-        currentClass := self theSingleSelectedClass.
-        currentClass isNil ifTrue:[
-            currentMethod := self theSingleSelectedMethod.
-            currentMethod notNil ifTrue:[
-                currentClass := currentMethod mclass
-            ]
-        ].
-        currentClass notNil ifTrue:[
-            currentNonMetaClass := currentClass theNonMetaclass.
-            ns := currentNonMetaClass nameSpace
-        ] ifFalse:[
-            self organizerMode == OrganizerCanvas organizerModeNamespace ifTrue:[
-                nsName := self theSingleSelectedNamespace.
-                nsName notNil ifTrue:[
-                    ns := NameSpace name:nsName
-                ].
-            ]
-        ].
-
-        Class nameSpaceQuerySignal handle:[:ex |
-            ns isNil ifTrue:[
-                ex reject
-            ].
-            ex proceedWith:ns
-        ] do:[
+    currentClass := self theSingleSelectedClass.
+    currentMethod := self theSingleSelectedMethod.
+
+    codeView 
+        doItAction:[:theCode |
+            |compiler nsName ns currentClass currentNonMetaClass currentMethod result|
+
+            "/ fetch again - needed?
+            currentClass := self theSingleSelectedClass.
             currentClass isNil ifTrue:[
-                compiler := Compiler
-            ] ifFalse:[
-                compiler := currentClass evaluatorClass
-            ].
-
-            result := compiler
-                evaluate:theCode string
-                in:nil
-                receiver:currentNonMetaClass
-                notifying:codeView
-                logged:false
-                ifFail:nil.
-        ].
-        result
-    ].
+                currentMethod := self theSingleSelectedMethod.
+                currentMethod notNil ifTrue:[
+                    currentClass := currentMethod mclass
+                ]
+            ].
+            currentClass notNil ifTrue:[
+                currentNonMetaClass := currentClass theNonMetaclass.
+                ns := currentNonMetaClass nameSpace
+            ] ifFalse:[
+                self organizerMode == OrganizerCanvas organizerModeNamespace ifTrue:[
+                    nsName := self theSingleSelectedNamespace.
+                    nsName notNil ifTrue:[
+                        ns := NameSpace name:nsName
+                    ].
+                ]
+            ].
+
+            Class nameSpaceQuerySignal handle:[:ex |
+                ns isNil ifTrue:[
+                    ex reject
+                ].
+                ex proceedWith:ns
+            ] do:[
+                currentClass isNil ifTrue:[
+                    compiler := Compiler
+                ] ifFalse:[
+                    compiler := currentClass evaluatorClass
+                ].
+
+                result := compiler
+                    evaluate:theCode string
+                    in:nil
+                    receiver:currentNonMetaClass
+                    notifying:codeView
+                    logged:false
+                    ifFail:nil.
+            ].
+            result
+        ];
+        editedMethodOrClass:(currentMethod ? currentClass).
+
 
     "Created: / 23.2.2000 / 11:54:24 / cg"
     "Modified: / 23.2.2000 / 11:57:10 / cg"
@@ -58524,15 +58531,15 @@
 !NewSystemBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1896 2013-06-14 11:56:55 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1897 2013-06-14 14:34:30 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1896 2013-06-14 11:56:55 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1897 2013-06-14 14:34:30 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__NewSystemBrowser.st,v 1.1896 2013-06-14 11:56:55 cg Exp $'
+    ^ '$Id: Tools__NewSystemBrowser.st,v 1.1897 2013-06-14 14:34:30 cg Exp $'
 ! !