DialogBox.st
author claus
Mon, 06 Feb 1995 01:52:01 +0100
changeset 76 81e3409404d2
child 91 e8db16616e97
permissions -rw-r--r--
Initial revision
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
76
81e3409404d2 Initial revision
claus
parents:
diff changeset
     1
"
81e3409404d2 Initial revision
claus
parents:
diff changeset
     2
 COPYRIGHT (c) 1994 by Claus Gittinger
81e3409404d2 Initial revision
claus
parents:
diff changeset
     3
	      All Rights Reserved
81e3409404d2 Initial revision
claus
parents:
diff changeset
     4
81e3409404d2 Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
81e3409404d2 Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
81e3409404d2 Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
81e3409404d2 Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
81e3409404d2 Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
81e3409404d2 Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
81e3409404d2 Initial revision
claus
parents:
diff changeset
    11
"
81e3409404d2 Initial revision
claus
parents:
diff changeset
    12
81e3409404d2 Initial revision
claus
parents:
diff changeset
    13
81e3409404d2 Initial revision
claus
parents:
diff changeset
    14
'From Smalltalk/X, Version:2.10.4 on 28-dec-1994 at 1:38:02 pm'!
81e3409404d2 Initial revision
claus
parents:
diff changeset
    15
81e3409404d2 Initial revision
claus
parents:
diff changeset
    16
ModalBox subclass:#DialogBox
81e3409404d2 Initial revision
claus
parents:
diff changeset
    17
	 instanceVariableNames:'buttonPanel okButton okAction abortButton abortAction
81e3409404d2 Initial revision
claus
parents:
diff changeset
    18
		acceptReturnAsOK'
81e3409404d2 Initial revision
claus
parents:
diff changeset
    19
	 classVariableNames:''
81e3409404d2 Initial revision
claus
parents:
diff changeset
    20
	 poolDictionaries:''
81e3409404d2 Initial revision
claus
parents:
diff changeset
    21
	 category:'Views-DialogBoxes'
81e3409404d2 Initial revision
claus
parents:
diff changeset
    22
!
81e3409404d2 Initial revision
claus
parents:
diff changeset
    23
81e3409404d2 Initial revision
claus
parents:
diff changeset
    24
!DialogBox class methodsFor:'documentation'!
81e3409404d2 Initial revision
claus
parents:
diff changeset
    25
81e3409404d2 Initial revision
claus
parents:
diff changeset
    26
version
81e3409404d2 Initial revision
claus
parents:
diff changeset
    27
"
81e3409404d2 Initial revision
claus
parents:
diff changeset
    28
$Header: /cvs/stx/stx/libwidg/DialogBox.st,v 1.1 1995-02-06 00:52:01 claus Exp $
81e3409404d2 Initial revision
claus
parents:
diff changeset
    29
"
81e3409404d2 Initial revision
claus
parents:
diff changeset
    30
!
81e3409404d2 Initial revision
claus
parents:
diff changeset
    31
81e3409404d2 Initial revision
claus
parents:
diff changeset
    32
documentation
81e3409404d2 Initial revision
claus
parents:
diff changeset
    33
"
81e3409404d2 Initial revision
claus
parents:
diff changeset
    34
    this class implements the common behavior of dialogboxes.
81e3409404d2 Initial revision
claus
parents:
diff changeset
    35
81e3409404d2 Initial revision
claus
parents:
diff changeset
    36
    DialogBox is an (abstract) superclass of many other boxes - see InfoBox,
81e3409404d2 Initial revision
claus
parents:
diff changeset
    37
    WarningBox, YesNoBox etc. for concrete examples.
81e3409404d2 Initial revision
claus
parents:
diff changeset
    38
    Most of them simply add buttons or other elements.
81e3409404d2 Initial revision
claus
parents:
diff changeset
    39
81e3409404d2 Initial revision
claus
parents:
diff changeset
    40
    instance variables:
81e3409404d2 Initial revision
claus
parents:
diff changeset
    41
81e3409404d2 Initial revision
claus
parents:
diff changeset
    42
	buttonPanel      <PanelView>    contains the button(s)
81e3409404d2 Initial revision
claus
parents:
diff changeset
    43
81e3409404d2 Initial revision
claus
parents:
diff changeset
    44
	okButton         <Button>       the ok-Button
81e3409404d2 Initial revision
claus
parents:
diff changeset
    45
81e3409404d2 Initial revision
claus
parents:
diff changeset
    46
	okAction         <Block>        the action to be performed when ok is pressed,
81e3409404d2 Initial revision
claus
parents:
diff changeset
    47
					or return is pressed.
81e3409404d2 Initial revision
claus
parents:
diff changeset
    48
81e3409404d2 Initial revision
claus
parents:
diff changeset
    49
	acceptReturnAsOK <Boolean>      if true, pressing the return-key counts
81e3409404d2 Initial revision
claus
parents:
diff changeset
    50
					as if ok was pressed. Default is true.
81e3409404d2 Initial revision
claus
parents:
diff changeset
    51
81e3409404d2 Initial revision
claus
parents:
diff changeset
    52
	abortButton      <Button>       the cancel-Button
81e3409404d2 Initial revision
claus
parents:
diff changeset
    53
81e3409404d2 Initial revision
claus
parents:
diff changeset
    54
	abortAction      <Block>        the action to be performed when cancel is
81e3409404d2 Initial revision
claus
parents:
diff changeset
    55
					pressed.
81e3409404d2 Initial revision
claus
parents:
diff changeset
    56
"
81e3409404d2 Initial revision
claus
parents:
diff changeset
    57
!
81e3409404d2 Initial revision
claus
parents:
diff changeset
    58
81e3409404d2 Initial revision
claus
parents:
diff changeset
    59
examples
81e3409404d2 Initial revision
claus
parents:
diff changeset
    60
"
81e3409404d2 Initial revision
claus
parents:
diff changeset
    61
    DialogBox new open
81e3409404d2 Initial revision
claus
parents:
diff changeset
    62
81e3409404d2 Initial revision
claus
parents:
diff changeset
    63
81e3409404d2 Initial revision
claus
parents:
diff changeset
    64
    DialogBox new addOkButton; open
81e3409404d2 Initial revision
claus
parents:
diff changeset
    65
    DialogBox new addAbortButton; addOkButton; open
81e3409404d2 Initial revision
claus
parents:
diff changeset
    66
"
81e3409404d2 Initial revision
claus
parents:
diff changeset
    67
!
81e3409404d2 Initial revision
claus
parents:
diff changeset
    68
81e3409404d2 Initial revision
claus
parents:
diff changeset
    69
copyright
81e3409404d2 Initial revision
claus
parents:
diff changeset
    70
"
81e3409404d2 Initial revision
claus
parents:
diff changeset
    71
 COPYRIGHT (c) 1994 by Claus Gittinger
81e3409404d2 Initial revision
claus
parents:
diff changeset
    72
	      All Rights Reserved
81e3409404d2 Initial revision
claus
parents:
diff changeset
    73
81e3409404d2 Initial revision
claus
parents:
diff changeset
    74
 This software is furnished under a license and may be used
81e3409404d2 Initial revision
claus
parents:
diff changeset
    75
 only in accordance with the terms of that license and with the
81e3409404d2 Initial revision
claus
parents:
diff changeset
    76
 inclusion of the above copyright notice.   This software may not
81e3409404d2 Initial revision
claus
parents:
diff changeset
    77
 be provided or otherwise made available to, or used by, any
81e3409404d2 Initial revision
claus
parents:
diff changeset
    78
 other person.  No title to or ownership of the software is
81e3409404d2 Initial revision
claus
parents:
diff changeset
    79
 hereby transferred.
81e3409404d2 Initial revision
claus
parents:
diff changeset
    80
"
81e3409404d2 Initial revision
claus
parents:
diff changeset
    81
! !
81e3409404d2 Initial revision
claus
parents:
diff changeset
    82
81e3409404d2 Initial revision
claus
parents:
diff changeset
    83
!DialogBox methodsFor:'user actions'!
81e3409404d2 Initial revision
claus
parents:
diff changeset
    84
81e3409404d2 Initial revision
claus
parents:
diff changeset
    85
okPressed
81e3409404d2 Initial revision
claus
parents:
diff changeset
    86
    "user pressed ok-button; make myself invisible and if an action was
81e3409404d2 Initial revision
claus
parents:
diff changeset
    87
     specified do it"
81e3409404d2 Initial revision
claus
parents:
diff changeset
    88
81e3409404d2 Initial revision
claus
parents:
diff changeset
    89
    self hideAndEvaluate:okAction
81e3409404d2 Initial revision
claus
parents:
diff changeset
    90
!
81e3409404d2 Initial revision
claus
parents:
diff changeset
    91
81e3409404d2 Initial revision
claus
parents:
diff changeset
    92
abortPressed
81e3409404d2 Initial revision
claus
parents:
diff changeset
    93
    "user pressed abort button - hide myself and evaluate okAction"
81e3409404d2 Initial revision
claus
parents:
diff changeset
    94
81e3409404d2 Initial revision
claus
parents:
diff changeset
    95
    self hideAndEvaluate:abortAction
81e3409404d2 Initial revision
claus
parents:
diff changeset
    96
!
81e3409404d2 Initial revision
claus
parents:
diff changeset
    97
81e3409404d2 Initial revision
claus
parents:
diff changeset
    98
keyPress:aKey x:x y:y
81e3409404d2 Initial revision
claus
parents:
diff changeset
    99
    "return-key dublicates ok-function if acceptReturnAsOK is true"
81e3409404d2 Initial revision
claus
parents:
diff changeset
   100
81e3409404d2 Initial revision
claus
parents:
diff changeset
   101
    acceptReturnAsOK ifTrue:[
81e3409404d2 Initial revision
claus
parents:
diff changeset
   102
	(aKey == #Return) ifTrue:[^ self okPressed]
81e3409404d2 Initial revision
claus
parents:
diff changeset
   103
    ].
81e3409404d2 Initial revision
claus
parents:
diff changeset
   104
    super keyPress:aKey x:x y:y
81e3409404d2 Initial revision
claus
parents:
diff changeset
   105
! !
81e3409404d2 Initial revision
claus
parents:
diff changeset
   106
81e3409404d2 Initial revision
claus
parents:
diff changeset
   107
!DialogBox methodsFor:'queries'!
81e3409404d2 Initial revision
claus
parents:
diff changeset
   108
81e3409404d2 Initial revision
claus
parents:
diff changeset
   109
positionOffset
81e3409404d2 Initial revision
claus
parents:
diff changeset
   110
    "return the delta, by which the box should be displayed
81e3409404d2 Initial revision
claus
parents:
diff changeset
   111
     from the mouse pointer. Value returned here makes center of
81e3409404d2 Initial revision
claus
parents:
diff changeset
   112
     okButton appear under the cursor"
81e3409404d2 Initial revision
claus
parents:
diff changeset
   113
81e3409404d2 Initial revision
claus
parents:
diff changeset
   114
    okButton isNil ifTrue:[
81e3409404d2 Initial revision
claus
parents:
diff changeset
   115
	^ self extent // 2
81e3409404d2 Initial revision
claus
parents:
diff changeset
   116
    ].
81e3409404d2 Initial revision
claus
parents:
diff changeset
   117
    buttonPanel setChildPositionsIfChanged.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   118
    ^ (okButton originRelativeTo:self) + (okButton extent // 2)
81e3409404d2 Initial revision
claus
parents:
diff changeset
   119
!
81e3409404d2 Initial revision
claus
parents:
diff changeset
   120
81e3409404d2 Initial revision
claus
parents:
diff changeset
   121
preferedExtent 
81e3409404d2 Initial revision
claus
parents:
diff changeset
   122
    "return my prefered extent"
81e3409404d2 Initial revision
claus
parents:
diff changeset
   123
81e3409404d2 Initial revision
claus
parents:
diff changeset
   124
    |w h|
81e3409404d2 Initial revision
claus
parents:
diff changeset
   125
81e3409404d2 Initial revision
claus
parents:
diff changeset
   126
    okButton isNil ifTrue:[
81e3409404d2 Initial revision
claus
parents:
diff changeset
   127
	^ super preferedExtent
81e3409404d2 Initial revision
claus
parents:
diff changeset
   128
    ].
81e3409404d2 Initial revision
claus
parents:
diff changeset
   129
    w := okButton preferedExtent x + (ViewSpacing * 2).
81e3409404d2 Initial revision
claus
parents:
diff changeset
   130
    h := ViewSpacing
81e3409404d2 Initial revision
claus
parents:
diff changeset
   131
	 + okButton preferedExtent y
81e3409404d2 Initial revision
claus
parents:
diff changeset
   132
	 + ViewSpacing.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   133
81e3409404d2 Initial revision
claus
parents:
diff changeset
   134
    ^ w @ h
81e3409404d2 Initial revision
claus
parents:
diff changeset
   135
! !
81e3409404d2 Initial revision
claus
parents:
diff changeset
   136
81e3409404d2 Initial revision
claus
parents:
diff changeset
   137
!DialogBox methodsFor:'initialization'!
81e3409404d2 Initial revision
claus
parents:
diff changeset
   138
81e3409404d2 Initial revision
claus
parents:
diff changeset
   139
initialize
81e3409404d2 Initial revision
claus
parents:
diff changeset
   140
    |mm|
81e3409404d2 Initial revision
claus
parents:
diff changeset
   141
81e3409404d2 Initial revision
claus
parents:
diff changeset
   142
    super initialize.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   143
81e3409404d2 Initial revision
claus
parents:
diff changeset
   144
    label := 'Dialog'.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   145
81e3409404d2 Initial revision
claus
parents:
diff changeset
   146
    mm := ViewSpacing.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   147
81e3409404d2 Initial revision
claus
parents:
diff changeset
   148
    acceptReturnAsOK := true.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   149
81e3409404d2 Initial revision
claus
parents:
diff changeset
   150
    buttonPanel := HorizontalPanelView in:self.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   151
    buttonPanel origin:(0.0 @ 1.0) corner:(1.0 @ 1.0).
81e3409404d2 Initial revision
claus
parents:
diff changeset
   152
    buttonPanel bottomInset:mm; 
81e3409404d2 Initial revision
claus
parents:
diff changeset
   153
		topInset:(font height + mm * 2) negated.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   154
    buttonPanel borderWidth:0.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   155
81e3409404d2 Initial revision
claus
parents:
diff changeset
   156
    buttonPanel layout:#spread.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   157
81e3409404d2 Initial revision
claus
parents:
diff changeset
   158
    "
81e3409404d2 Initial revision
claus
parents:
diff changeset
   159
     |b|
81e3409404d2 Initial revision
claus
parents:
diff changeset
   160
     b := DialogBox new.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   161
     b addAbortButton; addOkButton; showAtPointer
81e3409404d2 Initial revision
claus
parents:
diff changeset
   162
    "
81e3409404d2 Initial revision
claus
parents:
diff changeset
   163
    "
81e3409404d2 Initial revision
claus
parents:
diff changeset
   164
     |b|
81e3409404d2 Initial revision
claus
parents:
diff changeset
   165
     b := DialogBox new.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   166
     b addOkButton; showAtPointer
81e3409404d2 Initial revision
claus
parents:
diff changeset
   167
    "
81e3409404d2 Initial revision
claus
parents:
diff changeset
   168
!
81e3409404d2 Initial revision
claus
parents:
diff changeset
   169
81e3409404d2 Initial revision
claus
parents:
diff changeset
   170
addOkButton
81e3409404d2 Initial revision
claus
parents:
diff changeset
   171
    "create an okButton - to be sent from redefined initialize
81e3409404d2 Initial revision
claus
parents:
diff changeset
   172
     methods in subclasses."
81e3409404d2 Initial revision
claus
parents:
diff changeset
   173
81e3409404d2 Initial revision
claus
parents:
diff changeset
   174
    buttonPanel subViews size == 1 ifTrue:[
81e3409404d2 Initial revision
claus
parents:
diff changeset
   175
	buttonPanel layout:#fitSpace.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   176
    ].
81e3409404d2 Initial revision
claus
parents:
diff changeset
   177
    okButton := Button okButtonIn:buttonPanel.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   178
    okButton action:[
81e3409404d2 Initial revision
claus
parents:
diff changeset
   179
		       okButton turnOffWithoutRedraw.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   180
		       self okPressed 
81e3409404d2 Initial revision
claus
parents:
diff changeset
   181
		    ].
81e3409404d2 Initial revision
claus
parents:
diff changeset
   182
    okButton isReturnButton:acceptReturnAsOK.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   183
!
81e3409404d2 Initial revision
claus
parents:
diff changeset
   184
81e3409404d2 Initial revision
claus
parents:
diff changeset
   185
addAbortButton
81e3409404d2 Initial revision
claus
parents:
diff changeset
   186
    "create an abortButton - to be sent from redefined initialize
81e3409404d2 Initial revision
claus
parents:
diff changeset
   187
     methods in subclasses."
81e3409404d2 Initial revision
claus
parents:
diff changeset
   188
81e3409404d2 Initial revision
claus
parents:
diff changeset
   189
    buttonPanel subViews size == 1 ifTrue:[
81e3409404d2 Initial revision
claus
parents:
diff changeset
   190
	buttonPanel layout:#fitSpace.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   191
    ].
81e3409404d2 Initial revision
claus
parents:
diff changeset
   192
    abortButton := Button abortButtonIn:buttonPanel.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   193
    abortButton action:[
81e3409404d2 Initial revision
claus
parents:
diff changeset
   194
			   abortButton turnOffWithoutRedraw.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   195
			   self abortPressed
81e3409404d2 Initial revision
claus
parents:
diff changeset
   196
		       ].
81e3409404d2 Initial revision
claus
parents:
diff changeset
   197
!
81e3409404d2 Initial revision
claus
parents:
diff changeset
   198
81e3409404d2 Initial revision
claus
parents:
diff changeset
   199
reAdjustGeometry
81e3409404d2 Initial revision
claus
parents:
diff changeset
   200
    "sent late in snapin processing - gives me a chance
81e3409404d2 Initial revision
claus
parents:
diff changeset
   201
     to resize for changed font dimensions."
81e3409404d2 Initial revision
claus
parents:
diff changeset
   202
81e3409404d2 Initial revision
claus
parents:
diff changeset
   203
    super reAdjustGeometry.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   204
    okButton notNil ifTrue:[okButton resize].
81e3409404d2 Initial revision
claus
parents:
diff changeset
   205
    abortButton notNil ifTrue:[abortButton resize].
81e3409404d2 Initial revision
claus
parents:
diff changeset
   206
    self resize
81e3409404d2 Initial revision
claus
parents:
diff changeset
   207
! !
81e3409404d2 Initial revision
claus
parents:
diff changeset
   208
81e3409404d2 Initial revision
claus
parents:
diff changeset
   209
!DialogBox methodsFor:'private'!
81e3409404d2 Initial revision
claus
parents:
diff changeset
   210
81e3409404d2 Initial revision
claus
parents:
diff changeset
   211
hideAndEvaluate:aBlock
81e3409404d2 Initial revision
claus
parents:
diff changeset
   212
    "make myself invisible and evaluate aBlock"
81e3409404d2 Initial revision
claus
parents:
diff changeset
   213
81e3409404d2 Initial revision
claus
parents:
diff changeset
   214
    self hide.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   215
    aBlock notNil ifTrue:[aBlock value]
81e3409404d2 Initial revision
claus
parents:
diff changeset
   216
! !
81e3409404d2 Initial revision
claus
parents:
diff changeset
   217
81e3409404d2 Initial revision
claus
parents:
diff changeset
   218
!DialogBox methodsFor:'accessing'!
81e3409404d2 Initial revision
claus
parents:
diff changeset
   219
81e3409404d2 Initial revision
claus
parents:
diff changeset
   220
acceptReturnAsOK:aBoolean
81e3409404d2 Initial revision
claus
parents:
diff changeset
   221
    "turn on/off interpretation of return-key as ok.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   222
     Default is on"
81e3409404d2 Initial revision
claus
parents:
diff changeset
   223
81e3409404d2 Initial revision
claus
parents:
diff changeset
   224
    acceptReturnAsOK := aBoolean.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   225
    okButton notNil ifTrue:[
81e3409404d2 Initial revision
claus
parents:
diff changeset
   226
	okButton isReturnButton:aBoolean.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   227
    ]
81e3409404d2 Initial revision
claus
parents:
diff changeset
   228
!
81e3409404d2 Initial revision
claus
parents:
diff changeset
   229
81e3409404d2 Initial revision
claus
parents:
diff changeset
   230
okAction:aBlock
81e3409404d2 Initial revision
claus
parents:
diff changeset
   231
    "define the action to be performed when ok is pressed"
81e3409404d2 Initial revision
claus
parents:
diff changeset
   232
81e3409404d2 Initial revision
claus
parents:
diff changeset
   233
    okAction := aBlock
81e3409404d2 Initial revision
claus
parents:
diff changeset
   234
!
81e3409404d2 Initial revision
claus
parents:
diff changeset
   235
81e3409404d2 Initial revision
claus
parents:
diff changeset
   236
action:aBlock
81e3409404d2 Initial revision
claus
parents:
diff changeset
   237
    "set the action to be performed when user presses ok-button;
81e3409404d2 Initial revision
claus
parents:
diff changeset
   238
     aBlock must be nil or a block. This method simply
81e3409404d2 Initial revision
claus
parents:
diff changeset
   239
     reuses okAction: and has been added for a consistent action-setting
81e3409404d2 Initial revision
claus
parents:
diff changeset
   240
     protocol."
81e3409404d2 Initial revision
claus
parents:
diff changeset
   241
81e3409404d2 Initial revision
claus
parents:
diff changeset
   242
    self okAction:aBlock
81e3409404d2 Initial revision
claus
parents:
diff changeset
   243
!
81e3409404d2 Initial revision
claus
parents:
diff changeset
   244
81e3409404d2 Initial revision
claus
parents:
diff changeset
   245
okButton
81e3409404d2 Initial revision
claus
parents:
diff changeset
   246
    "return the okButton"
81e3409404d2 Initial revision
claus
parents:
diff changeset
   247
81e3409404d2 Initial revision
claus
parents:
diff changeset
   248
    ^ okButton
81e3409404d2 Initial revision
claus
parents:
diff changeset
   249
!
81e3409404d2 Initial revision
claus
parents:
diff changeset
   250
81e3409404d2 Initial revision
claus
parents:
diff changeset
   251
okText:aString
81e3409404d2 Initial revision
claus
parents:
diff changeset
   252
    "define the text in the ok-button"
81e3409404d2 Initial revision
claus
parents:
diff changeset
   253
81e3409404d2 Initial revision
claus
parents:
diff changeset
   254
    |oldSize|
81e3409404d2 Initial revision
claus
parents:
diff changeset
   255
81e3409404d2 Initial revision
claus
parents:
diff changeset
   256
    aString ~= okButton label ifTrue:[
81e3409404d2 Initial revision
claus
parents:
diff changeset
   257
	oldSize := okButton extent.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   258
	okButton label:aString.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   259
	okButton resize.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   260
	okButton extent ~= oldSize ifTrue:[
81e3409404d2 Initial revision
claus
parents:
diff changeset
   261
	    self resize
81e3409404d2 Initial revision
claus
parents:
diff changeset
   262
	]
81e3409404d2 Initial revision
claus
parents:
diff changeset
   263
    ]
81e3409404d2 Initial revision
claus
parents:
diff changeset
   264
!
81e3409404d2 Initial revision
claus
parents:
diff changeset
   265
81e3409404d2 Initial revision
claus
parents:
diff changeset
   266
abortAction:aBlock
81e3409404d2 Initial revision
claus
parents:
diff changeset
   267
    "define the action to be performed when abort is pressed"
81e3409404d2 Initial revision
claus
parents:
diff changeset
   268
81e3409404d2 Initial revision
claus
parents:
diff changeset
   269
    abortAction := aBlock
81e3409404d2 Initial revision
claus
parents:
diff changeset
   270
!
81e3409404d2 Initial revision
claus
parents:
diff changeset
   271
81e3409404d2 Initial revision
claus
parents:
diff changeset
   272
abortButton
81e3409404d2 Initial revision
claus
parents:
diff changeset
   273
    "return the abortButton"
81e3409404d2 Initial revision
claus
parents:
diff changeset
   274
81e3409404d2 Initial revision
claus
parents:
diff changeset
   275
    ^ abortButton
81e3409404d2 Initial revision
claus
parents:
diff changeset
   276
!
81e3409404d2 Initial revision
claus
parents:
diff changeset
   277
81e3409404d2 Initial revision
claus
parents:
diff changeset
   278
abortText:aString
81e3409404d2 Initial revision
claus
parents:
diff changeset
   279
    "define the label in the abort-button"
81e3409404d2 Initial revision
claus
parents:
diff changeset
   280
81e3409404d2 Initial revision
claus
parents:
diff changeset
   281
    |oldSize|
81e3409404d2 Initial revision
claus
parents:
diff changeset
   282
81e3409404d2 Initial revision
claus
parents:
diff changeset
   283
    aString ~= abortButton label ifTrue:[
81e3409404d2 Initial revision
claus
parents:
diff changeset
   284
	oldSize := abortButton extent.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   285
	abortButton label:aString.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   286
	abortButton resize.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   287
	abortButton extent ~= oldSize ifTrue:[
81e3409404d2 Initial revision
claus
parents:
diff changeset
   288
	    self resize
81e3409404d2 Initial revision
claus
parents:
diff changeset
   289
	]
81e3409404d2 Initial revision
claus
parents:
diff changeset
   290
    ]
81e3409404d2 Initial revision
claus
parents:
diff changeset
   291
!
81e3409404d2 Initial revision
claus
parents:
diff changeset
   292
81e3409404d2 Initial revision
claus
parents:
diff changeset
   293
okText:okString abortText:abortString
81e3409404d2 Initial revision
claus
parents:
diff changeset
   294
    "set both texts displayed in the buttons"
81e3409404d2 Initial revision
claus
parents:
diff changeset
   295
81e3409404d2 Initial revision
claus
parents:
diff changeset
   296
    (abortString ~= abortButton label 
81e3409404d2 Initial revision
claus
parents:
diff changeset
   297
    or:[okString ~= okButton label]) ifTrue:[
81e3409404d2 Initial revision
claus
parents:
diff changeset
   298
	okButton label:okString.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   299
	abortButton label:abortString.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   300
	okButton resize.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   301
	abortButton resize.
81e3409404d2 Initial revision
claus
parents:
diff changeset
   302
	self resize
81e3409404d2 Initial revision
claus
parents:
diff changeset
   303
    ]
81e3409404d2 Initial revision
claus
parents:
diff changeset
   304
! !
81e3409404d2 Initial revision
claus
parents:
diff changeset
   305