DrawAdaptor.st
author Claus Gittinger <cg@exept.de>
Fri, 11 Jan 2013 16:13:27 +0100
changeset 3053 2c1b6c1e317f
parent 2616 98c4ab65ef38
child 3356 93f87a1eb6c0
permissions -rw-r--r--
*** empty log message ***
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
! !