extensions.st
author Claus Gittinger <cg@exept.de>
Sun, 03 Jul 2011 22:02:38 +0200
changeset 10112 44ea589fbb3c
parent 10051 5b7e30460ea4
child 10120 92d12afdcffa
permissions -rw-r--r--
class definition
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8970
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
     1
"{ Package: 'stx:libtool' }"!
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
     2
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
     3
!AbstractSyntaxHighlighter class methodsFor:'api highlighting'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
     4
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
     5
formatExpression:aString in:aClass elementsInto: elements
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
     6
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
     7
    ^self formatExpression:aString in:aClass
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
     8
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
     9
    "Created: / 25-07-2010 / 08:57:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    10
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    11
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    12
!AbstractSyntaxHighlighter class methodsFor:'api highlighting'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    13
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    14
formatMethod:aString in:aClass using:preferencesOrNil elementsInto: elements
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    15
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    16
    ^self formatMethod:aString in:aClass using:preferencesOrNil
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    17
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    18
    "Created: / 25-07-2010 / 08:58:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    19
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    20
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    21
!AddClassChange methodsFor:'testing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    22
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    23
isClassDefinitionChange
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    24
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    25
    ^true
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    26
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    27
    "Created: / 29-10-2010 / 13:35:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    28
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    29
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    30
!AddMethodChange methodsFor:'testing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    31
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    32
isMethodCodeChange
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    33
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    34
    ^true
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    35
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    36
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    37
!AddMethodChange methodsFor:'accessing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    38
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    39
source
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    40
    ^ source
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    41
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    42
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    43
!AddMethodChange methodsFor:'initialization & release'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    44
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    45
source: aString 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    46
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    47
    source := aString.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    48
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    49
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    50
!Breakpoint methodsFor:'accessing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    51
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    52
icon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    53
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    54
    state == #enabled ifTrue:[^ToolbarIconLibrary brkp_obj].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    55
    state == #disabled ifTrue:[^ToolbarIconLibrary brkpd_obj].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    56
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    57
    ^nil
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    58
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    59
    "Created: / 28-06-2011 / 08:29:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    60
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    61
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
    62
!ByteArray methodsFor:'inspecting'!
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
    63
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
    64
inspectorExtraAttributes
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
    65
    "extra (pseudo instvar) entries to be shown in an inspector."
8839
792607726eb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8838
diff changeset
    66
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
    67
    ^ Dictionary new
9324
86307b0d7c57 hexString in inspector for ByteArrays
Claus Gittinger <cg@exept.de>
parents: 9050
diff changeset
    68
        declareAllNewFrom:(super inspectorExtraAttributes ? #());
86307b0d7c57 hexString in inspector for ByteArrays
Claus Gittinger <cg@exept.de>
parents: 9050
diff changeset
    69
        add:'-hexstring' -> [ self hexPrintString "WithSeparator:Character space" ];
86307b0d7c57 hexString in inspector for ByteArrays
Claus Gittinger <cg@exept.de>
parents: 9050
diff changeset
    70
        add:'-hexadecimal' ->
86307b0d7c57 hexString in inspector for ByteArrays
Claus Gittinger <cg@exept.de>
parents: 9050
diff changeset
    71
            [
86307b0d7c57 hexString in inspector for ByteArrays
Claus Gittinger <cg@exept.de>
parents: 9050
diff changeset
    72
                String
86307b0d7c57 hexString in inspector for ByteArrays
Claus Gittinger <cg@exept.de>
parents: 9050
diff changeset
    73
                    streamContents:[:s |
86307b0d7c57 hexString in inspector for ByteArrays
Claus Gittinger <cg@exept.de>
parents: 9050
diff changeset
    74
                        self class isWords ifTrue:[
86307b0d7c57 hexString in inspector for ByteArrays
Claus Gittinger <cg@exept.de>
parents: 9050
diff changeset
    75
                            self asWordArray printOn:s base:16 showRadix:true
86307b0d7c57 hexString in inspector for ByteArrays
Claus Gittinger <cg@exept.de>
parents: 9050
diff changeset
    76
                        ] ifFalse:[
86307b0d7c57 hexString in inspector for ByteArrays
Claus Gittinger <cg@exept.de>
parents: 9050
diff changeset
    77
                            self class isLongs ifTrue:[
86307b0d7c57 hexString in inspector for ByteArrays
Claus Gittinger <cg@exept.de>
parents: 9050
diff changeset
    78
                                self asLongIntegerArray printOn:s base:16 showRadix:true
86307b0d7c57 hexString in inspector for ByteArrays
Claus Gittinger <cg@exept.de>
parents: 9050
diff changeset
    79
                            ] ifFalse:[
86307b0d7c57 hexString in inspector for ByteArrays
Claus Gittinger <cg@exept.de>
parents: 9050
diff changeset
    80
                                self asByteArray printOn:s base:16 showRadix:true
86307b0d7c57 hexString in inspector for ByteArrays
Claus Gittinger <cg@exept.de>
parents: 9050
diff changeset
    81
                            ]
86307b0d7c57 hexString in inspector for ByteArrays
Claus Gittinger <cg@exept.de>
parents: 9050
diff changeset
    82
                        ]
86307b0d7c57 hexString in inspector for ByteArrays
Claus Gittinger <cg@exept.de>
parents: 9050
diff changeset
    83
                    ]
86307b0d7c57 hexString in inspector for ByteArrays
Claus Gittinger <cg@exept.de>
parents: 9050
diff changeset
    84
            ];
86307b0d7c57 hexString in inspector for ByteArrays
Claus Gittinger <cg@exept.de>
parents: 9050
diff changeset
    85
        yourself
7365
20fe515d3a34 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7356
diff changeset
    86
20fe515d3a34 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7356
diff changeset
    87
    "Created: / 18-09-2006 / 21:29:59 / cg"
20fe515d3a34 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7356
diff changeset
    88
    "Modified: / 06-10-2006 / 13:57:20 / cg"
20fe515d3a34 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7356
diff changeset
    89
! !
20fe515d3a34 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7356
diff changeset
    90
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    91
!Change methodsFor:'private'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    92
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    93
flattenOnto: aCollection 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    94
	aCollection add: self
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    95
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    96
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    97
!Change methodsFor:'private'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    98
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
    99
flattenedChanges
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   100
	| changes |
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   101
	changes := OrderedCollection new.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   102
	self flattenOnto: changes.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   103
	^changes
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   104
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   105
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   106
!Change methodsFor:'accessing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   107
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   108
removed
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   109
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   110
    ^(self objectAttributeAt: #removed) ? false
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   111
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   112
    "Created: / 24-10-2009 / 21:10:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   113
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   114
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   115
!Change methodsFor:'accessing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   116
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   117
removed: aBoolean
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   118
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   119
    ^self objectAttributeAt: #removed put: aBoolean
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   120
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   121
    "Created: / 24-10-2009 / 21:11:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   122
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   123
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   124
!ChangeSet methodsFor:'utilities'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   125
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   126
condenseChangesForRemoved
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   127
    "remove all changes which has been removed (marked for removal
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   128
     by aChange removed: true)"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   129
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   130
    |changesToRemove|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   131
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   132
    changesToRemove := self select:[:aChange | 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   133
        aChange isCompositeChange ifTrue:
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   134
            [aChange condenseChangesForRemoved].        
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   135
        aChange removed
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   136
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   137
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   138
    self condenseChanges:changesToRemove
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   139
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   140
    "Created: / 05-11-2001 / 14:21:17 / cg"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   141
    "Modified: / 12-10-2006 / 16:51:27 / cg"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   142
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   143
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   144
!ChangeSet methodsFor:'private'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   145
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   146
flattenOnto: aCollection 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   147
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   148
    self do:[:change|change flattenOnto: aCollection]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   149
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   150
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   151
!ChangeSet methodsFor:'private'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   152
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   153
flattenedChanges
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   154
	| changes |
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   155
	changes := OrderedCollection new.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   156
	self flattenOnto: changes.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   157
	^changes
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   158
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   159
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   160
!ChangeSet methodsFor:'debugging support'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   161
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   162
inspector2TabBrowser
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   163
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   164
    ^self newInspector2Tab
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   165
        label: 'Changes';    
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   166
        priority: 75;
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   167
        application: (Tools::ChangeSetBrowser on: self)
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   168
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   169
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   170
!Character methodsFor:'inspecting'!
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   171
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   172
inspectorExtraAttributes
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   173
    "extra (pseudo instvar) entries to be shown in an inspector."
8677
Claus Gittinger <cg@exept.de>
parents: 8417
diff changeset
   174
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   175
    ^ Dictionary new
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   176
	declareAllNewFrom:(super inspectorExtraAttributes ? #());
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   177
	add:'-hexValue' -> [ self codePoint radixPrintStringRadix:16 ];
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   178
	add:'-string' -> [ self stringSpecies with:self ];
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   179
	add:'-utf8String' -> [ self utf8Encoded ];
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   180
	add:'-utf8' -> [ self utf8Encoded asByteArray hexPrintStringWithSeparator:Character space ];
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   181
	yourself
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   182
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   183
    "
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   184
     $a inspect
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   185
    "
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   186
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   187
    "Created: / 22-10-2006 / 03:52:20 / cg"
7447
744eea8ff31c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7371
diff changeset
   188
! !
744eea8ff31c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7371
diff changeset
   189
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   190
!CharacterArray methodsFor:'debugging support'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   191
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   192
inspector2TabText
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   193
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   194
    ^self newInspector2Tab
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   195
        label: 'String';
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   196
        priority: 75;
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   197
        view: ((ScrollableView for:TextView) contents: self; yourself)
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   198
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   199
    "Created: / 17-02-2008 / 10:10:50 / janfrog"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   200
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   201
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   202
!CharacterArray methodsFor:'inspecting'!
8417
7ba7a8ebe38c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8406
diff changeset
   203
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   204
inspectorExtraAttributes
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   205
    "extra (pseudo instvar) entries to be shown in an inspector."
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   206
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   207
    |d|
8417
7ba7a8ebe38c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8406
diff changeset
   208
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   209
    d := Dictionary new
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   210
	declareAllNewFrom:(super inspectorExtraAttributes ? #());
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   211
	add:'-utf8String' -> [ self utf8Encoded ];
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   212
	add:'-utf8' -> [ self utf8Encoded asByteArray hexPrintStringWithSeparator:Character space ];
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   213
	yourself.
8839
792607726eb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8838
diff changeset
   214
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   215
    HTMLUtilities notNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   216
	d add:'-html' -> [ HTMLUtilities escapeCharacterEntities:self ].
8417
7ba7a8ebe38c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8406
diff changeset
   217
    ].
7ba7a8ebe38c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8406
diff changeset
   218
    ^ d
7ba7a8ebe38c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8406
diff changeset
   219
7ba7a8ebe38c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8406
diff changeset
   220
    "
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   221
     'aou' inspect
8417
7ba7a8ebe38c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8406
diff changeset
   222
    "
7ba7a8ebe38c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8406
diff changeset
   223
7ba7a8ebe38c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8406
diff changeset
   224
    "Created: / 22-10-2006 / 03:52:20 / cg"
7ba7a8ebe38c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8406
diff changeset
   225
! !
7ba7a8ebe38c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8406
diff changeset
   226
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   227
!ClassDescription methodsFor:'misc'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   228
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   229
iconInBrowserForVariableNamed: varName
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   230
    "variables for which an entry is found in the xml-spec (if any) are marked
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   231
     with an <xml>-icon. For now, this is expecco-specific, but should be somehow
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   232
     lifted to the base system"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   233
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   234
    (Expecco::ExpeccoXMLDecoder notNil and:
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   235
        [self canUnderstand: #xmlSpecFor:]) ifTrue:
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   236
            [
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   237
            (Expecco::ExpeccoXMLDecoder xmlSpecForObject:self basicNew)
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   238
                collect:[:spec|spec getter = varName ifTrue:
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   239
                    [^SystemBrowser instVarOverlayXmlSpec]].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   240
            ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   241
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   242
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   243
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   244
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   245
    ^nil
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   246
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   247
    "Created: / 12-04-2011 / 16:04:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   248
    "Modified (comment): / 03-07-2011 / 15:46:07 / cg"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   249
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   250
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   251
!Collection methodsFor:'inspecting'!
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   252
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   253
inspectorExtraAttributes
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   254
    "extra (pseudo instvar) entries to be shown in an inspector."
8677
Claus Gittinger <cg@exept.de>
parents: 8417
diff changeset
   255
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   256
    ^ Dictionary new
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   257
	declareAllNewFrom:(super inspectorExtraAttributes ? #());
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   258
	add:('-size' -> [ self size ]);
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   259
	yourself
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   260
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   261
    "
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   262
     'hello' inspect
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   263
    "
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   264
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   265
    "Created: / 06-10-2006 / 13:56:52 / cg"
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   266
    "Modified: / 06-10-2006 / 17:43:45 / cg"
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
   267
! !
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
   268
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   269
!Color methodsFor:'inspecting'!
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
   270
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   271
inspectorClass
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   272
    "return the class of an appropriate inspector.
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
   273
     ST/X has a specialized ColorInspectorView for that"
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
   274
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
   275
    ^ ColorInspectorView
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
   276
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
   277
    "Modified: 23.4.1996 / 13:39:50 / cg"
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
   278
! !
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
   279
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   280
!Color methodsFor:'inspecting'!
8406
445174a4db22 #inspectorExtraAttributes
Stefan Vogel <sv@exept.de>
parents: 7754
diff changeset
   281
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   282
inspectorExtraAttributes
8677
Claus Gittinger <cg@exept.de>
parents: 8417
diff changeset
   283
    "extra (pseudo instvar) entries to be shown in an inspector."
Claus Gittinger <cg@exept.de>
parents: 8417
diff changeset
   284
8406
445174a4db22 #inspectorExtraAttributes
Stefan Vogel <sv@exept.de>
parents: 7754
diff changeset
   285
    ^ Dictionary new
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   286
	declareAllNewFrom:(super inspectorExtraAttributes ? #());
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   287
	add:'-rgb' -> [ self rgbValue hexPrintString ];
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   288
	add:'-html' -> [ self htmlPrintString ];
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   289
	yourself
8417
7ba7a8ebe38c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8406
diff changeset
   290
7ba7a8ebe38c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8406
diff changeset
   291
    "
7ba7a8ebe38c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8406
diff changeset
   292
     Color red inspect
7ba7a8ebe38c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8406
diff changeset
   293
    "
8406
445174a4db22 #inspectorExtraAttributes
Stefan Vogel <sv@exept.de>
parents: 7754
diff changeset
   294
! !
445174a4db22 #inspectorExtraAttributes
Stefan Vogel <sv@exept.de>
parents: 7754
diff changeset
   295
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   296
!CompositeChange methodsFor:'utilities'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   297
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   298
condenseChangesForRemoved
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   299
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   300
    self changes condenseChangesForRemoved
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   301
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   302
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   303
!CompositeChange methodsFor:'private'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   304
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   305
flattenOnto: aCollection
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   306
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   307
    changes do:[:change|change flattenOnto: aCollection]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   308
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   309
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   310
!CompositeChange methodsFor:'accessing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   311
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   312
removed
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   313
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   314
    ^changes allSatisfy: [:e|e removed]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   315
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   316
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   317
!CompositeChange methodsFor:'accessing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   318
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   319
removed: aBoolean
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   320
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   321
    changes do:[:e|e removed: aBoolean]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   322
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   323
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   324
!CompositeRefactoryChange methodsFor:'utilities'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   325
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   326
condenseChangesForRemoved
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   327
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   328
    changes := 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   329
        changes reject:
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   330
            [:chg|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   331
            chg isCompositeChange ifTrue:[chg condenseChangesForRemoved].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   332
            chg removed]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   333
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   334
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   335
!CompositeRefactoryChange methodsFor:'user interface'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   336
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   337
inspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   338
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   339
    ^super inspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   340
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   341
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   342
        CompositeRefactoryChangeInspector openOn: self
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   343
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   344
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   345
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   346
!CompositeRefactoryChange methodsFor:'testing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   347
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   348
isComplexRefactoryChange
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   349
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   350
    ^changes size > 1
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   351
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   352
    "Created: / 26-11-2008 / 11:56:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   353
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   354
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   355
!CompositeRefactoryChange methodsFor:'testing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   356
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   357
isCompositeChange
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   358
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   359
    ^true
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   360
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   361
    "Created: / 26-11-2008 / 11:34:56 / Jan Vrany <vranyj1@fel.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   362
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   363
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   364
!CompositeRefactoryChange methodsFor:'testing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   365
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   366
isCompositeRefactoryChange
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   367
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   368
    ^true
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   369
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   370
    "Created: / 26-11-2008 / 11:34:56 / Jan Vrany <vranyj1@fel.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   371
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   372
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   373
!CompositeRefactoryChange methodsFor:'accessing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   374
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   375
removed
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   376
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   377
    ^changes allSatisfy: [:e|e removed]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   378
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   379
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   380
!CompositeRefactoryChange methodsFor:'accessing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   381
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   382
removed: aBoolean
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   383
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   384
    changes do:[:e|e removed: aBoolean]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   385
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   386
9691
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
   387
!Date methodsFor:'inspecting'!
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
   388
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
   389
inspectorExtraAttributes
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
   390
    "extra (pseudo instvar) entries to be shown in an inspector."
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
   391
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
   392
    ^ Dictionary new
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
   393
        declareAllNewFrom:(super inspectorExtraAttributes ? #());
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
   394
        add:'-dayInWeek' -> [ self dayInWeek printString , ' "', self dayOfWeekName , '"' ];
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
   395
        add:'-dayInYear' -> [ self dayInYear ];
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
   396
        add:'-daysInMonth' -> [ self daysInMonth ];
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
   397
        add:'-monthName' -> [ self monthName ];
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
   398
        add:'-leapYear' -> [ self isLeapYear ];
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
   399
        yourself
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
   400
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
   401
    "
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
   402
     Date today inspect
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
   403
    "
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
   404
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
   405
    "Created: / 20-01-2011 / 12:19:05 / cg"
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
   406
! !
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
   407
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   408
!Dictionary methodsFor:'inspecting'!
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   409
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   410
inspectorClass
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   411
    "redefined to use DictionaryInspector
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   412
     (instead of the default Inspector)."
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   413
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   414
    ^ DictionaryInspectorView
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   415
! !
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   416
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   417
!DoWhatIMeanSupport class methodsFor:'code completion-helpers'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   418
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   419
askUserForCompletion:what for:codeView at:position from:allTheBest 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   420
    |list choice lastChoice|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   421
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   422
    allTheBest isEmpty ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   423
        ^ nil
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   424
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   425
    allTheBest size == 1 ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   426
        ^ allTheBest first
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   427
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   428
    list := allTheBest.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   429
    LastChoices notNil ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   430
        lastChoice := LastChoices at:what ifAbsent:nil.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   431
        lastChoice notNil ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   432
            list := 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   433
                    { lastChoice.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   434
                    nil } , (list copyWithout:lastChoice).
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   435
        ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   436
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   437
    choice := Tools::CodeCompletionMenu 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   438
                openFor:codeView
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   439
                at:position
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   440
                with:allTheBest.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   441
    LastChoices isNil ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   442
        LastChoices := Dictionary new.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   443
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   444
    LastChoices at:what put:choice.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   445
    ^ choice
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   446
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   447
    "Created: / 16-02-2010 / 10:09:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   448
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   449
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   450
!DoWhatIMeanSupport class methodsFor:'code completion-helpers'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   451
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   452
codeCompletionForLiteralSymbol:node inClass:classOrNil codeView:codeView
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   453
    |sym possibleCompletions best start stop oldLen newLen oldVar|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   454
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   455
    sym := node value.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   456
    possibleCompletions := OrderedCollection new.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   457
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   458
    Symbol allInstancesDo:[:existingSym |
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   459
        (existingSym startsWith:sym) ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   460
            (existingSym = sym) ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   461
                possibleCompletions add:existingSym
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   462
            ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   463
        ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   464
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   465
    possibleCompletions sort.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   466
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   467
    best := possibleCompletions longestCommonPrefix.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   468
    (best = sym or:[(possibleCompletions includes:best) not]) ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   469
        best := self askUserForCompletion:'symbol literal' for:codeView at: node start from:possibleCompletions.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   470
        best isNil ifTrue:[^ self].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   471
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   472
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   473
"/ self showInfo:best.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   474
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   475
    start := node start.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   476
    stop := node stop.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   477
    (codeView characterAtCharacterPosition:start) == $# ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   478
        start := start + 1.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   479
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   480
    (codeView characterAtCharacterPosition:start) == $' ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   481
        start := start + 1.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   482
        stop := stop - 1.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   483
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   484
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   485
    oldVar := (codeView textFromCharacterPosition:start to:stop) asString string withoutSeparators.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   486
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   487
    codeView
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   488
        undoableDo:[ codeView replaceFromCharacterPosition:start to:stop with:best ]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   489
        info:'Completion'.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   490
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   491
    (best startsWith:oldVar) ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   492
        oldLen := stop - start + 1.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   493
        newLen := best size.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   494
        codeView selectFromCharacterPosition:start+oldLen to:start+newLen-1.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   495
        codeView dontReplaceSelectionOnInput
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   496
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   497
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   498
    "Modified: / 16-02-2010 / 10:15:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   499
    "Modified (format): / 03-07-2011 / 15:58:45 / cg"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   500
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   501
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   502
!DoWhatIMeanSupport class methodsFor:'code completion-helpers'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   503
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   504
codeCompletionForMessage:node inClass:cls codeView:codeView
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   505
    |selector srchClass implClass 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   506
     bestSelectors selector2 bestSelectors2 allBest best info numArgs
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   507
     newParts nSelParts oldLen newLen selectorParts 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   508
     findBest parentNode selectorInBest selector2InBest2
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   509
     parser selectorsSentInCode split|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   510
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   511
    parser := Parser parseMethod:codeView contents string in:cls ignoreErrors:true ignoreWarnings:true.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   512
    selectorsSentInCode := parser messagesSent.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   513
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   514
    findBest := [:node :selector |
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   515
        |srchClass bestSelectors bestPrefixes|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   516
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   517
        srchClass := self lookupClassForMessage:node inClass:cls.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   518
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   519
        srchClass notNil ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   520
            bestSelectors := Parser findBest:30 selectorsFor:selector in:srchClass forCompletion:true.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   521
        ] ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   522
            codeView topView withCursor:(Cursor questionMark) do:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   523
                bestSelectors := Parser findBest:30 selectorsFor:selector in:nil forCompletion:true.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   524
            ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   525
        ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   526
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   527
        (bestSelectors includes:selector) ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   528
            bestSelectors := bestSelectors select:[:sel | sel size > selector size].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   529
        ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   530
        bestSelectors
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   531
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   532
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   533
    selector := node selector.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   534
    bestSelectors := findBest value:node value:selector.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   535
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   536
    parentNode := node parent.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   537
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   538
    "/ if its a unary message AND the parent is a keyword node, look for parent completion too.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   539
    (node selector isUnarySelector 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   540
    and:[ parentNode notNil 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   541
    and:[ parentNode isMessage 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   542
    and:[ (selector2 := parentNode selector) isKeywordSelector ]]]) ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   543
        "/ srchClass2 := self lookupClassForMessage:parentNode inClass:cls.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   544
        selector2 := selector2,selector.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   545
        bestSelectors2 := findBest value:parentNode value:selector2.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   546
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   547
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   548
    bestSelectors2 isEmptyOrNil ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   549
        allBest := bestSelectors.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   550
    ] ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   551
        bestSelectors isEmptyOrNil ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   552
            allBest := bestSelectors2
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   553
        ] ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   554
            selectorInBest := (bestSelectors contains:[:sel | sel asLowercase startsWith:selector asLowercase]).
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   555
            selector2InBest2 := (bestSelectors2 contains:[:sel | sel asLowercase startsWith:selector2 asLowercase]).
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   556
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   557
            (selectorInBest not and:[ selector2InBest2 ]) ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   558
                "/ selector2 is more likely
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   559
                allBest := bestSelectors2
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   560
            ] ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   561
                (selectorInBest and:[ selector2InBest2 not ]) ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   562
                    "/ selector more likely
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   563
                    allBest := bestSelectors
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   564
                ] ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   565
                    "/ assume same likelyness
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   566
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   567
                    allBest := bestSelectors isEmpty 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   568
                                ifTrue:[ bestSelectors2 ]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   569
                                ifFalse:[ bestSelectors , #(nil) , bestSelectors2 ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   570
                ]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   571
            ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   572
        ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   573
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   574
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   575
    allBest isEmptyOrNil ifTrue:[ ^ self ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   576
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   577
    split := [:list :splitHow |
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   578
        |part1 part2 all|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   579
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   580
        part1 := list select:splitHow.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   581
        part2 := list reject:splitHow.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   582
        part1 isEmpty ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   583
            all := part2.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   584
        ] ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   585
            part2 isEmpty ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   586
                all := part1.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   587
            ] ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   588
                all := part1 , part2.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   589
            ]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   590
        ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   591
        all
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   592
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   593
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   594
    "/ the ones already sent in the code are moved to the top of the list.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   595
    allBest := split value:allBest value:[:sel | selectorsSentInCode includes:sel].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   596
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   597
    "/ the ones which are a prefix are moved towards the top of the list
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   598
    allBest := split value:allBest value:[:sel | sel notNil and:[sel startsWith:selector]].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   599
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   600
    best := allBest first.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   601
    allBest size > 1 ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   602
        "allBest size < 20 ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   603
            |idx|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   604
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   605
            idx := (PopUpMenu labels:allBest) startUp.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   606
            idx == 0 ifTrue:[ ^ self].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   607
            best := allBest at:idx.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   608
        ] ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   609
            best := Dialog request:'Matching selectors:' initialAnswer:best list:allBest.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   610
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   611
        ]."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   612
        best := self askUserForCompletion:'selector' for:codeView at: node selectorParts first start from:allBest.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   613
        best isEmptyOrNil ifTrue:[^ self].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   614
        best = '-' ifTrue:[^ self].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   615
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   616
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   617
false ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   618
    srchClass notNil ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   619
        implClass := srchClass whichClassIncludesSelector:best.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   620
    ] ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   621
        implClass := Smalltalk allClasses select:[:cls | (cls includesSelector:best) or:[cls class includesSelector:best]].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   622
        implClass size == 1 ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   623
            implClass := implClass first.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   624
        ] ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   625
            implClass := nil
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   626
        ]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   627
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   628
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   629
    info := best storeString.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   630
    implClass notNil ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   631
        info := implClass name , ' >> ' , info.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   632
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   633
    self information:info.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   634
].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   635
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   636
    best ~= selector ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   637
        numArgs := best numArgs.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   638
        (bestSelectors2 notEmptyOrNil and:[bestSelectors2 includes:best]) ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   639
            selectorParts := parentNode selectorParts , node selectorParts.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   640
        ] ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   641
            selectorParts := node selectorParts.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   642
        ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   643
        nSelParts := selectorParts size.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   644
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   645
        newParts := best asCollectionOfSubstringsSeparatedBy:$:.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   646
        newParts := newParts select:[:part | part size > 0].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   647
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   648
        codeView
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   649
            undoableDo:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   650
                |newCursorPosition stop|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   651
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   652
                numArgs > nSelParts ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   653
                    stop := selectorParts last stop.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   654
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   655
                    "/ append the rest ...
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   656
                    numArgs downTo:nSelParts+1 do:[:idx |
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   657
                        |newPart|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   658
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   659
                        newPart := newParts at:idx.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   660
                        (best endsWith:$:) ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   661
                            newPart := newPart , ':'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   662
                        ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   663
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   664
                        (codeView characterAtCharacterPosition:stop) == $: ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   665
                            newPart := ':' , newPart.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   666
                        ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   667
                        newPart := (codeView characterAtCharacterPosition:stop) asString , newPart.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   668
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   669
                        codeView replaceFromCharacterPosition:stop to:stop with:newPart.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   670
                        newCursorPosition isNil ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   671
                            newCursorPosition := stop + newPart size.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   672
                        ]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   673
                    ]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   674
                ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   675
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   676
                (nSelParts min:newParts size) downTo:1 do:[:idx |
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   677
                    |newPart oldPartialToken start stop|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   678
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   679
                    newPart := newParts at:idx.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   680
                    oldPartialToken := selectorParts at:idx.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   681
                    start := oldPartialToken start.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   682
                    stop := oldPartialToken stop.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   683
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   684
                    (best endsWith:$:) ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   685
                        (codeView characterAtCharacterPosition:stop+1) == $: ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   686
                            newPart := newPart , ':'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   687
                        ]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   688
                    ] ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   689
                        (codeView characterAtCharacterPosition:stop) == $: ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   690
                            newPart := newPart , ':'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   691
                        ] ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   692
                            (codeView characterAtCharacterPosition:stop+1) isSeparator ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   693
                                newPart := newPart , ' '
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   694
                            ]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   695
                        ]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   696
"/                            codeView replaceFromCharacterPosition:start to:stop with:(newPart , ':').
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   697
"/                        ] ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   698
"/                            codeView replaceFromCharacterPosition:start to:stop with:newPart.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   699
                    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   700
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   701
                    codeView replaceFromCharacterPosition:start to:stop with:newPart.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   702
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   703
                    oldLen := stop - start + 1.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   704
                    newLen := newPart size.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   705
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   706
"/                     codeView selectFromCharacterPosition:start+oldLen to:start+newLen-1.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   707
                    newCursorPosition isNil ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   708
                        newCursorPosition := stop + (newLen-oldLen).
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   709
                    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   710
                ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   711
                codeView cursorToCharacterPosition:newCursorPosition.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   712
                codeView cursorRight.  "/ avoid going to the next line !!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   713
                codeView dontReplaceSelectionOnInput.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   714
            ]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   715
        info:'Completion'.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   716
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   717
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   718
    "Created: / 10-11-2006 / 13:18:27 / cg"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   719
    "Modified: / 16-02-2010 / 10:33:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   720
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   721
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   722
!DoWhatIMeanSupport class methodsFor:'code completion-helpers'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   723
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   724
codeCompletionForMethod:node inClass:cls codeView:codeView
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   725
    "completion in a methods selector pattern"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   726
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   727
    |crsrPos
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   728
     selectorSoFar matchingSelectors
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   729
     selectors distances best rest 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   730
     allExistingMethods namesOfArguments 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   731
     nameBag namesByCount|  
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   732
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   733
    crsrPos := codeView characterPositionOfCursor - 1.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   734
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   735
    selectorSoFar := ''.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   736
    node selectorParts doWithIndex:[:partToken :argNr|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   737
        |part|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   738
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   739
        part := partToken value.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   740
        selectorSoFar := selectorSoFar , part.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   741
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   742
        (crsrPos >= partToken start
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   743
        and:[crsrPos <= partToken stop]) ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   744
            matchingSelectors := Smalltalk allClasses
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   745
                                    inject:(Set new)
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   746
                                    into:[:theSet :eachClass |
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   747
                                        |md|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   748
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   749
                                        cls isMeta ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   750
                                            md := eachClass theMetaclass methodDictionary
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   751
                                        ] ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   752
                                            md := eachClass theNonMetaclass methodDictionary
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   753
                                        ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   754
                                        theSet addAll:(md keys select:[:sel |sel startsWith:selectorSoFar]).
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   755
                                        theSet.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   756
                                    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   757
            selectors := matchingSelectors asOrderedCollection.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   758
            "/ if there is only one, and user has already entered it, he might want to complete the argument-name    
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   759
            (selectors size == 1 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   760
            and:[selectors first = selectorSoFar]) ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   761
                allExistingMethods := (Smalltalk allImplementorsOf:selectorSoFar asSymbol)
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   762
                                            collect:[:cls | cls compiledMethodAt:selectorSoFar asSymbol].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   763
                namesOfArguments := allExistingMethods collect:[:eachMethod | eachMethod methodArgNames].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   764
                nameBag := Bag new.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   765
                namesOfArguments do:[:eachNameVector | nameBag add:(eachNameVector at:argNr)].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   766
                namesByCount := nameBag valuesAndCounts sort:[:a :b | a value < b value].   
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   767
                "/ take the one which occurs most often     
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   768
                best := self askUserForCompletion:'argument' for:codeView at: node start from:(namesByCount collect:[:a | a key]).
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   769
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   770
                codeView
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   771
                    undoableDo:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   772
                        (crsrPos+1) >= codeView contents size ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   773
                            codeView paste:best.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   774
                        ] ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   775
                            codeView insertString:best atCharacterPosition:crsrPos+1.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   776
                        ]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   777
                    ]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   778
                    info:'completion'.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   779
                codeView cursorToCharacterPosition:(crsrPos + best size - 1).    
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   780
            ] ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   781
                distances := selectors collect:[:each | each spellAgainst:selectorSoFar].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   782
                distances sortWith:selectors.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   783
                selectors reverse.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   784
                best := self askUserForCompletion:'selector' for:codeView at: node start from:selectors.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   785
                best isNil ifTrue:[^ self].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   786
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   787
                rest := best copyFrom:selectorSoFar size.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   788
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   789
                codeView
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   790
                    undoableDo:[ 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   791
                        codeView 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   792
                            replaceFromCharacterPosition:crsrPos 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   793
                            to:crsrPos 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   794
                            with:rest 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   795
                    ]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   796
                    info:'Completion'.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   797
                codeView cursorToCharacterPosition:(crsrPos + rest size - 1).    
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   798
            ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   799
            codeView cursorRight. "/ kludge to make it visible   
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   800
        ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   801
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   802
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   803
    "Modified: / 04-07-2006 / 18:48:26 / fm"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   804
    "Created: / 10-11-2006 / 13:46:44 / cg"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   805
    "Modified: / 16-02-2010 / 10:13:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   806
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   807
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   808
!DoWhatIMeanSupport class methodsFor:'input completion support'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   809
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   810
methodProtocolCompletion:aPartialProtocolName inEnvironment:anEnvironment
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   811
    "given a partial method protocol name, return an array consisting of
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   812
     2 entries: 1st: the best (longest) match 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   813
                2nd: collection consisting of matching protocols"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   814
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   815
    |matches best lcName|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   816
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   817
    matches := IdentitySet new.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   818
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   819
    "/ search for exact match
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   820
    anEnvironment allMethodsWithSelectorDo:[:eachMethod :eachSelector |
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   821
        |protocol|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   822
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   823
        protocol := eachMethod category.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   824
        (protocol notNil and:[protocol startsWith:aPartialProtocolName]) ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   825
            matches add:protocol
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   826
        ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   827
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   828
    matches isEmpty ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   829
        "/ search for case-ignoring match
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   830
        lcName := aPartialProtocolName asLowercase.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   831
        anEnvironment allMethodsWithSelectorDo:[:eachMethod :eachSelector |
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   832
            |protocol|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   833
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   834
            protocol := eachMethod category.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   835
            (protocol notNil and:[protocol asLowercase startsWith:lcName]) ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   836
                matches add:protocol
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   837
            ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   838
        ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   839
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   840
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   841
    matches isEmpty ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   842
        ^ Array with:aPartialProtocolName with:(Array with:aPartialProtocolName)
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   843
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   844
    matches size == 1 ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   845
        ^ Array with:matches first with:(matches asArray)
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   846
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   847
    matches := matches asSortedCollection.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   848
    best := matches longestCommonPrefix.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   849
    ^ Array with:best with:matches asArray
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   850
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   851
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   852
     Smalltalk methodProtocolCompletion:'doc'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   853
     Smalltalk methodProtocolCompletion:'docu' 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   854
     Smalltalk methodProtocolCompletion:'documenta' 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   855
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   856
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   857
    "Created: / 10-08-2006 / 13:05:27 / cg"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   858
    "Modified: / 16-03-2011 / 12:30:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   859
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   860
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   861
!DoWhatIMeanSupport class methodsFor:'code completion-helpers'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   862
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   863
old_askUserForCompletion:what for:codeView from:allTheBest
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   864
    |list resources choice lastChoice|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   865
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   866
    allTheBest isEmpty ifTrue:[ ^ nil ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   867
    allTheBest size == 1 ifTrue:[ ^ allTheBest first ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   868
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   869
    list := allTheBest.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   870
    LastChoices notNil ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   871
        lastChoice := LastChoices at:what ifAbsent:nil.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   872
        lastChoice notNil ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   873
            list := {lastChoice. nil. } , (list copyWithout:lastChoice).
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   874
        ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   875
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   876
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   877
    list size < 30 ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   878
        |menu idx exitKey|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   879
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   880
        menu := PopUpMenu labels:list.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   881
        menu hideOnKeyFilter:[:key | |hide|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   882
                hide := ( #( CursorDown CursorUp Escape Return ) includes: key) not.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   883
                hide ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   884
                    exitKey := key.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   885
                ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   886
                hide].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   887
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   888
        idx := menu startUp.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   889
        idx == 0 ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   890
            exitKey notNil ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   891
                codeView keyPress:exitKey x:0 y:0.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   892
            ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   893
            ^ nil
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   894
        ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   895
        choice := list at:idx.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   896
    ] ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   897
        resources := codeView application isNil 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   898
                        ifTrue:[ codeView resources]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   899
                        ifFalse:[ codeView application resources ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   900
                    
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   901
        choice := Dialog
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   902
           choose:(resources string:'Choose ',what)
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   903
           fromList:list
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   904
           lines:20
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   905
           title:(resources string:'Code completion').
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   906
        choice isNil ifTrue:[^ nil].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   907
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   908
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   909
    LastChoices isNil ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   910
        LastChoices := Dictionary new.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   911
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   912
    LastChoices at:what put:choice.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   913
    ^ choice
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   914
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   915
    "Created: / 16-02-2010 / 09:38:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   916
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   917
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   918
!EditTextView methodsFor:'accessing-dimensions'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   919
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   920
absoluteXOfPosition:positionInText 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   921
    |accumulatedX container|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   922
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   923
    accumulatedX := 0.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   924
    container := self.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   925
    [ container notNil ] whileTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   926
        accumulatedX := accumulatedX + container origin x.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   927
        container := container isTopView ifFalse:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   928
                    container container
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   929
                ] ifTrue:[ nil ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   930
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   931
    ^ (self xOfPosition:positionInText) + accumulatedX
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   932
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   933
    "Created: / 16-02-2010 / 10:05:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   934
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   935
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   936
!EditTextView methodsFor:'accessing-dimensions'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   937
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   938
absoluteYOfCursor
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   939
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   940
    | accumulatedY container |
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   941
    accumulatedY := 0.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   942
    container := self.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   943
    [ container notNil ] whileTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   944
        accumulatedY := accumulatedY + container origin y.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   945
        container := container isTopView 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   946
            ifFalse:[container container]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   947
            ifTrue:[nil].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   948
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   949
    ^(self yOfCursor) + accumulatedY
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   950
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   951
    "Created: / 27-05-2005 / 07:45:53 / janfrog"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   952
    "Modified: / 27-05-2005 / 23:03:40 / janfrog"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   953
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   954
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   955
!EditTextView methodsFor:'accessing-dimensions'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   956
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   957
xOfPosition: positionInText
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   958
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   959
    | line col |
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   960
    line := self lineOfCharacterPosition: positionInText.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   961
    col  := positionInText - (self characterPositionOfLine:line col:1) + 1.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   962
    ^
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   963
        (self xOfCol:col inVisibleLine:(self listLineToVisibleLine: line))
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   964
            - viewOrigin x.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   965
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   966
    "Created: / 16-02-2010 / 10:04:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   967
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   968
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   969
!EditTextView methodsFor:'accessing-dimensions'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   970
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   971
yOfCursor
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   972
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   973
    ^self yOfVisibleLine:cursorVisibleLine.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   974
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   975
    "Created: / 27-05-2005 / 07:43:41 / janfrog"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   976
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   977
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   978
!EditTextView methodsFor:'accessing-dimensions'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   979
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   980
yOfPosition: positionInText
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   981
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   982
    | line |
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   983
    line := self lineOfCharacterPosition: positionInText.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   984
    ^self yOfVisibleLine:(self listLineToVisibleLine: line)
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   985
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   986
    "Created: / 16-02-2010 / 10:08:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   987
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
   988
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   989
!ExecutableFunction methodsFor:'printing & storing'!
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   990
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   991
printStringForBrowserWithSelector:selector
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   992
    "return a printString to represent myself to the user in a browser."
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   993
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   994
    ^ self printStringForBrowserWithSelector:selector inClass:nil
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   995
! !
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   996
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   997
!Form methodsFor:'inspecting'!
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   998
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
   999
inspectorClass
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1000
    "redefined to launch an ImageInspector
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1001
     (instead of the default InspectorView)."
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1002
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1003
    ^ ImageInspectorView
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1004
! !
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1005
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1006
!GenericToolbarIconLibrary class methodsFor:'image specs-22x22'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1007
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1008
bookmarks22x22
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1009
    "This resource specification was automatically generated
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1010
     by the ImageEditor of ST/X."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1011
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1012
    "Do not manually edit this!! If it is corrupted,
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1013
     the ImageEditor may not be able to read the specification."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1014
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1015
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1016
     self bookmarks22x22 inspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1017
     ImageEditor openOnClass:self andSelector:#bookmarks22x22
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1018
     Icon flushCachedIcons
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1019
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1020
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1021
    <resource: #image>
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1022
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1023
    ^Icon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1024
        constantNamed:'GenericToolbarIconLibrary class bookmarks22x22'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1025
        ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1026
????????????????????????????????????????????????????????????????????????LT;??????????????????????????6BAD/??????????????
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1027
?????????16L''"+???????????????????????<7''95Y????????????????????????YI2[_!!C?????????????????????GXZZ&Y\0????????????I$YF
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1028
Q$YFQUBX%)VRZ%YAO34=OR????=T#9RT$9FP#(6K"(VB_718]U0%????FC)9"X"G!!HN@_W]4\V=)YT@E????????J&Y;^''Y3\''A-ZFI_UR8A??????????<Q
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1029
SF9,Z6]#WU!!SQBW??????????????1YWXU9ZTT5IP2K???????????????<)V5IOR$\>NS (????????????????M$-HP#,3KB\ZE07?????????????GST<
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1030
MB4$GATNB0(]?????????????142J18[@O<RC0XCD?????????????<!!H1$G?????1@T@ $H????????????G2@D?????????14L????????????????????
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1031
?????????????????????????????????????????????0@a') ; colorMapFromArray:#[143 162 38 146 165 38 153 167 24 155 168 21 149 168 39 149 169 39 156 169 21 151 170 40 151 171 40 156 171 30 159 173 22 160 174 20 156 174 34 154 175 41 162 176 20 159 176 32 156 176 41 156 177 41 157 177 41 159 178 37 159 178 38 163 179 26 158 179 42 163 180 27 159 180 42 162 180 35 166 181 20 160 181 40 161 181 39 160 181 42 165 181 28 162 181 37 161 181 40 162 181 38 161 181 41 168 181 23 162 182 36 161 182 41 161 182 43 168 183 20 163 183 35 162 183 41 162 183 42 170 184 22 169 185 20 169 185 23 164 185 38 164 185 40 164 185 42 164 185 43 171 186 24 171 187 21 172 187 22 170 187 29 168 187 35 165 187 44 171 188 19 173 190 19 168 189 44 174 190 21 174 190 22 170 192 37 176 192 20 170 192 38 171 193 33 171 193 38 177 193 21 176 194 19 174 194 26 172 193 47 172 193 48 178 195 20 179 195 21 179 197 19 180 197 20 180 197 21 176 197 38 181 199 19 177 199 46 183 201 20 179 200 50 184 202 19 185 202 21 184 203 18 180 201 50 183 204 21 181 203 37 184 204 27 185 205 18 181 204 45 187 205 19 187 205 21 183 206 27 187 208 18 189 208 20 189 210 17 186 208 51 191 210 20 190 211 17 190 211 19 187 209 53 191 213 17 190 211 43 193 213 19 193 214 17 194 216 16 192 215 38 195 216 20 196 217 25 196 218 18 196 217 28 196 219 17 198 220 18 199 221 17 200 222 23 201 222 28 201 224 17 200 225 16 203 223 33 203 225 20 202 226 16 202 223 51 204 224 38 204 224 41 203 227 16 204 226 26 203 226 47 204 229 16 206 227 34 203 227 53 206 230 21 207 228 39 208 228 43 207 231 26 207 228 60 209 229 48 209 229 51 210 229 52 209 232 33 210 232 39 209 231 58 211 233 46 212 234 52 213 233 63 213 234 56 214 235 59 214 237 41 215 235 62 215 235 64 215 238 49 217 238 55 217 240 46 218 239 61 219 242 53 220 242 59 222 245 56 223 245 62 224 248 57 224 248 58 224 248 64 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@C@@@C @@G @@G @@G0@@O0@_??8O??8O??0C?? A?>@@?<@@?<@@?>@A?>@A>>@A8_@A0F@@@@@@@@@') ; yourself); yourself]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1032
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1033
    "Modified: / 05-05-2011 / 12:45:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1034
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1035
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1036
!GenericToolbarIconLibrary class methodsFor:'image specs - org.eclipse.debug.ui - obj16'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1037
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1038
brkp_obj
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1039
    "This resource specification was automatically generated
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1040
     by the ImageEditor of ST/X."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1041
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1042
    "Do not manually edit this!! If it is corrupted,
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1043
     the ImageEditor may not be able to read the specification."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1044
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1045
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1046
     self brkp_obj inspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1047
     ImageEditor openOnClass:self andSelector:#brkp_obj
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1048
     Icon flushCachedIcons
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1049
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1050
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1051
    <resource: #image>
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1052
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1053
    ^Icon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1054
        constantNamed:'GenericToolbarIconLibrary class brkp_obj'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1055
        ifAbsentPut:[(Depth8Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(8)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1056
D1LSD1LSD1LSD1LSD1LSD1LSD1LSD1LSD1LSD1LSD1LSD1LSD1LSD1L@@ALSD1LSD1LSD1LS@@@@@@@@D1LSD1LSD0@S@@(C@ LJ@ALSD1LSD1L@@@<ABP,I
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1057
@P<@D1LSD1LS@@@CBADQDP C@ALSD1LSD1L@@ PMCAHD@ @SD1LSD1LS@@LEC 8NAPL@D1LSD1LS@@@O@PXPA0DO@ALSD1LSD1LS@@(C@ LJ@@@SD1LSD1LS
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1058
D0@@@@@@@ALSD1LSD1LSD1LSD1LSD1LSD1LSD1LSD1LSD1LSD1LSD1LSD1LSD1LSD1LSD1LSD1LSD1LSD1LSD1LSD1LSD1LS@@@@@@@@@@@@@@@@@@@@@@@@
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1059
@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[255 252 255 46 85 127 38 78 114 54 98 139 108 165 203 107 159 195 131 175 205 130 174 204 130 172 200 152 185 208 169 202 225 180 209 229 83 149 190 90 154 194 115 169 204 144 188 216 145 188 215 152 193 219 89 154 192 255 255 255]; mask:((ImageMask new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@C8@_0A?@G<@_0A?@C8@@@@@@@@@@@@@@b') ; yourself); yourself]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1060
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1061
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1062
!GenericToolbarIconLibrary class methodsFor:'image specs - org.eclipse.debug.ui - obj16'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1063
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1064
brkpd_obj
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1065
    "This resource specification was automatically generated
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1066
     by the ImageEditor of ST/X."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1067
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1068
    "Do not manually edit this!! If it is corrupted,
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1069
     the ImageEditor may not be able to read the specification."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1070
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1071
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1072
     self brkpd_obj inspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1073
     ImageEditor openOnClass:self andSelector:#brkpd_obj
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1074
     Icon flushCachedIcons
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1075
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1076
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1077
    <resource: #image>
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1078
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1079
    ^Icon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1080
        constantNamed:'GenericToolbarIconLibrary class brkpd_obj'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1081
        ifAbsentPut:[(Depth8Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(8)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1082
B0,KB0,KB0,KB0,KB0,KB0,KB0,KB0,KB0,KB0,KB0,KB0,KB0,KB0,K@@@KB0,KB0,K@@,K@@@@@@@@B0,KB0,KB0@@@@LEA0TC@@,KB0,KB0,@@@LH@@@@
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1083
B@L@B0,KB0,K@@@I@@@@@@@I@@,KB0,KB0@@@P@@@@@@@P@KB0,KB0,K@@$@@@@@@@$@B0,KB0,KB0@DA @@@@XD@@@KB0,KB0,K@@PJ@P(D@@,@B0,KB0,@
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1084
@@@@@@@@@@,K@@,KB0,KB0,KB0,KB0,KB0,KB0,KB0,KB0,KB0,KB0,KB0,KB0,KB0,KB0,KB0,KB0,KB0,KB0,KB0,KB0,KB0,KB0@@@@@@@@@@@@@@@@@@
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1085
@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[227 235 248 79 80 79 255 255 255 201 201 201 182 182 182 135 135 135 122 122 122 105 105 105 103 103 103 98 98 98 85 85 85 255 255 255]; mask:((ImageMask new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@C8@]0A#@DD@X0A7@C8@@@@@@@@@@@@@@b') ; yourself); yourself]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1086
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1087
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1088
!GenericToolbarIconLibrary class methodsFor:'image specs-16x16'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1089
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1090
bug16x16Icon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1091
    "This resource specification was automatically generated
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1092
     by the ImageEditor of ST/X."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1093
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1094
    "Do not manually edit this!! If it is corrupted,
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1095
     the ImageEditor may not be able to read the specification."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1096
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1097
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1098
     self bug16x16Icon inspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1099
     ImageEditor openOnClass:self andSelector:#bug16x16Icon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1100
     Icon flushCachedIcons
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1101
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1102
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1103
    <resource: #image>
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1104
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1105
    ^Icon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1106
        constantNamed:'GenericToolbarIconLibrary class bug16x16Icon'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1107
        ifAbsentPut:[(Depth8Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(8)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1108
???????????????????????????????????????????????????3R/??????????????????O"_???????????????????7=?#J1???????????=???=IBP$
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1109
?_????????????7=W5=_W5?=O/7???????>L?PLC@0LC?_????????7=/4S[7S 8TY/=?VC?????L#L.>JI3I+A%H#[?????GA3_]U*/M3_;BPRLD_????7=
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1110
?_B@M>DE-04>?U/??????2_=HEXYQ7:R<Q_???????4>G2$%Q9QEL?5_??????????<=?\;M??????????????????=-H????????0@a') ; colorMapFromArray:#[205 205 205 227 35 35 106 106 106 98 98 98 135 135 135 163 34 34 101 5 5 124 124 124 48 2 2 227 11 11 173 173 173 218 54 54 241 241 241 235 19 19 225 225 225 219 18 18 245 58 58 214 214 214 249 46 46 90 90 90 254 61 61 36 36 36 176 176 176 233 233 233 114 114 114 255 78 78 212 33 33 230 57 57 61 61 61 94 94 94 76 76 76 19 19 19 255 57 57 161 161 161 83 83 83 217 217 217 249 249 249 255 65 65 139 2 2 27 27 27 169 169 169 253 53 53 210 28 28 251 251 251 154 154 154 117 117 117 195 1 1 245 245 245 145 145 145 218 5 5 230 230 230 69 2 2 181 181 181 11 11 11 141 141 141 249 61 61 205 21 21 165 165 165 157 157 157 241 28 28 223 223 223 109 109 109 2 2 2 245 45 45 146 0 0 69 69 69 137 137 137 140 40 40 188 1 1 206 24 24 219 33 33 255 76 76 249 49 49 249 56 56 236 236 236 121 121 121 248 53 53 171 1 1 111 40 40 237 41 41 178 21 21 205 16 16 129 129 129 163 1 1 155 18 18 85 4 4 243 68 68 73 73 73 45 45 45 202 51 51 241 40 40 86 86 86 114 1 1 210 4 4 246 41 41 148 148 148 189 189 189 209 209 209 210 17 17 158 28 28 213 5 5 205 1 1 53 53 53 217 9 9 69 40 40 187 10 10 255 74 74 218 28 28 146 11 11 65 65 65 232 37 37 101 101 101 196 26 26 245 53 53 188 26 26 213 10 10 184 184 184 206 5 5 249 65 65 172 21 21 206 34 34 195 195 195 237 32 32 131 12 12 233 29 29 179 36 36 241 37 37 139 13 13 245 49 49 180 1 1 168 37 37 198 198 198 202 202 202 228 21 21 206 10 10 206 29 29 229 30 30 255 80 80 188 20 20 245 37 37 57 57 57 252 50 50 87 42 42 172 10 10 209 13 13 155 4 4 164 11 11 242 44 44 255 70 70 225 25 25 222 14 14 237 24 24 240 49 49 205 13 13 202 44 44 201 0 0 225 17 17 186 42 42 255 72 72 122 1 1 40 40 40 157 10 10 209 8 8 222 8 8 195 41 41 223 21 21 180 11 11 255 68 68 162 28 28 194 11 11 232 25 25 131 1 1 241 32 32 246 246 246 49 49 49 224 44 44 208 2 2 227 227 227 239 239 239 239 46 46 162 20 20 245 33 33 219 219 219 238 29 29 237 37 37 171 29 29 36 46 46 250 68 68 147 16 16 182 26 26 187 187 187 24 1 1 185 32 32 229 24 24 232 33 33 150 150 150 122 12 12 229 17 17 204 27 27 242 52 52 213 2 2 200 15 15 191 191 191 217 43 43 217 12 12 115 10 10 140 16 16 200 28 28 202 6 6 215 13 13 182 41 41 57 46 46 40 46 46 233 40 40 252 70 70 173 40 40 226 28 28 46 54 54 202 22 22 203 18 18 245 72 72 191 17 17 200 37 37 10 0 0 50 52 52 252 74 74 252 72 72 247 38 38 160 40 40 231 14 14 252 68 68 200 10 10 15 15 15 211 47 47 254 254 254 253 76 76 23 23 23 237 69 69 7 7 7 144 7 7 196 8 7 32 32 32 59 59 59 90 93 93 67 67 67 70 28 28 50 56 56 232 15 16 208 4 4 237 35 35 220 12 11 232 20 20 223 62 62 0 0 0 255 255 255 255 255 255]; mask:((ImageMask new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@L@@0@C8AO C?0O<C?>G?0??#?>C?0_?@O@@L@b') ; yourself); yourself]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1111
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1112
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1113
!GenericToolbarIconLibrary class methodsFor:'image specs-24x24'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1114
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1115
bug24x24Icon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1116
    "This resource specification was automatically generated
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1117
     by the ImageEditor of ST/X."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1118
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1119
    "Do not manually edit this!! If it is corrupted,
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1120
     the ImageEditor may not be able to read the specification."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1121
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1122
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1123
     self bug24x24Icon inspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1124
     ImageEditor openOnClass:self andSelector:#bug24x24Icon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1125
     Icon flushCachedIcons
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1126
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1127
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1128
    <resource: #image>
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1129
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1130
    ^Icon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1131
        constantNamed:'GenericToolbarIconLibrary class bug24x24Icon'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1132
        ifAbsentPut:[(Depth8Image new) width: 24; height: 24; photometric:(#palette); bitsPerSample:(#(8)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1133
??????????????????????????????????????????????????>6???????????????????????1???????=????????????????????????<4+????=????
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1134
????????????????????O"_???> ??????????????????????????7.?3;.?????????????????????????_4$?#K=,_????????????????7???=/?RP$
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1135
IBP$?_?????=????????MX3=???=L#H2L#H2?_7?XQW.???????????=?_7=W5=_W5=_W?7=O/7?????????????#O4''@0LC@0LC@?7=????????????????
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1136
?_6 PTEAPTEAPSW=?????????????_7=/4R[6=48NC!!"TY-M?_7=XO???????3H0L29%>JK/\2Z",FUDH#YJ????????????L9-$3N>%%ZW/YL!!D????????
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1137
????GA1W77W7V*<7M3\R>0%DAH0\D_???????_7=?_@M C_W8PTP-05MO/7=V???????B!!X4MX>WRW7WFPVZ"?//?1XV??????????<XI?7]HEXYFT]Y_)K=
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1138
<Q_???????????4XO!!?DJRU*Q9P%QSL5?U<-?????????3T5???=F$  EB@?L37?G3;=????????????????O_7D3,7=??????????????????????????<(
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1139
[RO?????????????????????????????????????????????') ; colorMapFromArray:#[205 205 205 227 35 35 106 106 106 98 98 98 135 135 135 163 34 34 101 5 5 124 124 124 48 2 2 227 11 11 173 173 173 218 54 54 241 241 241 235 19 19 225 225 225 219 18 18 245 58 58 214 214 214 249 46 46 90 90 90 254 61 61 36 36 36 176 176 176 233 233 233 114 114 114 255 78 78 212 33 33 230 57 57 61 61 61 94 94 94 76 76 76 19 19 19 255 57 57 161 161 161 83 83 83 217 217 217 249 249 249 255 65 65 139 2 2 27 27 27 169 169 169 253 53 53 210 28 28 251 251 251 154 154 154 117 117 117 195 1 1 245 245 245 145 145 145 218 5 5 230 230 230 69 2 2 181 181 181 11 11 11 141 141 141 249 61 61 205 21 21 165 165 165 157 157 157 241 28 28 223 223 223 109 109 109 2 2 2 245 45 45 146 0 0 69 69 69 137 137 137 140 40 40 188 1 1 206 24 24 219 33 33 255 76 76 249 49 49 249 56 56 236 236 236 121 121 121 248 53 53 171 1 1 111 40 40 237 41 41 178 21 21 205 16 16 129 129 129 163 1 1 155 18 18 85 4 4 243 68 68 73 73 73 45 45 45 202 51 51 241 40 40 86 86 86 114 1 1 210 4 4 246 41 41 148 148 148 189 189 189 209 209 209 210 17 17 158 28 28 213 5 5 205 1 1 53 53 53 217 9 9 69 40 40 187 10 10 255 74 74 218 28 28 146 11 11 65 65 65 232 37 37 101 101 101 196 26 26 245 53 53 188 26 26 213 10 10 184 184 184 206 5 5 249 65 65 172 21 21 206 34 34 195 195 195 237 32 32 131 12 12 233 29 29 179 36 36 241 37 37 139 13 13 245 49 49 180 1 1 168 37 37 198 198 198 202 202 202 228 21 21 206 10 10 206 29 29 229 30 30 255 80 80 188 20 20 245 37 37 57 57 57 252 50 50 87 42 42 172 10 10 209 13 13 155 4 4 164 11 11 242 44 44 255 70 70 225 25 25 222 14 14 237 24 24 240 49 49 205 13 13 202 44 44 201 0 0 225 17 17 186 42 42 255 72 72 122 1 1 40 40 40 157 10 10 209 8 8 222 8 8 195 41 41 223 21 21 180 11 11 255 68 68 162 28 28 194 11 11 232 25 25 131 1 1 241 32 32 246 246 246 49 49 49 224 44 44 208 2 2 227 227 227 239 239 239 239 46 46 162 20 20 245 33 33 219 219 219 238 29 29 237 37 37 171 29 29 36 46 46 250 68 68 147 16 16 182 26 26 187 187 187 24 1 1 185 32 32 229 24 24 232 33 33 150 150 150 122 12 12 229 17 17 204 27 27 242 52 52 213 2 2 200 15 15 191 191 191 217 43 43 217 12 12 115 10 10 140 16 16 200 28 28 202 6 6 215 13 13 182 41 41 57 46 46 40 46 46 233 40 40 252 70 70 173 40 40 226 28 28 46 54 54 202 22 22 203 18 18 245 72 72 191 17 17 200 37 37 10 0 0 50 52 52 252 74 74 252 72 72 247 38 38 160 40 40 231 14 14 252 68 68 200 10 10 15 15 15 211 47 47 254 254 254 253 76 76 23 23 23 237 69 69 7 7 7 144 7 7 196 8 7 32 32 32 59 59 59 90 93 93 67 67 67 70 28 28 50 56 56 232 15 16 208 4 4 237 35 35 220 12 11 232 20 20 223 62 62 0 0 0 255 255 255 255 255 255]; mask:((ImageMask new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@H@@HH@@FH@@FH@@CX@@G<@BO<HGO>8A??0@??@@??@G??<C??8@??@G??<G??<G??XA??0C??8CO>8@G8@@A0@@@@@') ; yourself); yourself]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1140
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1141
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1142
!GenericToolbarIconLibrary class methodsFor:'image specs-32x32'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1143
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1144
bug32x32Icon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1145
    <resource: #image>
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1146
    "This resource specification was automatically generated
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1147
     by the ImageEditor of ST/X."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1148
    "Do not manually edit this!! If it is corrupted,
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1149
     the ImageEditor may not be able to read the specification."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1150
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1151
     self bug3232Icon inspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1152
     ImageEditor openOnClass:self andSelector:#bug3232Icon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1153
     Icon flushCachedIcons"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1154
    
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1155
    ^ Icon constantNamed:'GenericToolbarIconLibrary class bug3232Icon'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1156
        ifAbsentPut:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1157
            (Depth8Image new)
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1158
                width:32;
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1159
                height:32;
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1160
                photometric:(#palette);
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1161
                bitsPerSample:(#( 8 ));
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1162
                samplesPerPixel:((1));
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1163
                bits:(ByteArray 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1164
                            fromPackedString:'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1165
??????????????????????????????????????????????????????????????????>6@/?????????????????????????????1H_????????4-????????
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1166
???????????????????????=?_??????O!!???????????????????????????????3W3R/?????=I????????????????????????????????38''?????:C?
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1167
??????????????????????????????????7.??<>;/???????????????????????????????????_7=?_7=????????????????????????????????[?7=
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1168
IO;>L/7=,_?????????????????????=?????6?=?RP$IBP$IO7=???????=????????????MX3=?????_42L#H2L#H2L/7=??=!!E^8Q????????????O.9K
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1169
?_7=@G%9^W%9^W%9JO7=O%K=O/???????????????_7=?_5_W5=_W5=_W5=_?_7=O/7??????????????????83=I0LC@0LC@0LC@0O=?SK?????????????
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1170
?????????_6 PTEAPTEAPTEAPSW=M_??????????????JC(SI?7= S#WP49(ZF"NS$N$]UO=?QU/@6G???????<-?_7=?[=D&5G[7S 8NC!!"65F[S_7=?_4U
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1171
XO??????????L#C4L29%,O"";7M3I*K8,FUD?RH6R/????????????????<3&6Q''3N>%%YV%;6]$2DS=????????????????????(@#8(92*/KN3,4=T0YZ#
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1172
K/40?????????????0P\GE]X77W7*%*/M3\7M1K9>0%D?PRLGB\Q????????<_7=?S;=<@5> C_W8^DEDC>7CT7=O/7=<U/?????????B!!X4?3VO%59I_]\Y
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1173
FPVZSH/;;8O?E!!Y9????????????????I<SAD#^BFX&IFVMI86H3H/??????????????????FB4''?]5^HEXY"Q%GVR%>$/4^<Q_???????????????4X?S8_
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1174
1DX)IV)GQ9P%D$T3MS;=W27?????????????MST!!???=1A)HHBTTHC?FL37??1<>?_?????????????????????=A''KUO9M.]0# ?????1_?????????????
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1175
??????????<=?\SN3,7=H???????????????????????????????????JFY-H???????????????????????????????????????????????????????????
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1176
?????????????????????????????????????????????0@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1177
@@@@@@@@@@@@');
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1178
                colorMapFromArray:#[ 205 205 205 227 35 35 106 106 106 98 98 98 135 135 135 163 34 34 101 5 5 124 124 124 48 2 2 227 11 11 173 173 173 218 54 54 241 241 241 235 19 19 225 225 225 219 18 18 245 58 58 214 214 214 249 46 46 90 90 90 254 61 61 36 36 36 176 176 176 233 233 233 114 114 114 255 78 78 212 33 33 230 57 57 61 61 61 94 94 94 76 76 76 19 19 19 255 57 57 161 161 161 83 83 83 217 217 217 249 249 249 255 65 65 139 2 2 27 27 27 169 169 169 253 53 53 210 28 28 251 251 251 154 154 154 117 117 117 195 1 1 245 245 245 145 145 145 218 5 5 230 230 230 69 2 2 181 181 181 11 11 11 141 141 141 249 61 61 205 21 21 165 165 165 157 157 157 241 28 28 223 223 223 109 109 109 2 2 2 245 45 45 146 0 0 69 69 69 137 137 137 140 40 40 188 1 1 206 24 24 219 33 33 255 76 76 249 49 49 249 56 56 236 236 236 121 121 121 248 53 53 171 1 1 111 40 40 237 41 41 178 21 21 205 16 16 129 129 129 163 1 1 155 18 18 85 4 4 243 68 68 73 73 73 45 45 45 202 51 51 241 40 40 86 86 86 114 1 1 210 4 4 246 41 41 148 148 148 189 189 189 209 209 209 210 17 17 158 28 28 213 5 5 205 1 1 53 53 53 217 9 9 69 40 40 187 10 10 255 74 74 218 28 28 146 11 11 65 65 65 232 37 37 101 101 101 196 26 26 245 53 53 188 26 26 213 10 10 184 184 184 206 5 5 249 65 65 172 21 21 206 34 34 195 195 195 237 32 32 131 12 12 233 29 29 179 36 36 241 37 37 139 13 13 245 49 49 180 1 1 168 37 37 198 198 198 202 202 202 228 21 21 206 10 10 206 29 29 229 30 30 255 80 80 188 20 20 245 37 37 57 57 57 252 50 50 87 42 42 172 10 10 209 13 13 155 4 4 164 11 11 242 44 44 255 70 70 225 25 25 222 14 14 237 24 24 240 49 49 205 13 13 202 44 44 201 0 0 225 17 17 186 42 42 255 72 72 122 1 1 40 40 40 157 10 10 209 8 8 222 8 8 195 41 41 223 21 21 180 11 11 255 68 68 162 28 28 194 11 11 232 25 25 131 1 1 241 32 32 246 246 246 49 49 49 224 44 44 208 2 2 227 227 227 239 239 239 239 46 46 162 20 20 245 33 33 219 219 219 238 29 29 237 37 37 171 29 29 36 46 46 250 68 68 147 16 16 182 26 26 187 187 187 24 1 1 185 32 32 229 24 24 232 33 33 150 150 150 122 12 12 229 17 17 204 27 27 242 52 52 213 2 2 200 15 15 191 191 191 217 43 43 217 12 12 115 10 10 140 16 16 200 28 28 202 6 6 215 13 13 182 41 41 57 46 46 40 46 46 233 40 40 252 70 70 173 40 40 226 28 28 46 54 54 202 22 22 203 18 18 245 72 72 191 17 17 200 37 37 10 0 0 50 52 52 252 74 74 252 72 72 247 38 38 160 40 40 231 14 14 252 68 68 200 10 10 15 15 15 211 47 47 254 254 254 253 76 76 23 23 23 237 69 69 7 7 7 144 7 7 196 8 7 32 32 32 59 59 59 90 93 93 67 67 67 70 28 28 50 56 56 232 15 16 208 4 4 237 35 35 220 12 11 232 20 20 223 62 62 0 0 0 255 255 255 255 255 255 ];
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1179
                mask:((ImageMask new)
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1180
                            width:32;
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1181
                            height:32;
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1182
                            photometric:(#blackIs0);
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1183
                            bitsPerSample:(#[ 1 ]);
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1184
                            samplesPerPixel:((1));
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1185
                            bits:(ByteArray 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1186
                                        fromPackedString:'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1187
@@@@@@@@L@@@LC@@@A 0@@@\L@@@CB@@@@Y @@@G8@@@G? @AC?8H@8??O@G??? @???0@C??0@@??<@G???>A???? G??? @O??@@G??8@_???8G???>@;?
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1188
?7@@??<@@???0@_??>@GO?3 @A?8P@@O<@@@@<@@@@@@@@@@@@@b');
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1189
                            yourself);
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1190
                yourself
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1191
        ]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1192
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1193
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1194
!GenericToolbarIconLibrary class methodsFor:'image specs-16x16'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1195
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1196
lint16x16Icon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1197
    "This resource specification was automatically generated
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1198
     by the ImageEditor of ST/X."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1199
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1200
    "Do not manually edit this!! If it is corrupted,
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1201
     the ImageEditor may not be able to read the specification."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1202
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1203
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1204
     self lint16x16Icon inspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1205
     ImageEditor openOnClass:self andSelector:#lint16x16Icon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1206
     Icon flushCachedIcons
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1207
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1208
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1209
    <resource: #image>
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1210
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1211
    ^Icon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1212
        constantNamed:'GenericToolbarIconLibrary class lint16x16Icon'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1213
        ifAbsentPut:[(Depth8Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(8)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1214
??????????????????????????????????????????????????<4[_??????????????????A4W??????????????????2<A()BG??????????<A??<A1_;>
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1215
@XS??????????3<)-;^76.Z5A0O???????<P@W!!8>-3J<0+??????0\JI1,;7^?57-[;''T????<JS0P"PN3'':-V>8L??????V5@''G57.1,!!#X-''R_O???1(R
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1216
@RMW:Y*KY6+7*RW??????3P*ZU[;.:#!!/:7???????<A@6AV2?S:9+>5??????????< BC &?????;?Z??????????<XU_?????X<P@a') ; colorMapFromArray:#[0 1 0 0 2 0 1 4 0 3 6 2 30 1 0 6 9 5 34 2 2 10 12 8 43 4 2 13 15 12 15 17 13 77 0 0 16 18 15 35 14 12 17 19 16 67 6 1 19 20 18 75 7 10 21 23 20 86 9 4 25 27 24 111 4 7 103 7 10 96 10 12 32 29 28 29 30 28 31 33 30 153 2 0 33 35 33 35 36 34 110 16 16 173 0 1 36 38 35 41 37 36 165 4 0 155 7 7 128 15 14 39 41 39 157 12 16 51 42 42 207 0 4 43 45 42 58 41 39 141 19 15 199 4 0 210 3 0 221 1 4 48 49 47 231 0 12 211 7 8 172 19 10 172 19 18 52 54 51 53 55 53 234 5 23 59 54 53 176 24 21 56 57 55 57 59 56 204 19 22 195 22 24 103 47 48 227 16 9 60 61 59 198 25 19 216 20 21 61 63 60 119 48 45 228 20 20 63 65 62 211 30 27 68 69 67 69 71 68 212 32 34 242 25 29 72 74 71 74 76 74 191 45 50 245 31 38 76 78 75 77 79 76 79 80 78 138 66 66 248 36 40 240 41 43 83 85 82 216 50 52 241 43 50 195 58 61 86 88 85 244 46 46 87 89 86 89 91 88 214 58 58 193 65 67 92 93 91 248 51 49 109 90 87 185 68 87 194 67 80 87 95 125 250 54 57 173 74 96 202 67 84 159 78 103 253 56 52 188 72 90 87 99 135 129 89 121 99 101 98 73 104 148 255 59 60 159 83 106 175 81 94 94 102 132 187 78 98 215 71 85 255 61 67 169 84 104 251 66 66 104 106 103 90 106 147 151 92 119 200 81 93 107 108 106 140 99 131 162 94 119 255 72 76 144 100 128 96 112 153 228 80 83 159 97 120 111 113 110 191 90 111 206 87 104 113 115 112 87 118 163 115 117 114 83 122 166 179 100 117 118 120 117 199 99 101 231 91 88 138 113 147 120 122 119 196 101 119 123 125 122 115 123 167 213 100 113 119 123 162 180 109 128 127 129 126 208 108 109 115 131 173 185 115 140 158 122 154 173 119 144 131 133 130 130 130 163 178 122 124 181 119 147 106 139 178 136 138 135 120 139 175 126 138 175 204 121 132 132 139 172 113 146 186 136 143 176 144 146 143 121 149 184 153 142 173 135 150 181 148 150 147 125 153 188 130 153 182 179 140 167 150 152 149 205 136 148 181 145 146 136 159 189 155 157 154 140 163 193 159 161 158 161 163 160 143 166 196 162 164 161 148 167 192 164 166 163 165 165 187 197 159 173 167 169 166 152 171 196 191 163 180 157 172 191 169 171 168 216 159 166 171 173 170 208 163 179 187 169 190 217 162 175 174 176 173 159 178 203 186 173 174 207 167 175 163 178 198 213 166 176 179 181 178 198 176 192 169 185 204 183 185 182 216 175 184 209 177 189 212 180 192 204 183 198 208 183 193 188 190 187 180 192 206 194 196 193 215 191 201 187 199 213 204 198 197 211 196 210 199 201 198 190 202 216 191 203 217 201 202 212 202 204 201 208 203 201 219 201 210 205 207 203 217 203 217 206 208 205 213 207 206 223 205 214 203 211 220 211 213 210 211 212 222 214 216 213 221 215 227 217 219 216 219 221 218 228 218 224 217 222 225 221 223 220 231 221 227 216 225 233 220 226 228 224 226 223 221 229 238 231 233 230 228 234 236 233 235 232 235 238 234 249 251 248 255 255 255]; mask:((ImageMask new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@L@@0@C8AO0C?0O>C?>O?0??#?>C?0O?@OC@LLb') ; yourself); yourself]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1217
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1218
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1219
!GenericToolbarIconLibrary class methodsFor:'image specs-24x24'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1220
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1221
lint24x24Icon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1222
    "This resource specification was automatically generated
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1223
     by the ImageEditor of ST/X."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1224
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1225
    "Do not manually edit this!! If it is corrupted,
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1226
     the ImageEditor may not be able to read the specification."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1227
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1228
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1229
     self lint24x24Icon inspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1230
     ImageEditor openOnClass:self andSelector:#lint24x24Icon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1231
     Icon flushCachedIcons
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1232
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1233
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1234
    <resource: #image>
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1235
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1236
    ^Icon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1237
        constantNamed:'GenericToolbarIconLibrary class lint24x24Icon'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1238
        ifAbsentPut:[(Depth8Image new) width: 24; height: 24; photometric:(#palette); bitsPerSample:(#(8)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1239
??????????????????????????????????????????????????????????????????????????=_W?????< @???????????????????????MF7???<4????
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1240
????????????????????A4W???<L?????????????????????????2AG?4HY????????????????????????K0E[()@J!!????????????????0G?????@\W>
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1241
?/;0@XS???<Z????????JUEK??</0?3<?O3<F G??0)H??????????<GO2$A-;^7-=+,9+T]A0MU????????????D@DG^G!!<>-262/O1B/??????????????
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1242
@PDPR4/I):+J+8+Q,_??????????A0(]I1,,N=7J;?W27-ZO>94NS???????B$=QABH(PN2#9>+%5[:@8L>D????????????A!!<-S_BU6=/W3)Y:.]??????
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1243
????V5AEI1<>W^:$1,"2X6I(6]IP_O??????F!!HN@RL0U>&6&(-1Y6)(=:$RI_??????N%%\@1UDXKO;(HM6^7M,<G!!Y#O??????????MB(2ZUZX>;.&*NG:
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1244
/:6D??????????<)@PLSXEY?2?S<>.Y-/;V-?????????1$A??<GRU)/]8JMT"_?/;>5#O??????????????H@ +NBXQ??????>:/=*L??????????????<9
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1245
FEU_????????6OF5????????????????????????????-]K?') ; colorMapFromArray:#[0 1 0 0 2 0 1 4 0 3 6 2 30 1 0 6 9 5 34 2 2 10 12 8 43 4 2 13 15 12 15 17 13 77 0 0 16 18 15 35 14 12 17 19 16 67 6 1 19 20 18 75 7 10 21 23 20 86 9 4 25 27 24 111 4 7 103 7 10 96 10 12 32 29 28 29 30 28 31 33 30 153 2 0 33 35 33 35 36 34 110 16 16 173 0 1 36 38 35 41 37 36 165 4 0 155 7 7 128 15 14 39 41 39 157 12 16 51 42 42 207 0 4 43 45 42 58 41 39 141 19 15 199 4 0 210 3 0 221 1 4 48 49 47 231 0 12 211 7 8 172 19 10 172 19 18 52 54 51 53 55 53 234 5 23 59 54 53 176 24 21 56 57 55 57 59 56 204 19 22 195 22 24 103 47 48 227 16 9 60 61 59 198 25 19 216 20 21 61 63 60 119 48 45 228 20 20 63 65 62 211 30 27 68 69 67 69 71 68 212 32 34 242 25 29 72 74 71 74 76 74 191 45 50 245 31 38 76 78 75 77 79 76 79 80 78 138 66 66 248 36 40 240 41 43 83 85 82 216 50 52 241 43 50 195 58 61 86 88 85 244 46 46 87 89 86 89 91 88 214 58 58 193 65 67 92 93 91 248 51 49 109 90 87 185 68 87 194 67 80 87 95 125 250 54 57 173 74 96 202 67 84 159 78 103 253 56 52 188 72 90 87 99 135 129 89 121 99 101 98 73 104 148 255 59 60 159 83 106 175 81 94 94 102 132 187 78 98 215 71 85 255 61 67 169 84 104 251 66 66 104 106 103 90 106 147 151 92 119 200 81 93 107 108 106 140 99 131 162 94 119 255 72 76 144 100 128 96 112 153 228 80 83 159 97 120 111 113 110 191 90 111 206 87 104 113 115 112 87 118 163 115 117 114 83 122 166 179 100 117 118 120 117 199 99 101 231 91 88 138 113 147 120 122 119 196 101 119 123 125 122 115 123 167 213 100 113 119 123 162 180 109 128 127 129 126 208 108 109 115 131 173 185 115 140 158 122 154 173 119 144 131 133 130 130 130 163 178 122 124 181 119 147 106 139 178 136 138 135 120 139 175 126 138 175 204 121 132 132 139 172 113 146 186 136 143 176 144 146 143 121 149 184 153 142 173 135 150 181 148 150 147 125 153 188 130 153 182 179 140 167 150 152 149 205 136 148 181 145 146 136 159 189 155 157 154 140 163 193 159 161 158 161 163 160 143 166 196 162 164 161 148 167 192 164 166 163 165 165 187 197 159 173 167 169 166 152 171 196 191 163 180 157 172 191 169 171 168 216 159 166 171 173 170 208 163 179 187 169 190 217 162 175 174 176 173 159 178 203 186 173 174 207 167 175 163 178 198 213 166 176 179 181 178 198 176 192 169 185 204 183 185 182 216 175 184 209 177 189 212 180 192 204 183 198 208 183 193 188 190 187 180 192 206 194 196 193 215 191 201 187 199 213 204 198 197 211 196 210 199 201 198 190 202 216 191 203 217 201 202 212 202 204 201 208 203 201 219 201 210 205 207 203 217 203 217 206 208 205 213 207 206 223 205 214 203 211 220 211 213 210 211 212 222 214 216 213 221 215 227 217 219 216 219 221 218 228 218 224 217 222 225 221 223 220 231 221 227 216 225 233 220 226 228 224 226 223 221 229 238 231 233 230 228 234 236 233 235 232 235 238 234 249 251 248 255 255 255]; mask:((ImageMask new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@LL@@FH@@FH@@CX@@G<@BG>HGO>XA??8@?? @?? G??<G??8@??0G??<G??<G??<@??8A??8CO><@G8O@A8G@@@F') ; yourself); yourself]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1246
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1247
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1248
!GenericToolbarIconLibrary class methodsFor:'image specs-32x32'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1249
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1250
lint32x32Icon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1251
    "This resource specification was automatically generated
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1252
     by the ImageEditor of ST/X."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1253
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1254
    "Do not manually edit this!! If it is corrupted,
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1255
     the ImageEditor may not be able to read the specification."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1256
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1257
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1258
     self lint32x32Icon inspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1259
     ImageEditor openOnClass:self andSelector:#lint32x32Icon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1260
     Icon flushCachedIcons
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1261
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1262
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1263
    <resource: #image>
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1264
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1265
    ^Icon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1266
        constantNamed:'GenericToolbarIconLibrary class lint32x32Icon'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1267
        ifAbsentPut:[(Depth8Image new) width: 32; height: 32; photometric:(#palette); bitsPerSample:(#(8)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1268
????????????????????????????????????????????????????????????????????!!O????????????????????????????=_JU???????2@4@???????
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1269
??????????????????????<AT_??????@Q*??????????????????????????????4H4[_????<4O????????????????????????????????0]E?????01K
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1270
?????????????????????????????????2AG??=BFX_?????????????????????????????????QQ$A@PDR?????????????????????????????????2<A
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1271
V96"$@(C!!?????????????????????<A??????<R@\W>?/;><CPA!!O????<Z????????????JUEK????K0GC?O3<?O3<>A(A????B$"G????????????@SQG
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1272
V0(ARNO#8>O#8>O_+PD9NS(%@P_?????????????A0\?JPFW-;^7-;_Z;OG&-Q5EA0MU????????????????QQ@AA718^G2?>-26+,+3<W0J????????????
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1273
????????@PDPR4-K2_^''*,+M+8+Q>+G??????????????4IHUV4)B19COVG:(\K9=.7"/XGY;E=HQZ''???????=\A0(]P"\[KC,;7\*+;?W2:-;V#8#;''P8%
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1274
S?????????<JS5D)ABH(LTC,(<_'':.W[5[:@^^CO!!@G???????????????<FG241S_BU4M/[5=ON%'')2.]???????????????????0P_K"9^=IOA5MOL1JU&
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1275
\FR47?????????????=[TDT:I1<>M%7.)KCF2KJTX6I(Z=''RTD-<????????EA(RC DAH3AJU>&6&9*K\WQ''Z&!!.=:$RMBW?????????N%%\C LUQD9 ,?.Y
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1276
(HM6!!''-3[LC0^E%_#O??????????????!!@=AS&UX9N.Y''G:Q!!W6,?]"L?????????????????4,4J#INZUZX9/.;)):(8_+0/:6D??????????????<)GPDC
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1277
D4Y U''>N2?S<?_+&[\N?-Z6I????????????FPD)??<GE$%Z[7U7 (6_T"_??;>?-Z6L????????????Q?????<AE31TXFAZRRPM?????;2<.J6R????????
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1278
??????????< BB,3NBXQM????????;*</=*L????????????????????NRDXUU???????????;#X<[W??????????????????????????????????????;WR
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1279
?????????????????????????????????????????????0@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1280
@@@@@@@@@@@@') ; colorMapFromArray:#[0 1 0 0 2 0 1 4 0 3 6 2 30 1 0 6 9 5 34 2 2 10 12 8 43 4 2 13 15 12 15 17 13 77 0 0 16 18 15 35 14 12 17 19 16 67 6 1 19 20 18 75 7 10 21 23 20 86 9 4 25 27 24 111 4 7 103 7 10 96 10 12 32 29 28 29 30 28 31 33 30 153 2 0 33 35 33 35 36 34 110 16 16 173 0 1 36 38 35 41 37 36 165 4 0 155 7 7 128 15 14 39 41 39 157 12 16 51 42 42 207 0 4 43 45 42 58 41 39 141 19 15 199 4 0 210 3 0 221 1 4 48 49 47 231 0 12 211 7 8 172 19 10 172 19 18 52 54 51 53 55 53 234 5 23 59 54 53 176 24 21 56 57 55 57 59 56 204 19 22 195 22 24 103 47 48 227 16 9 60 61 59 198 25 19 216 20 21 61 63 60 119 48 45 228 20 20 63 65 62 211 30 27 68 69 67 69 71 68 212 32 34 242 25 29 72 74 71 74 76 74 191 45 50 245 31 38 76 78 75 77 79 76 79 80 78 138 66 66 248 36 40 240 41 43 83 85 82 216 50 52 241 43 50 195 58 61 86 88 85 244 46 46 87 89 86 89 91 88 214 58 58 193 65 67 92 93 91 248 51 49 109 90 87 185 68 87 194 67 80 87 95 125 250 54 57 173 74 96 202 67 84 159 78 103 253 56 52 188 72 90 87 99 135 129 89 121 99 101 98 73 104 148 255 59 60 159 83 106 175 81 94 94 102 132 187 78 98 215 71 85 255 61 67 169 84 104 251 66 66 104 106 103 90 106 147 151 92 119 200 81 93 107 108 106 140 99 131 162 94 119 255 72 76 144 100 128 96 112 153 228 80 83 159 97 120 111 113 110 191 90 111 206 87 104 113 115 112 87 118 163 115 117 114 83 122 166 179 100 117 118 120 117 199 99 101 231 91 88 138 113 147 120 122 119 196 101 119 123 125 122 115 123 167 213 100 113 119 123 162 180 109 128 127 129 126 208 108 109 115 131 173 185 115 140 158 122 154 173 119 144 131 133 130 130 130 163 178 122 124 181 119 147 106 139 178 136 138 135 120 139 175 126 138 175 204 121 132 132 139 172 113 146 186 136 143 176 144 146 143 121 149 184 153 142 173 135 150 181 148 150 147 125 153 188 130 153 182 179 140 167 150 152 149 205 136 148 181 145 146 136 159 189 155 157 154 140 163 193 159 161 158 161 163 160 143 166 196 162 164 161 148 167 192 164 166 163 165 165 187 197 159 173 167 169 166 152 171 196 191 163 180 157 172 191 169 171 168 216 159 166 171 173 170 208 163 179 187 169 190 217 162 175 174 176 173 159 178 203 186 173 174 207 167 175 163 178 198 213 166 176 179 181 178 198 176 192 169 185 204 183 185 182 216 175 184 209 177 189 212 180 192 204 183 198 208 183 193 188 190 187 180 192 206 194 196 193 215 191 201 187 199 213 204 198 197 211 196 210 199 201 198 190 202 216 191 203 217 201 202 212 202 204 201 208 203 201 219 201 210 205 207 203 217 203 217 206 208 205 213 207 206 223 205 214 203 211 220 211 213 210 211 212 222 214 216 213 221 215 227 217 219 216 219 221 218 228 218 224 217 222 225 221 223 220 231 221 227 216 225 233 220 226 228 224 226 223 221 229 238 231 233 230 228 234 236 233 235 232 235 238 234 249 251 248 255 255 255]; mask:((ImageMask new) width: 32; height: 32; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1281
@@@@@@@@D@@@NC @@A 8@@@\L@@@CC@@@@Y0@@@G8@@@C? @AA?<H@8??G@G???0@???8@G??8@@??>@C???>A???? O???0@O??0@C??<@O???8G???>@??
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1282
?? @???@@_??8@O???@GO?38@!!?8_@@O<C8@@>@^@@@@C@@@@@@b') ; yourself); yourself]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1283
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1284
8839
792607726eb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8838
diff changeset
  1285
!Image methodsFor:'inspecting'!
792607726eb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8838
diff changeset
  1286
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1287
inspectorClass
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1288
    "redefined to launch an ImageInspector
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1289
     (instead of the default InspectorView)."
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1290
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1291
    (width notNil and:[height notNil]) ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1292
	^ ImageInspectorView
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1293
    ].
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1294
    ^ super inspectorClass
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1295
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1296
    "Modified: 10.6.1996 / 18:23:55 / cg"
8839
792607726eb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8838
diff changeset
  1297
! !
792607726eb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8838
diff changeset
  1298
792607726eb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8838
diff changeset
  1299
!Integer methodsFor:'inspecting'!
792607726eb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8838
diff changeset
  1300
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1301
inspectorExtraAttributes
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1302
    "extra (pseudo instvar) entries to be shown in an inspector."
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1303
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1304
    ^ Dictionary new
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1305
	declareAllNewFrom:(super inspectorExtraAttributes ? #());
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1306
	add:'-hexadecimal' -> [ self radixPrintStringRadix:16 ];
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1307
	add:'-octal' -> [ self radixPrintStringRadix:8 ];
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1308
	add:'-binary' -> [ self radixPrintStringRadix:2 ];
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1309
	yourself
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1310
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1311
    "
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1312
     123 inspect
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1313
    "
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1314
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1315
    "Created: / 18-09-2006 / 21:22:46 / cg"
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1316
    "Modified: / 06-10-2006 / 13:57:28 / cg"
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1317
! !
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1318
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1319
!MenuView methodsFor:'accessing-behavior'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1320
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1321
shortKeys
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1322
    ^ shortKeys
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1323
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1324
    "Created: / 18-10-2008 / 19:16:59 / Jan Vrany <vranyj1@fel.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1325
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1326
8839
792607726eb6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8838
diff changeset
  1327
!Method methodsFor:'inspecting'!
7735
a85329ee3b3a todo notification
Claus Gittinger <cg@exept.de>
parents: 7703
diff changeset
  1328
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1329
inspectorExtraAttributes
8677
Claus Gittinger <cg@exept.de>
parents: 8417
diff changeset
  1330
    "extra (pseudo instvar) entries to be shown in an inspector."
Claus Gittinger <cg@exept.de>
parents: 8417
diff changeset
  1331
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1332
    ^ Dictionary new
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1333
	declareAllNewFrom:(super inspectorExtraAttributes ? #());
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1334
	add:'-code' -> [ String streamContents:[:s | self decompileTo:s] ];
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1335
	add:'-source' -> [ self source ];
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1336
	yourself
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1337
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1338
    "
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1339
     (Method compiledMethodAt:#inspectorExtraAttributes) inspect
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1340
    "
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1341
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1342
    "Created: / 18-09-2006 / 21:34:01 / cg"
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1343
    "Modified: / 06-10-2006 / 13:57:33 / cg"
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1344
! !
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1345
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1346
!Method methodsFor:'printing & storing'!
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1347
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1348
printStringForBrowserWithSelector:selector inClass:aClass
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1349
    "return a printString to represent myself to the user in a browser.
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1350
     Defined here to allow for browsers to deal with nonStandard pseudoMethods"
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1351
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1352
    |s privInfo moreInfo p info n cls ns currentChangeSet isInChangeSet mthdPackage
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1353
     userPreferences shownSelector suppressPackage timeRounded|
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1354
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1355
    moreInfo := ''.
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1356
    privInfo := ''.
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1357
    userPreferences := UserPreferences current.
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1358
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1359
    ns := self nameSpace.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1360
    (ns notNil and:[ns isNameSpace]) ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1361
        moreInfo := moreInfo , 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1362
            ((' < %1 >' bindWith: ns name) asText emphasisAllAdd:
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1363
                userPreferences emphasisForNamespacedCode)
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1364
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1365
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1366
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1367
    self isWrapped ifTrue:[
8970
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1368
        (MessageTracer isCounting:self) ifTrue:[
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1369
            (MessageTracer isCountingMemoryUsage:self) ifTrue:[
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1370
                moreInfo := moreInfo , (' (mem usage avg: %1 bytes)' bindWith:(MessageTracer memoryUsageOfMethod:self) printString allBold).
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1371
            ] ifFalse:[
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1372
                moreInfo := moreInfo , (' (called %1 times)' bindWith:(MessageTracer executionCountOfMethod:self) printString allBold).
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1373
            ]
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1374
        ] ifFalse:[
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1375
            (MessageTracer isTiming:self) ifTrue:[
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1376
                info := MessageTracer executionTimesOfMethod:self.
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1377
                ((n := info count) == 0) ifTrue:[
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1378
                    moreInfo := moreInfo , (' (cnt: %1)' bindWith:n)
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1379
                ] ifFalse:[
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1380
                    timeRounded := [:millis |
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1381
                        |rnd|
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1382
                        rnd := (millis > 100)
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1383
                                 ifTrue:[ 1 ]
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1384
                                 ifFalse:[
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1385
                                     (millis > 10)
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1386
                                        ifTrue:[ 0.1 ]
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1387
                                        ifFalse:[
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1388
                                            (millis > 1)
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1389
                                                ifTrue:[ 0.01 ]
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1390
                                                ifFalse:[ 0.001 ]]].
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1391
                        millis roundTo:rnd
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1392
                    ].
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1393
8970
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1394
                    (n == 1 or:[ info avgTimeRounded = info minTimeRounded  ]) ifTrue:[
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1395
                        moreInfo := moreInfo ,
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1396
                                    (' (t: %1ms cnt: %2)'
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1397
                                        bindWith:((timeRounded value:info avgTimeRounded) printString allBold)
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1398
                                        with:n)
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1399
                    ] ifFalse:[
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1400
                        moreInfo := moreInfo ,
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1401
                                    (' (avg: %1ms min: %2 max: %3 cnt: %4)'
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1402
                                        bindWith:((timeRounded value:info avgTimeRounded) printString allBold)
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1403
                                        with:((timeRounded value:info minTimeRounded) printString)
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1404
                                        with:((timeRounded value:info maxTimeRounded) printString)
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1405
                                        with:n)
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1406
                    ].
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1407
                ].
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1408
            ] ifFalse:[
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1409
                moreInfo := ' !!'
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1410
            ]
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1411
        ].
7703
cfa8b91be77b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7657
diff changeset
  1412
    ].
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1413
    p := self privacy.
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1414
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1415
    p ~~ #public ifTrue:[
9050
b9df3c89888d comment/format in: #colorizeAllWith:on:
Claus Gittinger <cg@exept.de>
parents: 8970
diff changeset
  1416
        privInfo := (' (* ' , p , ' *)') allItalic.
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1417
    ].
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1418
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1419
"/    self isInvalid ifTrue:[
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1420
"/        moreInfo := ' (** not executable **)'.
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1421
"/    ].
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1422
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1423
    (self isLazyMethod not and:[self isUnloaded]) ifTrue:[
8970
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1424
        moreInfo := ' (** unloaded **)'
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1425
    ].
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1426
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1427
    privInfo size ~~ 0 ifTrue:[
8970
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1428
        moreInfo := privInfo , ' ' , moreInfo
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1429
    ].
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1430
7703
cfa8b91be77b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7657
diff changeset
  1431
    s := shownSelector := (self selectorPrintStringInBrowserFor:selector class:aClass).
cfa8b91be77b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7657
diff changeset
  1432
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1433
    (cls := aClass) isNil ifTrue:[
8970
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1434
        cls := self containingClass
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1435
    ].
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1436
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1437
    currentChangeSet := ChangeSet current.
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1438
    isInChangeSet := currentChangeSet includesChangeForClass:cls selector:selector.
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1439
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1440
    isInChangeSet ifTrue:[
8970
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1441
        s := s asText emphasisAllAdd:(userPreferences emphasisForChangedCode)
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1442
    ].
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1443
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1444
    (cls isNil or:[(mthdPackage := self package) ~= cls package]) ifTrue:[
8970
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1445
        suppressPackage := false.
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1446
        mthdPackage = PackageId noProjectID ifTrue:[
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1447
            mthdPackage := '+'.
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1448
            "/ suppressPackage := true
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1449
        ].
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1450
        suppressPackage ifFalse:[
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1451
            p := ' [' , (mthdPackage ? '?') allItalic , '] '.
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1452
            p := p asText emphasisAllAdd:(userPreferences emphasisForDifferentPackage).
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1453
            s := s , ' ' , p
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1454
        ].
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1455
    ].
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1456
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1457
    moreInfo size == 0 ifTrue:[^ s].
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1458
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1459
    s := shownSelector , moreInfo.
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1460
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1461
    self isInvalid ifTrue:[
8970
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  1462
        s := s asText emphasizeAllWith:(userPreferences emphasisForObsoleteCode).
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1463
    ].
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1464
    ^ s
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1465
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1466
    "Modified: / 23-01-1998 / 13:15:15 / stefan"
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1467
    "Created: / 05-02-2000 / 22:55:56 / cg"
7703
cfa8b91be77b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7657
diff changeset
  1468
    "Modified: / 05-03-2007 / 16:18:53 / cg"
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1469
    "Modified: / 20-07-2010 / 15:39:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1470
! !
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1471
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1472
!Method methodsFor:'printing & storing'!
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1473
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1474
selectorPrintStringInBrowserFor:selector
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1475
    ^ selector
7735
a85329ee3b3a todo notification
Claus Gittinger <cg@exept.de>
parents: 7703
diff changeset
  1476
! !
a85329ee3b3a todo notification
Claus Gittinger <cg@exept.de>
parents: 7703
diff changeset
  1477
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1478
!Method methodsFor:'printing & storing'!
7703
cfa8b91be77b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7657
diff changeset
  1479
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1480
selectorPrintStringInBrowserFor:selector class:aClass
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1481
    |nsPart selPart idx ns|
7703
cfa8b91be77b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7657
diff changeset
  1482
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1483
    selector isNameSpaceSelector ifFalse:[^ selector].
7703
cfa8b91be77b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7657
diff changeset
  1484
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1485
    idx := selector indexOf:$: startingAt:3.
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1486
    "
7703
cfa8b91be77b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7657
diff changeset
  1487
    nsPart := selector copyFrom:2 to:idx-1.
cfa8b91be77b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7657
diff changeset
  1488
    ns := Smalltalk at:nsPart asSymbol.
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1489
    "
7703
cfa8b91be77b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7657
diff changeset
  1490
    selPart := selector copyFrom:idx+2.
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1491
    ^ selPart ", ' {',nsPart,'}'."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1492
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1493
    "Modified: / 20-07-2010 / 10:33:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1494
! !
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1495
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1496
!MethodDictionary methodsFor:'inspecting'!
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1497
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1498
inspectorClass
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1499
    "redefined to use DictionaryInspector
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1500
     (instead of the default Inspector)."
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1501
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1502
    ^ DictionaryInspectorView
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1503
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1504
    "Created: 12.6.1996 / 12:29:13 / stefan"
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1505
! !
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1506
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1507
!NameSpace class methodsFor:'inspecting'!
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1508
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1509
inspectorClass
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1510
    "{ Pragma: +optSpace }"
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1511
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1512
    "redefined to launch a DictionaryInspector
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1513
     (instead of the default Inspector)."
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1514
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1515
    ^ DictionaryInspectorView
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1516
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1517
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1518
! !
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1519
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1520
!Object methodsFor:'converting'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1521
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1522
asTestCase
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1523
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1524
    ^self
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1525
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1526
    "Created: / 04-03-2011 / 08:19:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1527
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1528
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1529
!Object methodsFor:'debugging'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1530
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1531
inspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1532
    "{ Pragma: +optSpace }"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1533
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1534
    "launch an inspector on the receiver.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1535
     this method (or better: inspectorClass) can be redefined in subclasses
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1536
     to start special inspectors."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1537
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1538
    |cls|
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1539
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1540
    cls := (Smalltalk classNamed: #'Tools::Inspector2') 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1541
                ifNil:[self inspectorClass].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1542
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1543
    cls isNil ifTrue:[
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1544
        ^ self basicInspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1545
    ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1546
    cls openOn:self
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1547
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1548
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1549
     Object new inspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1550
     (1 @ 2) inspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1551
     Smalltalk inspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1552
     #(1 2 3) asOrderedCollection inspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1553
     (Color red) inspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1554
     (Image fromFile:'bitmaps/garfield.gif') inspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1555
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1556
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1557
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1558
!Object methodsFor:'debugging'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1559
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1560
inspector2TabCommon
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1561
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1562
    ^(Tools::Inspector2Tab new
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1563
            priority: 50;
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1564
            label:'Object';
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1565
            view: ((self inspectorClass new inspect:self)
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1566
                        yourself))
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1567
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1568
    "Created: / 24-05-2011 / 14:56:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1569
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1570
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1571
!Object methodsFor:'debugging'!
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1572
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1573
inspectorExtraAttributes
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1574
    "extra (pseudo instvar) entries to be shown in an inspector.
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1575
     Answers a dictionary of aString -> aBlock.
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1576
     aString is name of extra attribute and MUST start with minus ($-).
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1577
     aBlock returns the object representing extra attribute."
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1578
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1579
    ^Dictionary new
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1580
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1581
    " Try to uncomment following and inspect any object "
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1582
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1583
"/    ^Dictionary new
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1584
"/        add:'-test' -> ['TEST TEST'];
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1585
"/        yourself
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1586
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1587
    "Created: / 16-08-2005 / 20:43:33 / janfrog"
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1588
    "Modified: / 02-09-2005 / 19:00:01 / janfrog"
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1589
    "Modified: / 04-10-2006 / 14:33:34 / cg"
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1590
! !
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1591
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1592
!Object methodsFor:'testing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1593
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1594
isTestCaseLike
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1595
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1596
    ^false
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1597
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1598
    "Created: / 28-02-2011 / 21:30:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1599
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1600
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1601
!Object methodsFor:'debugging'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1602
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1603
newInspector2Tab
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1604
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1605
    "Use Smalltalk>>at: to trick the dependency detector"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1606
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1607
    ^(Smalltalk at: #'Tools::Inspector2Tab') 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1608
        ifNil:[self error:'Inspector2 not available!! Something is rotten...']
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1609
        ifNotNil:[(Smalltalk at: #'Tools::Inspector2Tab') new]
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1610
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1611
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1612
!OrderedCollection methodsFor:'inspecting'!
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1613
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1614
inspectorClass
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1615
    "redefined to launch an OrderedCollectionInspector
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1616
     (instead of the default InspectorView)."
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1617
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1618
    ^ OrderedCollectionInspectorView
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1619
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1620
    "
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1621
     (OrderedCollection withAll:#(3 2 1)) inspect
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1622
     (OrderedCollection withAll:#(3 2 1)) removeFirst; yourself; inspect
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1623
     #(0 8 15 3 99 2) asSortedCollection inspect
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1624
    "
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1625
! !
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1626
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1627
!PopUpMenu methodsFor:'converting'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1628
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1629
asMenu
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1630
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1631
    | menu  |
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1632
    menu := Menu new receiver: menuView receiver.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1633
    1 to: self numberOfItems do:
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1634
        [:i| | menuItem |
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1635
        menuItem := MenuItem new
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1636
                        label: (self labels at: i);
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1637
                        value: (menuView selectors at: i);
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1638
                        enabled: (menuView isEnabled: i);
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1639
                        shortcutKey: (menuView shortKeys at: i);
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1640
                        yourself.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1641
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1642
        (self subMenuAt: i) ifNotNil:
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1643
            [menuItem submenu: (self subMenuAt: i) asMenu].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1644
        menu addItem: menuItem.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1645
        ].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1646
    ^menu.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1647
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1648
    "Created: / 18-10-2008 / 19:01:32 / Jan Vrany <vranyj1@fel.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1649
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1650
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1651
!ProfileTree methodsFor:'accessing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1652
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1653
method
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1654
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1655
    class ifNil:[^nil].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1656
    ^class >> selector
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1657
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1658
    "Created: / 01-12-2007 / 22:50:16 / janfrog"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1659
    "Modified: / 07-11-2008 / 08:40:35 / Jan Vrany <vranyj1@fel.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1660
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1661
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1662
!ProfileTree methodsFor:'accessing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1663
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1664
package
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1665
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1666
    self method ifNil:[^nil].
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1667
    ^self method package
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1668
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1669
    "Created: / 01-12-2007 / 22:50:28 / janfrog"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1670
    "Modified: / 07-11-2008 / 08:40:35 / Jan Vrany <vranyj1@fel.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1671
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1672
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1673
!RBMessageNode methodsFor:'libtool3 support'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1674
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1675
highlightInCodeView: aCodeView
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1676
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1677
    ^aCodeView highlightMessageNode: self
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1678
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1679
    "Created: / 18-02-2008 / 17:51:11 / janfrog"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1680
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1681
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1682
!RBMessageNode methodsFor:'libtool3 support'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1683
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1684
leftClickMenuInCodeView: aCodeView 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1685
    ^ aCodeView leftClickMenuForMessageNode: self.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1686
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1687
    "Created: / 18-02-2008 / 19:04:45 / janfrog"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1688
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1689
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1690
!RBMessageNode methodsFor:'libtool3 support'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1691
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1692
middleClickMenuInCodeView: aCodeView 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1693
    ^ aCodeView middleClickMenuForMessageNode: self.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1694
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1695
    "Created: / 18-02-2008 / 19:04:58 / janfrog"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1696
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1697
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1698
!RBMessageNode methodsFor:'libtool3 support'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1699
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1700
rightClickMenuInCodeView: aCodeView 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1701
    ^ aCodeView rightClickMenuForMessageNode: self.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1702
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1703
    "Created: / 18-02-2008 / 19:05:18 / janfrog"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1704
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1705
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1706
!RBProgramNode methodsFor:'stx:libtool support'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1707
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1708
highlightInCodeView: aCodeView
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1709
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1710
    aCodeView highlightClear
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1711
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1712
    "Created: / 18-02-2008 / 17:48:12 / janfrog"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1713
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1714
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1715
!RBProgramNode methodsFor:'stx:libtool support'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1716
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1717
leftClickMenuInCodeView: aCodeView 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1718
    ^ nil
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1719
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1720
    "Created: / 18-02-2008 / 17:49:43 / janfrog"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1721
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1722
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1723
!RBProgramNode methodsFor:'stx:libtool support'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1724
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1725
middleClickMenuInCodeView: aCodeView 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1726
    ^ nil
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1727
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1728
    "Created: / 18-02-2008 / 17:49:57 / janfrog"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1729
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1730
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1731
!RBProgramNode methodsFor:'stx:libtool support'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1732
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1733
rightClickMenuInCodeView: aCodeView 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1734
    ^ nil
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1735
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1736
    "Created: / 18-02-2008 / 17:50:10 / janfrog"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1737
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1738
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1739
!RBVariableNode methodsFor:'libtool3 support'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1740
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1741
highlightInCodeView: aCodeView
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1742
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1743
    ^aCodeView highlightVariableNode: self
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1744
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1745
    "Created: / 18-02-2008 / 17:51:44 / janfrog"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1746
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1747
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1748
!RBVariableNode methodsFor:'libtool3 support'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1749
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1750
leftClickMenuInCodeView: aCodeView 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1751
    ^ aCodeView leftClickMenuForVariableNode: self.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1752
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1753
    "Created: / 01-09-2009 / 08:41:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1754
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1755
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1756
!RBVariableNode methodsFor:'libtool3 support'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1757
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1758
rightClickMenuInCodeView: aCodeView 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1759
    ^ aCodeView rightClickMenuForVariableNode: self.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1760
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1761
    "Created: / 18-02-2008 / 21:05:04 / janfrog"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1762
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1763
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1764
!RefactoryChange methodsFor:'performing-changes'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1765
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1766
apply
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1767
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1768
    "Added for compatibility with stx's Change classes"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1769
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1770
    ^RefactoryChangeManager performChange: self
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1771
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1772
    "Created: / 26-11-2008 / 11:26:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1773
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1774
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1775
!RefactoryChange methodsFor:'accessing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1776
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1777
changeLanguage
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1778
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1779
    ^SmalltalkLanguage instance
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1780
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1781
    "Created: / 02-02-2010 / 10:54:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1782
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1783
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1784
!RefactoryChange methodsFor:'accessing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1785
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1786
delta
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1787
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1788
    "Returns a delta to current state as symbol:
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1789
        #+ .....the subject is to be added to the image (new)
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1790
        #- .....the subject is to be removed from the image (old)
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1791
        #= .....the image is up to date
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1792
        #~ .....change version and image version differ
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1793
        #? .....delta is unknown or N/A for this kind of change
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1794
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1795
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1796
    ^#? "We don't know how to compute delta for generic change"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1797
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1798
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1799
!RefactoryChange methodsFor:'user interface'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1800
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1801
inspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1802
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1803
    ^super inspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1804
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1805
   "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1806
        ^((CompositeRefactoryChange new)
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1807
                changes: (Array with: self);
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1808
                yourself) inspect
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1809
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1810
   "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1811
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1812
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1813
!RefactoryChange methodsFor:'user interface'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1814
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1815
inspector2TabBrowser
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1816
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1817
    ^self newInspector2Tab
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1818
        label: 'Changes';    
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1819
        priority: 75;
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1820
        application: (Tools::ChangeSetBrowser on: (ChangeSet with:self))
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1821
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1822
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1823
!RefactoryChange methodsFor:'testing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1824
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1825
isClassChange
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1826
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1827
    ^false
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1828
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1829
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1830
!RefactoryChange methodsFor:'testing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1831
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1832
isClassDefinitionChange
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1833
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1834
    ^false
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1835
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1836
    "Created: / 29-10-2010 / 13:34:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1837
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1838
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1839
!RefactoryChange methodsFor:'testing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1840
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1841
isComplexRefactoryChange
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1842
    ^ false
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1843
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1844
    "Created: / 26-11-2008 / 11:56:03 / Jan Vrany <vranyj1@fel.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1845
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1846
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1847
!RefactoryChange methodsFor:'testing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1848
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1849
isCompositeChange
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1850
    ^ false
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1851
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1852
    "Created: / 26-11-2008 / 11:34:43 / Jan Vrany <vranyj1@fel.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1853
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1854
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1855
!RefactoryChange methodsFor:'testing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1856
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1857
isCompositeRefactoryChange
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1858
    ^ false
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1859
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1860
    "Created: / 26-11-2008 / 11:34:43 / Jan Vrany <vranyj1@fel.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1861
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1862
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1863
!RefactoryChange methodsFor:'testing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1864
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1865
isMethodCodeChange
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1866
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1867
    ^false
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1868
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1869
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1870
!RefactoryChange methodsFor:'accessing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1871
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1872
removed
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1873
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1874
    ^(self objectAttributeAt: #removed) ? false
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1875
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1876
    "Created: / 24-10-2009 / 21:10:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1877
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1878
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1879
!RefactoryChange methodsFor:'accessing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1880
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1881
removed: aBoolean
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1882
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1883
    ^self objectAttributeAt: #removed put: aBoolean
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1884
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1885
    "Created: / 24-10-2009 / 21:11:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1886
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1887
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1888
!RefactoryChange methodsFor:'accessing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1889
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1890
source
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1891
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1892
    
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1893
    ^self printString
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1894
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1895
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1896
!RunArray methodsFor:'user interface'!
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1897
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1898
inspectorClass
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1899
    "Re-reimplemented so that we don't get an ordered collection inspector
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1900
     which would get very confused when confronted with a runArray."
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1901
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1902
    ^ InspectorView
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1903
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1904
    "Modified: / 30.10.1997 / 14:28:20 / cg"
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1905
! !
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1906
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1907
!SelectionInListModelView methodsFor:'accessing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1908
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1909
textStartLeft
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1910
    ^ textStartLeft
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1911
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1912
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1913
!SelectionInListModelView methodsFor:'accessing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1914
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1915
textStartLeft:something
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1916
    textStartLeft := something.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1917
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1918
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1919
!Set methodsFor:'inspecting'!
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1920
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1921
inspectorClass
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1922
    "redefined to use SetInspector
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1923
     (instead of the default Inspector)."
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1924
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1925
    ^ SetInspectorView
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1926
! !
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1927
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1928
!SimpleView methodsFor:'queries'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1929
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1930
isCodeView2
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1931
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1932
    ^ false
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1933
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1934
    "Created: / 20-07-2010 / 15:42:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9673
c590ef71ca2a sharedpool inspector
Claus Gittinger <cg@exept.de>
parents: 9324
diff changeset
  1935
! !
c590ef71ca2a sharedpool inspector
Claus Gittinger <cg@exept.de>
parents: 9324
diff changeset
  1936
7754
7c76e5708dfa oops - got corrupted
Claus Gittinger <cg@exept.de>
parents: 7753
diff changeset
  1937
!Smalltalk class methodsFor:'inspecting'!
7c76e5708dfa oops - got corrupted
Claus Gittinger <cg@exept.de>
parents: 7753
diff changeset
  1938
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1939
inspectorClass
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1940
    "{ Pragma: +optSpace }"
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1941
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1942
    "redefined to launch a DictionaryInspector (instead of the default Inspector)."
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1943
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1944
    ^ DictionaryInspectorView
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1945
! !
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1946
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1947
!StringCollection methodsFor:'debugging support'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1948
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1949
inspector2TabText
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1950
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1951
    ^self newInspector2Tab
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1952
        label: 'String';
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1953
        priority: 25;
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1954
        view: ((ScrollableView for:TextView) contents: self asString; yourself)
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1955
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1956
    "Created: / 17-02-2008 / 10:13:07 / janfrog"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1957
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1958
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1959
!Symbol methodsFor:'accessing'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1960
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1961
formattedCode
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1962
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1963
    "Used by CodeGenerator"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1964
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1965
    ^self
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1966
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1967
    "Created: / 07-07-2009 / 20:03:21 / Jan Vrany <vranyj1@fel.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1968
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1969
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1970
!Text methodsFor:'debugging support'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1971
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1972
inspector2TabText
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1973
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1974
    ^self newInspector2Tab
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1975
        label: 'Text';
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1976
        priority: 75;
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1977
        view: ((ScrollableView for:TextView) contents: self; yourself)
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1978
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1979
    "Created: / 17-02-2008 / 09:03:36 / janfrog"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1980
    "Modified: / 17-02-2008 / 10:28:33 / janfrog"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1981
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  1982
7754
7c76e5708dfa oops - got corrupted
Claus Gittinger <cg@exept.de>
parents: 7753
diff changeset
  1983
!Text methodsFor:'inspecting'!
7c76e5708dfa oops - got corrupted
Claus Gittinger <cg@exept.de>
parents: 7753
diff changeset
  1984
8843
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1985
inspectorExtraAttributes
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1986
    "extra (pseudo instvar) entries to be shown in an inspector."
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1987
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1988
    ^ Dictionary new
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1989
	declareAllNewFrom:(super inspectorExtraAttributes ? #());
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1990
	add:'-text' -> [ self ];
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1991
	yourself
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1992
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1993
    "
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1994
     'hello' allBold inspect
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1995
    "
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1996
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1997
    "Created: / 18-09-2006 / 21:25:52 / cg"
Claus Gittinger <cg@exept.de>
parents: 8839
diff changeset
  1998
    "Modified: / 06-10-2006 / 13:57:38 / cg"
7299
efa954fda5c1 inspector code now as extension
Claus Gittinger <cg@exept.de>
parents: 7298
diff changeset
  1999
! !
8918
230356e1b722 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8844
diff changeset
  2000
9691
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
  2001
!Timestamp methodsFor:'inspecting'!
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
  2002
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
  2003
inspectorExtraAttributes
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
  2004
    "extra (pseudo instvar) entries to be shown in an inspector."
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
  2005
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
  2006
    ^ Dictionary new
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
  2007
        declareAllNewFrom:(super inspectorExtraAttributes ? #());
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
  2008
        add:'-dayInWeek' -> [ self dayInWeek printString , ' "', self asDate dayOfWeekName , '"' ];
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
  2009
        add:'-dayInYear' -> [ self dayInYear ];
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
  2010
        add:'-daysInMonth' -> [ self asDate daysInMonth ];
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
  2011
        add:'-monthName' -> [ self asDate monthName ];
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
  2012
        add:'-leapYear' -> [ self asDate isLeapYear ];
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
  2013
        yourself
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
  2014
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
  2015
    "
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
  2016
     Timestamp now inspect
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
  2017
    "
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
  2018
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
  2019
    "Created: / 20-01-2011 / 12:19:05 / cg"
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
  2020
! !
312706640f5c better date and timestamp inspecting
Claus Gittinger <cg@exept.de>
parents: 9673
diff changeset
  2021
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2022
!UserPreferences methodsFor:'accessing-prefs-browser'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2023
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2024
alwaysOpenNewTabWhenCtrlClick
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2025
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2026
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2027
        UserPreferences current alwaysOpenNewTabWhenCtrlClick 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2028
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2029
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2030
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2031
    ^ self at:#alwaysOpenNewTabWhenCtrlClick ifAbsent:false.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2032
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2033
    "Created: / 19-10-2008 / 08:00:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2034
    "Modified: / 14-02-2010 / 19:37:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2035
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2036
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2037
!UserPreferences methodsFor:'accessing-prefs-browser'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2038
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2039
alwaysOpenNewTabWhenCtrlClick: aBoolean
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2040
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2041
    self at:#alwaysOpenNewTabWhenCtrlClick put: aBoolean
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2042
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2043
    "Created: / 19-10-2008 / 08:01:45 / Jan Vrany <vranyj1@fel.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2044
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2045
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2046
!UserPreferences methodsFor:'accessing-prefs-browser'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2047
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2048
showBookmarkBar
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2049
    "experimental."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2050
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2051
    ^ self at:#showBookmarkBar ifAbsent: true.
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2052
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2053
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2054
     UserPreferences current showBookmarkBar
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2055
     UserPreferences current showBookmarkBar:true
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2056
     UserPreferences current showBookmarkBar:false
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2057
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2058
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2059
    "Created: / 18-05-2011 / 16:48:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2060
    "Modified: / 03-06-2011 / 11:01:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2061
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2062
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2063
!UserPreferences methodsFor:'accessing-prefs-browser'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2064
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2065
showBookmarkBar: aBoolean
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2066
    "experimental."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2067
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2068
    ^ self at:#showBookmarkBar put: aBoolean
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2069
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2070
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2071
     UserPreferences current showBookmarkBar
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2072
     UserPreferences current showBookmarkBar:true
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2073
     UserPreferences current showBookmarkBar:false
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2074
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2075
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2076
    "Created: / 18-05-2011 / 17:28:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2077
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2078
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2079
!UserPreferences methodsFor:'accessing-prefs-browser'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2080
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2081
showEmbeddedTestRunnerInBrowser
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2082
    "experimental."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2083
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2084
    ^ self at:#showEmbeddedTestRunnerInBrowser ifAbsent:false
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2085
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2086
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2087
     UserPreferences current showEmbeddedTestRunnerInBrowser
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2088
     UserPreferences current showEmbeddedTestRunnerInBrowser:true
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2089
     UserPreferences current showEmbeddedTestRunnerInBrowser:false
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2090
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2091
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2092
    "Created: / 11-03-2010 / 10:11:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2093
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2094
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2095
!UserPreferences methodsFor:'accessing-prefs-browser'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2096
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2097
showEmbeddedTestRunnerInBrowser:aBoolean
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2098
    "experimental."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2099
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2100
    ^ self at:#showEmbeddedTestRunnerInBrowser put:aBoolean
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2101
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2102
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2103
     UserPreferences current showEmbeddedTestRunnerInBrowser:true
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2104
     UserPreferences current showEmbeddedTestRunnerInBrowser:false
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2105
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2106
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2107
    "Created: / 11-03-2010 / 10:11:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2108
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2109
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2110
!UserPreferences methodsFor:'accessing-prefs-browser'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2111
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2112
showMethodTemplate
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2113
    "experimental."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2114
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2115
    ^ self at:#showMethodTemplate ifAbsent:true
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2116
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2117
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2118
     UserPreferences current showMethodTemplate
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2119
     UserPreferences current showMethodTemplate:true
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2120
     UserPreferences current showMethodTemplate:false
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2121
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2122
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2123
    "Created: / 12-02-2010 / 12:06:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2124
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2125
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2126
!UserPreferences methodsFor:'accessing-prefs-browser'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2127
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2128
showMethodTemplate:aBoolean
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2129
    "experimental."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2130
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2131
    ^ self at:#showMethodTemplate put:aBoolean
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2132
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2133
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2134
     UserPreferences current showMethodTemplate:true
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2135
     UserPreferences current showMethodTemplate:false
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2136
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2137
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2138
    "Created: / 12-02-2010 / 12:05:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2139
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2140
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2141
!UserPreferences methodsFor:'accessing-prefs-browser'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2142
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2143
useCodeView2InTools
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2144
    ^self at:#useCodeView2InTools ifAbsent:false
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2145
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2146
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2147
     UserPreferences current useCodeView2InTools 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2148
     UserPreferences current useCodeView2InTools:true 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2149
     UserPreferences current useCodeView2InTools:false"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2150
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2151
    "Created: / 12-02-2010 / 12:13:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2152
    "Modified: / 15-02-2010 / 09:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2153
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2154
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2155
!UserPreferences methodsFor:'accessing-prefs-browser'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2156
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2157
useCodeView2InTools:aBoolean 
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2158
    ^self at:#useCodeView2InTools put:aBoolean
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2159
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2160
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2161
     UserPreferences current useCodeView2InBrowser:true
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2162
     UserPreferences current useCodeView2InBrowser:false"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2163
    "Created: / 12-02-2010 / 12:14:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2164
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2165
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2166
!UserPreferences methodsFor:'accessing-prefs-browser'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2167
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2168
webBrowserLikeLayout
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2169
    "experimental."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2170
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2171
    ^ self at:#webBrowserLikeLayout ifAbsent: false
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2172
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2173
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2174
     UserPreferences current webBrowserLikeLayout
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2175
     UserPreferences current webBrowserLikeLayout:true
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2176
     UserPreferences current webBrowserLikeLayout:false
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2177
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2178
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2179
    "Created: / 07-06-2011 / 14:33:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2180
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2181
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2182
!UserPreferences methodsFor:'accessing-prefs-browser'!
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2183
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2184
webBrowserLikeLayout: aBoolean
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2185
    "experimental."
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2186
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2187
    ^ self at:#webBrowserLikeLayout put: aBoolean
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2188
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2189
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2190
     UserPreferences current webBrowserLikeLayout
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2191
     UserPreferences current webBrowserLikeLayout:true
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2192
     UserPreferences current webBrowserLikeLayout:false
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2193
    "
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2194
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2195
    "Created: / 07-06-2011 / 14:31:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2196
! !
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2197
8919
e18fa0224d6e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8918
diff changeset
  2198
!stx_libtool class methodsFor:'documentation'!
e18fa0224d6e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8918
diff changeset
  2199
e18fa0224d6e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8918
diff changeset
  2200
extensionsVersion_CVS
10051
5b7e30460ea4 support non-class based code completion
Claus Gittinger <cg@exept.de>
parents: 9691
diff changeset
  2201
    ^ '$Header: /cvs/stx/stx/libtool/extensions.st,v 1.31 2011-07-03 14:27:26 cg Exp $'
8970
7b17f7901516 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 8919
diff changeset
  2202
! !