DrawAdaptor.st
author Claus Gittinger <cg@exept.de>
Sun, 29 Jan 2017 02:26:51 +0100
changeset 3853 5a78ffcf69de
parent 3356 93f87a1eb6c0
child 3927 8841d8751db1
permissions -rw-r--r--
#FEATURE by cg class: TypeConverter changed: #timeOfClass:withFormat:orDefault:language:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     1
"
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     2
 COPYRIGHT (c) 2008 by eXept Software AG
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     3
              All Rights Reserved
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     4
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    10
 hereby transferred.
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    11
"
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libview2' }"
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    13
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    14
Object subclass:#DrawAdaptor
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    15
	instanceVariableNames:'value drawValue'
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    16
	classVariableNames:''
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    17
	poolDictionaries:''
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    18
	category:'Views-Support'
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    19
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    20
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    21
!DrawAdaptor class methodsFor:'documentation'!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    22
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    23
copyright 
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    24
"
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    25
 COPYRIGHT (c) 2008 by eXept Software AG
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    26
              All Rights Reserved
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    27
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    28
 This software is furnished under a license and may be used
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    29
 only in accordance with the terms of that license and with the
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    30
 inclusion of the above copyright notice.   This software may not
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    31
 be provided or otherwise made available to, or used by, any
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    32
 other person.  No title to or ownership of the software is
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    33
 hereby transferred.
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    34
"
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    35
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    36
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    37
documentation
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    38
"
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    39
    DrawAdaptor constains to values:
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    40
        - any Object
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    41
        - a replacement Object to be used only for draw operations.
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    42
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    43
    Use this class whenever you want to show something different for a given object -
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    44
    e.g. to show some language specific text instead of a symbol or any object in ComboBoxes/PopUpLists.
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    45
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    46
    [author:]
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    47
        Stefan Vogel (stefan@zwerg)
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    48
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    49
    [instance variables:]
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    50
        value       Object      the original object
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    51
        drawValue   Object      the replacement object used for draw operations
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    52
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    53
    [class variables:]
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    54
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    55
    [see also:]
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    56
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    57
"
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    58
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    59
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    60
examples
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    61
"
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    62
                                                                                    [exBegin]
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    63
    |labelList top comboList|
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    64
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    65
    labelList := DrawAdaptor collection:#(File Classes System Windows)
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    66
                             withResources:Launcher classResources.
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    67
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    68
     top := StandardSystemView new.
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    69
     top extent:(300 @ 200).
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    70
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    71
     comboList := ComboListView in:top.
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    72
     comboList origin:(0.0 @ 0.0) corner:(1.0 @ 0.0).
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    73
     comboList bottomInset:(comboList preferredExtent y negated).
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    74
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    75
     comboList list:labelList.
2523
497ef51ffbe6 documentation
Stefan Vogel <sv@exept.de>
parents: 2502
diff changeset
    76
     comboList contents:labelList first.
497ef51ffbe6 documentation
Stefan Vogel <sv@exept.de>
parents: 2502
diff changeset
    77
     comboList action:[:selected | Transcript showCR:selected realValue].
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    78
     top open.
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    79
                                                                                     [exEnd]
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    80
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    81
"
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    82
! !
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    83
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    84
!DrawAdaptor class methodsFor:'instance creation'!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    85
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    86
collection:aCollectionOfObjects withResources:resourcePack
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    87
    "create a collection of DrawAdaptors from aCollectionOfObjects (usually strings or symbols).
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    88
     Use resourcePack to do the translation"
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    89
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    90
    ^ aCollectionOfObjects collect:[:each|
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    91
            self value:each withResources:resourcePack
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    92
        ].
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    93
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    94
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    95
    "
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    96
      self collection:#(a File c) withResources:Launcher classResources
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    97
    "
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    98
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    99
2531
ada08d130fb0 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2524
diff changeset
   100
value:value
2532
6036e9c41f6d Do not allow value: to set the realValue - avoid recursion errors when accessing a DrawValue
Stefan Vogel <sv@exept.de>
parents: 2531
diff changeset
   101
    ^ self new realValue:value
2531
ada08d130fb0 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2524
diff changeset
   102
!
ada08d130fb0 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2524
diff changeset
   103
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   104
value:value drawValue:drawValue 
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   105
    ^ self new value:value drawValue:drawValue 
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   106
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   107
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   108
value:anObject withResources:resourcePack
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   109
    "Create a DrawAdaptor for anObject,
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   110
     Resolved via the translations in resourcePack"
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   111
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   112
    ^ self new value:anObject drawValue:(resourcePack string:anObject)
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   113
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   114
    "
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   115
      self value:#Hello withResources:Launcher classResources
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   116
    "
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   117
! !
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   118
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   119
!DrawAdaptor methodsFor:'accessing'!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   120
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   121
asString
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   122
    ^ drawValue
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   123
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   124
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   125
drawValue
2531
ada08d130fb0 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2524
diff changeset
   126
    ^ drawValue ? value
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   127
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   128
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   129
drawValue:something
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   130
    drawValue := something.
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   131
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   132
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   133
realValue
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   134
    ^ value
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   135
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   136
2532
6036e9c41f6d Do not allow value: to set the realValue - avoid recursion errors when accessing a DrawValue
Stefan Vogel <sv@exept.de>
parents: 2531
diff changeset
   137
realValue:something
6036e9c41f6d Do not allow value: to set the realValue - avoid recursion errors when accessing a DrawValue
Stefan Vogel <sv@exept.de>
parents: 2531
diff changeset
   138
    value := something.
6036e9c41f6d Do not allow value: to set the realValue - avoid recursion errors when accessing a DrawValue
Stefan Vogel <sv@exept.de>
parents: 2531
diff changeset
   139
!
6036e9c41f6d Do not allow value: to set the realValue - avoid recursion errors when accessing a DrawValue
Stefan Vogel <sv@exept.de>
parents: 2531
diff changeset
   140
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   141
string
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   142
    ^ drawValue
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   143
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   144
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   145
value:valueArg drawValue:drawValueArg 
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   146
    value := valueArg.
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   147
    drawValue := drawValueArg.
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   148
! !
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   149
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   150
!DrawAdaptor methodsFor:'comparing'!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   151
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   152
= anObject
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   153
    "two TranslatedSymbols are equal, if they have the same symbol"
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   154
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   155
    self species == anObject species ifTrue:[
2524
166a10a040c1 changed #'=' fix error when comparing
Stefan Vogel <sv@exept.de>
parents: 2523
diff changeset
   156
        ^ value = anObject realValue.
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   157
    ].
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   158
    ^ value = anObject.
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   159
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   160
    "
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   161
        (self value:#hash drawValue:'x') = #hash
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   162
        (self value:#hash drawValue:'x') = 1
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   163
        (self value:#hash drawValue:'x') = (self value:#hash drawValue:'y')
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   164
    "
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   165
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   166
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   167
hash
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   168
    "equal, if they have the same realObject"
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   169
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   170
    ^ value hash
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   171
! !
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   172
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   173
!DrawAdaptor methodsFor:'delegation drawing'!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   174
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   175
ascentOn:aGc
2531
ada08d130fb0 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2524
diff changeset
   176
    ^ self drawValue ascentOn:aGc
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   177
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   178
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   179
displayOn:aGCOrStream
3356
93f87a1eb6c0 displayOn: cleanup
Claus Gittinger <cg@exept.de>
parents: 2616
diff changeset
   180
    "/ what a kludge - Dolphin and Squeak mean: printOn: a stream;
93f87a1eb6c0 displayOn: cleanup
Claus Gittinger <cg@exept.de>
parents: 2616
diff changeset
   181
    "/ ST/X (and some old ST80's) mean: draw-yourself on a GC.
93f87a1eb6c0 displayOn: cleanup
Claus Gittinger <cg@exept.de>
parents: 2616
diff changeset
   182
    (aGCOrStream isStream) ifFalse:[
93f87a1eb6c0 displayOn: cleanup
Claus Gittinger <cg@exept.de>
parents: 2616
diff changeset
   183
        self drawValue displayOn:aGCOrStream x:0 y:0.
93f87a1eb6c0 displayOn: cleanup
Claus Gittinger <cg@exept.de>
parents: 2616
diff changeset
   184
    ] ifTrue:[
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   185
        aGCOrStream
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   186
            nextPutAll:self className;
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   187
            nextPut:$(.
2532
6036e9c41f6d Do not allow value: to set the realValue - avoid recursion errors when accessing a DrawValue
Stefan Vogel <sv@exept.de>
parents: 2531
diff changeset
   188
        self realValue printOn:aGCOrStream.
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   189
        aGCOrStream nextPutAll:'->'.
2531
ada08d130fb0 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2524
diff changeset
   190
        self drawValue printOn:aGCOrStream.
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   191
        aGCOrStream nextPut:$).
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   192
    ].
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   193
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   194
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   195
displayOn:aGc x:x y:y opaque:opaque
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   196
    "copied from object, but do the ascent handling here"
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   197
2531
ada08d130fb0 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2524
diff changeset
   198
    self drawValue displayOn:aGc x:x y:y opaque:opaque.
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   199
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   200
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   201
heightOn:aGC
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   202
    "return the height of the receiver, if it is to be displayed on aGC"
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   203
2531
ada08d130fb0 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2524
diff changeset
   204
    ^ self drawValue heightOn:aGC
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   205
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   206
2531
ada08d130fb0 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2524
diff changeset
   207
printOn:aStream
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   208
    "this hast to be redefined to allow access from ComboLists via pressing the first character key"
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   209
2531
ada08d130fb0 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2524
diff changeset
   210
    ^ self drawValue printOn:aStream
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   211
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   212
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   213
widthFrom:startIndex to:endIndex on:aGC
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   214
    "return the width of the receiver, if it is to be displayed on aGC"
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   215
2531
ada08d130fb0 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2524
diff changeset
   216
    ^ self drawValue widthFrom:startIndex to:endIndex on:aGC
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   217
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   218
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   219
widthOn:aGc
2531
ada08d130fb0 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2524
diff changeset
   220
    ^ self drawValue widthOn:aGc
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   221
! !
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   222
2616
98c4ab65ef38 new #rebindWith:
Stefan Vogel <sv@exept.de>
parents: 2532
diff changeset
   223
!DrawAdaptor methodsFor:'misc'!
98c4ab65ef38 new #rebindWith:
Stefan Vogel <sv@exept.de>
parents: 2532
diff changeset
   224
98c4ab65ef38 new #rebindWith:
Stefan Vogel <sv@exept.de>
parents: 2532
diff changeset
   225
rebindWith:resources
98c4ab65ef38 new #rebindWith:
Stefan Vogel <sv@exept.de>
parents: 2532
diff changeset
   226
    drawValue := resources string:value
98c4ab65ef38 new #rebindWith:
Stefan Vogel <sv@exept.de>
parents: 2532
diff changeset
   227
! !
98c4ab65ef38 new #rebindWith:
Stefan Vogel <sv@exept.de>
parents: 2532
diff changeset
   228
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   229
!DrawAdaptor class methodsFor:'documentation'!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   230
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   231
version
3356
93f87a1eb6c0 displayOn: cleanup
Claus Gittinger <cg@exept.de>
parents: 2616
diff changeset
   232
    ^ '$Header: /cvs/stx/stx/libview2/DrawAdaptor.st,v 1.7 2014-07-10 12:23:21 cg Exp $'
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   233
! !
3356
93f87a1eb6c0 displayOn: cleanup
Claus Gittinger <cg@exept.de>
parents: 2616
diff changeset
   234