FramedBox.st
author claus
Mon, 06 Feb 1995 01:53:30 +0100
changeset 77 565b052f5277
parent 70 14443a9ea4ec
child 118 3ee5ea99d0e2
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     1
"
5
claus
parents: 3
diff changeset
     2
 COPYRIGHT (c) 1991 by Claus Gittinger
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
     3
	      All Rights Reserved
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     4
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    11
"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    12
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    13
View subclass:#FramedBox
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
    14
	 instanceVariableNames:'label layout fgColor showFrame frame3D'
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
    15
	 classVariableNames:''
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
    16
	 poolDictionaries:''
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
    17
	 category:'Views-Layout'
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    18
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    19
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    20
FramedBox comment:'
5
claus
parents: 3
diff changeset
    21
COPYRIGHT (c) 1991 by Claus Gittinger
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
    22
	      All Rights Reserved
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    23
70
14443a9ea4ec *** empty log message ***
claus
parents: 59
diff changeset
    24
$Header: /cvs/stx/stx/libwidg/FramedBox.st,v 1.9 1994-11-28 21:05:00 claus Exp $
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    25
'!
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    26
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    27
!FramedBox class methodsFor:'documentation'!
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    28
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    29
copyright
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    30
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    31
 COPYRIGHT (c) 1991 by Claus Gittinger
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
    32
	      All Rights Reserved
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    33
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    34
 This software is furnished under a license and may be used
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    35
 only in accordance with the terms of that license and with the
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    36
 inclusion of the above copyright notice.   This software may not
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    37
 be provided or otherwise made available to, or used by, any
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    38
 other person.  No title to or ownership of the software is
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    39
 hereby transferred.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    40
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    41
!
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    42
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    43
version
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    44
"
70
14443a9ea4ec *** empty log message ***
claus
parents: 59
diff changeset
    45
$Header: /cvs/stx/stx/libwidg/FramedBox.st,v 1.9 1994-11-28 21:05:00 claus Exp $
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    46
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    47
!
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    48
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    49
documentation
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    50
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    51
    a frame around something. The frame may have a label, whose position
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    52
    is controlled by the layout variable, aSymbol which may be one of:
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    53
    [#topCenter #topLeft #topRight #bottomLeft #bottomCenter #bottomRight]
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    54
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    55
    Its also possible, to not show the frame but only the label, by setting
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    56
    showFrame to false.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    57
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    58
! !
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    59
3
claus
parents: 0
diff changeset
    60
!FramedBox methodsFor:'private'!
claus
parents: 0
diff changeset
    61
claus
parents: 0
diff changeset
    62
redrawIfShown
claus
parents: 0
diff changeset
    63
    shown ifTrue:[
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
    64
	self clear.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
    65
	self redraw
3
claus
parents: 0
diff changeset
    66
    ]
claus
parents: 0
diff changeset
    67
! !
claus
parents: 0
diff changeset
    68
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    69
!FramedBox methodsFor:'accessing'!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    70
3
claus
parents: 0
diff changeset
    71
foregroundColor
claus
parents: 0
diff changeset
    72
    "return the frame labels foreground color"
claus
parents: 0
diff changeset
    73
claus
parents: 0
diff changeset
    74
    ^ fgColor
claus
parents: 0
diff changeset
    75
!
claus
parents: 0
diff changeset
    76
claus
parents: 0
diff changeset
    77
foregroundColor:aColor
claus
parents: 0
diff changeset
    78
    "set the frame labels foreground color"
claus
parents: 0
diff changeset
    79
claus
parents: 0
diff changeset
    80
    aColor ~= fgColor ifTrue:[
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
    81
	fgColor := aColor.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
    82
	self redrawIfShown
3
claus
parents: 0
diff changeset
    83
    ]
claus
parents: 0
diff changeset
    84
!
claus
parents: 0
diff changeset
    85
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    86
frameShown
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    87
    "return true, if frame is shown;
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    88
     if false, oly the label is shown"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    89
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    90
    ^ showFrame
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    91
!
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    92
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    93
showFrame:aBoolean
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    94
    "turn on/off showing of the frame -
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    95
     without a frame, only the label is shown at its position"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    96
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
    97
    aBoolean ~~ showFrame ifTrue:[
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
    98
	showFrame := aBoolean.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
    99
	self redrawIfShown
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   100
    ]
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   101
!
3
claus
parents: 0
diff changeset
   102
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   103
label
3
claus
parents: 0
diff changeset
   104
    "return the frames labelstring"
claus
parents: 0
diff changeset
   105
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   106
    ^ label
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   107
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   108
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   109
label:aString
3
claus
parents: 0
diff changeset
   110
    "set the frames labelstring"
claus
parents: 0
diff changeset
   111
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   112
    (label ~= aString) ifTrue:[
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   113
	label := aString.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   114
	self redrawIfShown
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   115
    ]
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   116
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   117
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   118
font:aFont
3
claus
parents: 0
diff changeset
   119
    "set the frame labelstrings font"
claus
parents: 0
diff changeset
   120
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   121
    (font ~= aFont) ifTrue:[
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   122
	super font:aFont.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   123
	self redrawIfShown
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   124
    ]
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   125
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   126
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   127
viewRectangle
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   128
    "return the inside area - redefined to save frame from
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   129
     relative computations"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   130
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   131
    |m2 sep|
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   132
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   133
    sep := font height.
25
975bead4571a *** empty log message ***
claus
parents: 24
diff changeset
   134
    m2 := sep + sep "+ sep".
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   135
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   136
    showFrame ifFalse:[
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   137
	^ (0 @ sep) extent:(width @ height)
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   138
    ].
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   139
    ^ (sep @ sep) extent:((width - sep) @ (height - sep))
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   140
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   141
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   142
layout
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   143
    "return the current layout, which is a symbol describing
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   144
     the labels position."
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   145
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   146
    ^ layout
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   147
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   148
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   149
layout:aSymbol
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   150
    "define the position of the label;
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   151
     aSymbol may be: #topLeft, #topCenter, #topRight;
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   152
     #bottomLeft, #bottomCenter or #bottomRight"
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   153
3
claus
parents: 0
diff changeset
   154
    layout ~~ aSymbol ifTrue:[
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   155
	layout := aSymbol.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   156
	self redrawIfShown
3
claus
parents: 0
diff changeset
   157
    ]
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   158
! !
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   159
70
14443a9ea4ec *** empty log message ***
claus
parents: 59
diff changeset
   160
!FramedBox methodsFor:'event handling'!
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   161
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   162
sizeChanged:how
3
claus
parents: 0
diff changeset
   163
    self redrawIfShown.
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   164
    super sizeChanged:how
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   165
! !
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   166
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   167
!FramedBox methodsFor:'drawing'!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   168
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   169
drawFrame
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   170
    "redraw the frame"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   171
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   172
    |sep halfSep w h|
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   173
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   174
    "
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   175
     if there is no label, give more real estate to the inside
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   176
    "
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   177
    label isNil ifTrue:[
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   178
	halfSep := 2
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   179
    ] ifFalse:[
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   180
	halfSep := font height // 2.
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   181
    ].
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   182
    sep := halfSep * 2.
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   183
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   184
    w := width - sep.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   185
    h := height - sep.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   186
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   187
    frame3D ifFalse:[
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   188
	self displayRectangleX:halfSep 
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   189
			     y:halfSep
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   190
			 width:w 
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   191
			height:h.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   192
	^ self
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   193
    ].
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   194
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   195
    w := w + 1.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   196
    h := h + 1.
7
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   197
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   198
    self paint:shadowColor.
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   199
    self displayRectangleX:halfSep-1 
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   200
			 y:halfSep-1
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   201
		     width:w 
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   202
		    height:h.
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   203
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   204
    self paint:lightColor.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   205
    self displayRectangleX:halfSep 
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   206
			 y:halfSep
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   207
		     width:w
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   208
		    height:h
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   209
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   210
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   211
redraw
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   212
    "redraw the frame and name if present"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   213
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   214
    |labelLen l x y|
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   215
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   216
    label isNil ifTrue:[
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   217
	labelLen := 0
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   218
    ] ifFalse:[
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   219
	l := ' ' , label , ' '.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   220
	labelLen := font widthOf:l
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   221
    ].
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   222
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   223
    showFrame ifTrue:[
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   224
	self drawFrame.
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   225
    ].
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   226
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   227
    labelLen > 0 ifTrue:[
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   228
	labelLen < width ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   229
	    (#(topLeft topCenter topRight) includes:layout) ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   230
		y := font ascent.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   231
	    ] ifFalse:[
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   232
		y := height - font descent.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   233
	    ].
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   234
	    (#(topLeft bottomLeft) includes:layout) ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   235
		x := font height
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   236
	    ] ifFalse:[
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   237
		(#(topRight bottomRight) includes:layout) ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   238
		    x := width - labelLen - font height
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   239
		] ifFalse:[
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   240
		    x := (width - labelLen) // 2
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   241
		]
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   242
	    ].
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   243
	    self paint:fgColor on:viewBackground.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   244
	    self displayOpaqueString:l x:x y:y
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   245
	]
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   246
    ]
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   247
! !
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   248
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   249
!FramedBox methodsFor:'initialization'!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   250
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   251
initialize
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   252
    super initialize.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   253
    showFrame := true
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   254
!
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   255
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   256
initStyle
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   257
    "default position is top-center, except for ms-windows, where
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   258
     the text is positioned at top-left"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   259
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   260
    super initStyle.
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 25
diff changeset
   261
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   262
    fgColor := StyleSheet at:'framedBoxForegroundColor' default:Black.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   263
    layout := StyleSheet at:'framedBoxLabelPosition' default:#topCenter.
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
   264
    frame3D := StyleSheet at:'framedBox3DFrame' default:true.
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   265
! !