DrawAdaptor.st
author Claus Gittinger <cg@exept.de>
Tue, 03 Sep 2013 17:23:55 +0200
changeset 3228 187a4158a51a
parent 2616 98c4ab65ef38
child 3356 93f87a1eb6c0
permissions -rw-r--r--
class: FlyByHelp changed: #initiateHelpFor:at:now: #showHelp:for: changed the flyBy suppression slightly: if the same text is to be shown again, do not show it except if the help is for another widget. (used to check for the text only previously)
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
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   180
    (aGCOrStream isStream or:[aGCOrStream == Transcript]) ifTrue:[
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   181
        aGCOrStream
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   182
            nextPutAll:self className;
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   183
            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
   184
        self realValue printOn:aGCOrStream.
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   185
        aGCOrStream nextPutAll:'->'.
2531
ada08d130fb0 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2524
diff changeset
   186
        self drawValue printOn:aGCOrStream.
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   187
        aGCOrStream nextPut:$).
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   188
    ] ifFalse:[
2531
ada08d130fb0 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2524
diff changeset
   189
        self drawValue displayOn:aGCOrStream x:0 y:0.
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   190
    ].
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   191
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   192
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   193
displayOn:aGc x:x y:y opaque:opaque
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   194
    "copied from object, but do the ascent handling here"
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   195
2531
ada08d130fb0 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2524
diff changeset
   196
    self drawValue displayOn:aGc x:x y:y opaque:opaque.
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   197
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   198
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   199
heightOn:aGC
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   200
    "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
   201
2531
ada08d130fb0 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2524
diff changeset
   202
    ^ self drawValue heightOn:aGC
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   203
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   204
2531
ada08d130fb0 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2524
diff changeset
   205
printOn:aStream
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   206
    "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
   207
2531
ada08d130fb0 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2524
diff changeset
   208
    ^ self drawValue printOn:aStream
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   209
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   210
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   211
widthFrom:startIndex to:endIndex on:aGC
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   212
    "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
   213
2531
ada08d130fb0 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2524
diff changeset
   214
    ^ self drawValue widthFrom:startIndex to:endIndex on:aGC
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   215
!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   216
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   217
widthOn:aGc
2531
ada08d130fb0 *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 2524
diff changeset
   218
    ^ self drawValue widthOn:aGc
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   219
! !
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   220
2616
98c4ab65ef38 new #rebindWith:
Stefan Vogel <sv@exept.de>
parents: 2532
diff changeset
   221
!DrawAdaptor methodsFor:'misc'!
98c4ab65ef38 new #rebindWith:
Stefan Vogel <sv@exept.de>
parents: 2532
diff changeset
   222
98c4ab65ef38 new #rebindWith:
Stefan Vogel <sv@exept.de>
parents: 2532
diff changeset
   223
rebindWith:resources
98c4ab65ef38 new #rebindWith:
Stefan Vogel <sv@exept.de>
parents: 2532
diff changeset
   224
    drawValue := resources string:value
98c4ab65ef38 new #rebindWith:
Stefan Vogel <sv@exept.de>
parents: 2532
diff changeset
   225
! !
98c4ab65ef38 new #rebindWith:
Stefan Vogel <sv@exept.de>
parents: 2532
diff changeset
   226
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   227
!DrawAdaptor class methodsFor:'documentation'!
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   228
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   229
version
2616
98c4ab65ef38 new #rebindWith:
Stefan Vogel <sv@exept.de>
parents: 2532
diff changeset
   230
    ^ '$Header: /cvs/stx/stx/libview2/DrawAdaptor.st,v 1.6 2009-03-23 07:22:24 stefan Exp $'
2502
50d27de32abd initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   231
! !