SmallSense__ClassPO.st
changeset 133 bd659b67811c
parent 120 4fefce92f5bb
child 152 ca90a7b9243f
child 174 3e08d765d86f
--- a/SmallSense__ClassPO.st	Thu Oct 17 01:41:47 2013 +0100
+++ b/SmallSense__ClassPO.st	Sun Oct 20 03:10:44 2013 +0100
@@ -39,7 +39,13 @@
     showPrefix ifTrue:[
         nm := subject name.
         subject isJavaClass ifTrue:[
-            nm := nm copyReplaceAll: $/ with: $.
+            context language isJava ifTrue:[
+                nm := subject javaName
+            ] ifFalse:[
+                context language isSmalltalk ifTrue:[
+                   nm := 'JAVA ' , (subject  binaryName copyReplaceAll: $/ with: Character space)
+                 ]
+            ]
         ].
     ] ifFalse:[
         nm := subject nameWithoutPrefix.
@@ -47,7 +53,7 @@
     ^nm
 
     "Created: / 26-08-2013 / 10:26:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 03-10-2013 / 11:38:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-10-2013 / 02:34:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 showPrefix
@@ -58,14 +64,34 @@
     showPrefix := something.
 !
 
+stringAlreadyWritten
+    "Answers a string already written in the textview"    
+
+    (subject isJavaClass and:[context language isSmalltalk]) ifTrue:[
+        | rec |
+
+        rec := context node .
+        [ rec isUnaryMessage ] whileTrue:[
+            rec := rec receiver.
+        ].
+        (rec isVariableNode and:['JAVA' startsWith: rec name]) ifTrue:[
+            ^ context codeView contents asString copyFrom: rec startPosition to: context node endPosition
+        ].
+    ].
+    ^ super stringAlreadyWritten
+
+    "Created: / 20-10-2013 / 02:46:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 stringToCompleteForLanguage: language
     ^ (subject isJavaClass and:[language isSmalltalk]) ifTrue:[
-        'JAVA ', (subject name copyReplaceAll: $/ with: Character space)
+        'JAVA ', (subject binaryName copyReplaceAll: $/ with: Character space)
     ] ifFalse:[
         super stringToCompleteForLanguage: language
     ].
 
     "Created: / 03-10-2013 / 16:42:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-10-2013 / 02:35:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 subject: aClass
@@ -119,41 +145,6 @@
     "Created: / 18-09-2013 / 00:17:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-displayOn:aGC x:x y:y opaque:opaque
-
-    | nm namespace lw cnw fg |
-
-    showPrefix ifTrue:[
-        nm := subject name.
-        namespace := nil
-    ] ifFalse:[
-        nm := subject nameWithoutPrefix.
-        subject isJavaClass ifFalse:[
-            namespace := subject  nameSpace name.
-        ] ifTrue:[
-            namespace := subject javaPackage.
-        ]
-    ].
-
-    nm displayOn:aGC x:x y:y opaque:opaque.
-
-    (namespace notNil and:[namespace ~~ #Smalltalk]) ifTrue:[
-        namespace := 'in ', namespace.
-        lw :=  x + 16 + (name widthOn: aGC).
-        cnw := aGC widthOfString: namespace.
-
-        (aGC width > (lw + cnw + 5)) ifTrue:[
-            fg := aGC paint.
-            aGC paint: (Color gray: 40).
-            namespace displayOn:aGC x: aGC width - cnw - 5 y:y opaque:opaque.
-            aGC paint: fg.
-        ]
-    ]
-
-    "Created: / 04-04-2012 / 13:03:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 25-08-2013 / 13:10:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
 displayString
     ^ self name
 
@@ -161,6 +152,20 @@
     "Modified: / 26-08-2013 / 10:27:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!ClassPO methodsFor:'initialization'!
+
+initialize
+    "Invoked when a new instance is created."
+
+    "/ please change as required (and remove this comment)
+    "/ showPrefix := nil.
+
+    super initialize.  
+    showPrefix := false.
+
+    "Modified: / 20-10-2013 / 02:38:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !ClassPO methodsFor:'testing'!
 
 isSmallSenseClassPO