SmallSense__ClassPO.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 15 May 2014 14:41:52 +0100
changeset 212 a2caebc602a7
parent 210 1922d415c704
child 233 fb33bd6466a4
permissions -rw-r--r--
Fixes and improvements for Java/Groovy completion (part 1) * Better presentation of constructors. * Better alignment of completion window when completing packages / full class names.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'jv:smallsense' }"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: SmallSense }"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
PO subclass:#ClassPO
67
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
     6
	instanceVariableNames:'showPrefix'
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
67
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
     9
	category:'SmallSense-Core-Interface-PO'
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
!ClassPO methodsFor:'accessing'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
icon
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
    icon ifNil:[icon := SystemBrowser iconForClass: subject].
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
    ^icon
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
    "Created: / 06-04-2011 / 23:36:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
67
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    23
klass
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    24
    ^ subject
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    25
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    26
    "Created: / 25-08-2013 / 13:07:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    27
!
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    28
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    29
klass: klass
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    30
    ^ subject := klass
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    31
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    32
    "Created: / 25-08-2013 / 13:07:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    33
!
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    34
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    35
name
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    36
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    37
    | nm |
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    38
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    39
    showPrefix ifTrue:[
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    40
        nm := subject name.
152
ca90a7b9243f Fix in SmallSense::ClassPO - care for nil context.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 133
diff changeset
    41
        (context notNil and:[subject isJavaClass]) ifTrue:[
210
1922d415c704 AbstractJavaCompletionEngineSimple refactored to use token patterns. Initial support for receiver type guessing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    42
            context language isJavaLike ifTrue:[
133
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
    43
                nm := subject javaName
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
    44
            ] ifFalse:[
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
    45
                context language isSmalltalk ifTrue:[
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
    46
                   nm := 'JAVA ' , (subject  binaryName copyReplaceAll: $/ with: Character space)
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
    47
                 ]
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
    48
            ]
120
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
    49
        ].
67
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    50
    ] ifFalse:[
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    51
        nm := subject nameWithoutPrefix.
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    52
    ].
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    53
    ^nm
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    54
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    55
    "Created: / 26-08-2013 / 10:26:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
210
1922d415c704 AbstractJavaCompletionEngineSimple refactored to use token patterns. Initial support for receiver type guessing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    56
    "Modified: / 15-05-2014 / 07:28:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
67
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    57
!
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    58
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    59
showPrefix
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    60
    ^ showPrefix
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    61
!
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    62
212
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    63
showPrefix:aBoolean
a2caebc602a7 Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    64
    showPrefix := aBoolean.
67
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    65
!
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
    66
133
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
    67
stringAlreadyWritten
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
    68
    "Answers a string already written in the textview"    
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
    69
210
1922d415c704 AbstractJavaCompletionEngineSimple refactored to use token patterns. Initial support for receiver type guessing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    70
    subject isJavaClass ifTrue:[
1922d415c704 AbstractJavaCompletionEngineSimple refactored to use token patterns. Initial support for receiver type guessing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    71
        context language isSmalltalk ifTrue:[
1922d415c704 AbstractJavaCompletionEngineSimple refactored to use token patterns. Initial support for receiver type guessing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    72
            | rec |
133
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
    73
210
1922d415c704 AbstractJavaCompletionEngineSimple refactored to use token patterns. Initial support for receiver type guessing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    74
            rec := context node .
1922d415c704 AbstractJavaCompletionEngineSimple refactored to use token patterns. Initial support for receiver type guessing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    75
            [ rec isUnaryMessage ] whileTrue:[
1922d415c704 AbstractJavaCompletionEngineSimple refactored to use token patterns. Initial support for receiver type guessing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    76
                rec := rec receiver.
1922d415c704 AbstractJavaCompletionEngineSimple refactored to use token patterns. Initial support for receiver type guessing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    77
            ].
1922d415c704 AbstractJavaCompletionEngineSimple refactored to use token patterns. Initial support for receiver type guessing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    78
            (rec isVariableNode and:['JAVA' startsWith: rec name]) ifTrue:[
1922d415c704 AbstractJavaCompletionEngineSimple refactored to use token patterns. Initial support for receiver type guessing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    79
                ^ context codeView contents asString copyFrom: rec startPosition to: context node endPosition
1922d415c704 AbstractJavaCompletionEngineSimple refactored to use token patterns. Initial support for receiver type guessing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    80
            ].
1922d415c704 AbstractJavaCompletionEngineSimple refactored to use token patterns. Initial support for receiver type guessing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    81
        ] ifFalse:[ 
1922d415c704 AbstractJavaCompletionEngineSimple refactored to use token patterns. Initial support for receiver type guessing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    82
        context language isJavaLike ifTrue:[
1922d415c704 AbstractJavaCompletionEngineSimple refactored to use token patterns. Initial support for receiver type guessing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    83
             ^ context wordBeforeCursorConsisitingOfCharactersMatching:[:c | c isAlphaNumeric or:['$_.' includes: c] ]
1922d415c704 AbstractJavaCompletionEngineSimple refactored to use token patterns. Initial support for receiver type guessing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    84
        ]].
133
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
    85
    ].
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
    86
    ^ super stringAlreadyWritten
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
    87
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
    88
    "Created: / 20-10-2013 / 02:46:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
210
1922d415c704 AbstractJavaCompletionEngineSimple refactored to use token patterns. Initial support for receiver type guessing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
    89
    "Modified: / 15-05-2014 / 07:31:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
133
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
    90
!
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
    91
120
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
    92
stringToCompleteForLanguage: language
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
    93
    ^ (subject isJavaClass and:[language isSmalltalk]) ifTrue:[
133
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
    94
        'JAVA ', (subject binaryName copyReplaceAll: $/ with: Character space)
120
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
    95
    ] ifFalse:[
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
    96
        super stringToCompleteForLanguage: language
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
    97
    ].
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
    98
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
    99
    "Created: / 03-10-2013 / 16:42:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
133
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   100
    "Modified: / 20-10-2013 / 02:35:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
120
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
   101
!
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
   102
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
subject: aClass
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
    super subject: aClass.
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
    "Created: / 06-04-2011 / 21:02:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
120
4fefce92f5bb Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
   108
    "Modified: / 03-10-2013 / 16:30:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
67
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   111
!ClassPO methodsFor:'converting'!
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   112
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   113
asString
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   114
    ^subject isJavaClass ifTrue:[
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   115
        subject javaName
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   116
    ] ifFalse:[
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   117
        subject name
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   118
    ].
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   119
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   120
    "Created: / 04-04-2012 / 13:00:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   121
    "Modified: / 26-08-2013 / 10:27:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   122
! !
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   123
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   124
!ClassPO methodsFor:'displaying'!
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   125
90
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   126
displayLabel:aLabel h:lH on:aGC x:x y:y h:h
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   127
    | namespace y0 lw cnw fg |
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   128
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   129
    super displayLabel:aLabel h:lH on:aGC x:x y:y h:h.
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   130
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   131
    showPrefix ifFalse:[
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   132
        namespace := subject isJavaClass 
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   133
                        ifFalse:[subject  nameSpace name]
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   134
                        ifTrue:[subject javaPackage].
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   135
        (namespace notNil and:[namespace ~~ #Smalltalk]) ifTrue:[
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   136
            namespace := 'in ', namespace.
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   137
            lw :=  x + IconWidth + (aLabel widthOn: aGC).
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   138
            y0 := y - (lH + 1 - h // 2).
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   139
            y0 := y0 + (namespace ascentOn:aGC). 
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   140
            cnw := aGC widthOfString: namespace.
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   141
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   142
            (aGC width > (lw + cnw + 5)) ifTrue:[
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   143
                fg := aGC paint.
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   144
                aGC paint: (Color gray: 40).
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   145
                namespace displayOn:aGC x: aGC width - cnw - 5 y:y0.
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   146
                aGC paint: fg.
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   147
            ]
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   148
        ]
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   149
    ]
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   150
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   151
    "Created: / 18-09-2013 / 00:17:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   152
!
4035038db277 Fixes in PO rendering.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 67
diff changeset
   153
67
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   154
displayString
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   155
    ^ self name
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   156
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   157
    "Created: / 20-04-2012 / 18:19:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   158
    "Modified: / 26-08-2013 / 10:27:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   159
! !
020b7461b15e Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 64
diff changeset
   160
133
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   161
!ClassPO methodsFor:'initialization'!
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   162
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   163
initialize
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   164
    "Invoked when a new instance is created."
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   165
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   166
    "/ please change as required (and remove this comment)
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   167
    "/ showPrefix := nil.
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   168
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   169
    super initialize.  
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   170
    showPrefix := false.
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   171
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   172
    "Modified: / 20-10-2013 / 02:38:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   173
! !
bd659b67811c Improvements in Java completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 120
diff changeset
   174
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
!ClassPO methodsFor:'testing'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
isSmallSenseClassPO
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
    ^ true
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
!ClassPO class methodsFor:'documentation'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
version_HG
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
    ^ '$Changeset: <not expanded> $'
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
version_SVN
174
3e08d765d86f sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents: 133
diff changeset
   189
    ^ '$Id: SmallSense__ClassPO.st,v 1.2 2014/02/12 14:49:29 sr Exp $'
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191