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