EnterBox.st
author Claus Gittinger <cg@exept.de>
Thu, 16 Nov 1995 21:34:12 +0100
changeset 181 dc72c27581b7
parent 174 d80a6cc3f9b2
child 197 00927189c882
permissions -rw-r--r--
added requestPassword
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) 1990 by Claus Gittinger
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
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
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
    13
'From Smalltalk/X, Version:2.10.4 on 28-dec-1994 at 2:45:44 pm'!
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
    14
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
    15
DialogBox subclass:#EnterBox
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
    16
	 instanceVariableNames:'labelField enterField'
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
    17
	 classVariableNames:''
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
    18
	 poolDictionaries:''
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
    19
	 category:'Views-DialogBoxes'
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    20
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    21
3
claus
parents: 0
diff changeset
    22
!EnterBox class methodsFor:'documentation'!
claus
parents: 0
diff changeset
    23
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    24
copyright
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    25
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    26
 COPYRIGHT (c) 1990 by Claus Gittinger
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
    27
	      All Rights Reserved
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    28
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    29
 This software is furnished under a license and may be used
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    30
 only in accordance with the terms of that license and with the
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    31
 inclusion of the above copyright notice.   This software may not
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    32
 be provided or otherwise made available to, or used by, any
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    33
 other person.  No title to or ownership of the software is
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    34
 hereby transferred.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    35
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    36
!
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    37
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    38
version
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
    39
    ^ '$Header: /cvs/stx/stx/libwidg/EnterBox.st,v 1.32 1995-11-16 20:34:12 cg Exp $'
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    40
!
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    41
3
claus
parents: 0
diff changeset
    42
documentation
claus
parents: 0
diff changeset
    43
"
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    44
    this class implements a pop-up box to enter some string
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    45
    with 2 buttons; a cancel button, and a trigger-action button.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    46
    The boxes title can be changed using: 
3
claus
parents: 0
diff changeset
    47
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
    48
	aBox title:'some string'
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    49
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    50
    The two button-labels default to 'abort' and 'ok'; 
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    51
    they can be changed using:
3
claus
parents: 0
diff changeset
    52
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
    53
	aBox okText:'someString'
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
    54
	aBox abortText:'someString'
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    55
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    56
    The initial text in the enterfield can be set using:
3
claus
parents: 0
diff changeset
    57
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
    58
	aBox initialText:'someString'
3
claus
parents: 0
diff changeset
    59
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    60
    when the ok-button is pressed, an action is performed, which is
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    61
    set using:
3
claus
parents: 0
diff changeset
    62
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
    63
	aBox action:[ ... ]
3
claus
parents: 0
diff changeset
    64
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    65
    the abort-action defaults to no-action, but can also be set.
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    66
    The box can be opened modal (i.e. the currently active view will
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    67
    be suspended) or modeless. The default is modal (i.e. sending #open
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    68
    is equivalent to #openModal).
62
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
    69
"
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
    70
!
3
claus
parents: 0
diff changeset
    71
62
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
    72
examples 
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
    73
"
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
    74
    examples:
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
    75
	|box|
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
    76
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
    77
	box := EnterBox new.
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
    78
	box title:'your name please:'.
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
    79
	box action:[:arg | Transcript showCr:'entered: ' , arg printString].
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
    80
	box open
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
    81
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
    82
    non-modal:
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
    83
	|box|
8
82e87dc3540e *** empty log message ***
claus
parents: 7
diff changeset
    84
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
    85
	box := EnterBox new.
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
    86
	box title:'your name please:'.
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
    87
	box action:[:arg | Transcript showCr:'entered: ' , arg printString].
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
    88
	box openModeless
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
    89
62
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
    90
    for easier instance creation, there are also some combination
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
    91
    methods for instance creation:
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
    92
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
    93
	|box|
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
    94
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
    95
	box := EnterBox 
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
    96
		 title:'your name please:'
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
    97
		 action:[:arg | Transcript showCr:'entered: ' , arg printString].
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
    98
	box openModeless
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
    99
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   100
    If the box is needed to ask for a simple string, you can also use the
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   101
    #request method, to bring up a box, let it ask for something and return
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   102
    the entered string. This method will return nil, if the box was
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   103
    closed with the 'abort' button.
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   104
    Example:
8
82e87dc3540e *** empty log message ***
claus
parents: 7
diff changeset
   105
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   106
	|box string|
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   107
60
f3c738c24ce6 mostly style
claus
parents: 59
diff changeset
   108
	box := EnterBox request:'input some string:'.
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   109
	string isNil ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   110
	    Transcript showCr:'no input'
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   111
	] ifFalse:[
134
claus
parents: 131
diff changeset
   112
	    Transcript showCr:('the entered string was: ' , string)
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   113
	]
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
   114
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   115
    of course, this can be written shorter as:
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   116
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   117
	|string|
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   118
60
f3c738c24ce6 mostly style
claus
parents: 59
diff changeset
   119
	string := EnterBox request:'input some string:'.
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   120
	string isNil ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   121
	    Transcript showCr:'no input'
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   122
	] ifFalse:[
134
claus
parents: 131
diff changeset
   123
	    Transcript showCr:('the entered string was: ' , string)
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   124
	]
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   125
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   126
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   127
    A box for passwords is created with:
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   128
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   129
	|box|
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   130
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   131
	box := EnterBox 
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   132
		 title:'your name please:'
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   133
		 action:[:arg | Transcript showCr:'entered: ' , arg printString].
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   134
	box enterField passwordCharacter:$*.
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   135
	box showAtPointer
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   136
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   137
    or simply:
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   138
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   139
	|string|
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   140
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   141
	string := EnterBox requestPassword:'enter your password:'.
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   142
	Transcript showCr:string.
3
claus
parents: 0
diff changeset
   143
"
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   144
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   145
    "Modified: 16.11.1995 / 21:28:11 / cg"
3
claus
parents: 0
diff changeset
   146
! !
claus
parents: 0
diff changeset
   147
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   148
!EnterBox class methodsFor:'instance creation'!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   149
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   150
action:aBlock
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   151
    "create and return a new EnterBox 
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   152
     which will evaluate aBlock when 'ok' is pressed"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   153
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   154
    ^ (self new) action:aBlock
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   155
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   156
    "(EnterBox action:[:string | Transcript showCr:string]) showAtPointer"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   157
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   158
62
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   159
title:titleString
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   160
    "create and return a new EnterBox with title aString"
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   161
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   162
    ^ self new title:titleString
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   163
!
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   164
101
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   165
title:titleString action:aBlock
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   166
    "create and return a new EnterBox with title aString,
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   167
     which will evaluate aBlock when 'ok' is pressed"
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   168
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   169
    ^ (self title:titleString) action:aBlock
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   170
!
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   171
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   172
title:titleString okText:okText action:aBlock
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   173
    "create and return a new EnterBox with title aString, and ok button showing
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   174
     okText; it will evaluate aBlock when 'ok' is pressed"
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   175
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   176
    ^ (self title:titleString action:aBlock) okText:okText
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   177
!
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   178
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   179
title:titleString okText:okText abortText:abortText action:aBlock
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   180
    "create and return a new EnterBox with title aString, and buttons showing
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   181
     okText and abortText; it will evaluate aBlock when 'ok' is pressed"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   182
101
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   183
    ^ (self title:titleString okText:okText action:aBlock) abortText:abortText 
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   184
! !
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   185
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   186
!EnterBox class methodsFor:'defaults'!
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   187
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   188
minExtent
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   189
    ^ self defaultExtent
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   190
!
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   191
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   192
defaultExtent
131
claus
parents: 130
diff changeset
   193
    ^ (Screen current pixelPerMillimeter * (60 @ 30)) rounded
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   194
! !
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   195
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   196
!EnterBox class methodsFor:'easy startup '!
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   197
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   198
request:aTitle
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   199
    "create and show an enterBox asking for aTitle.
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   200
     Return the enterred string or nil (if abort was pressed).
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   201
     The string may be empty, in case return was pressed immediately."
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   202
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   203
    ^ self new request:aTitle
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   204
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   205
    "
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   206
     EnterBox request:'enter a string'
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   207
    "
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   208
!
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   209
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   210
requestPassword:aTitle
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   211
    "create and show an enterBox asking for aTitle.
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   212
     The box is setup to NOT display entered characters (as with password entry).
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   213
     Return the entered string or nil (if abort was pressed).
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   214
     The string may be empty, in case return was pressed immediately."
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   215
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   216
    ^ self new requestPassword:aTitle
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   217
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   218
    "
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   219
     |s|
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   220
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   221
     s := EnterBox requestPassword:'enter a string'.
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   222
     Transcript showCr:'you entered: ' , s
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   223
    "
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   224
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   225
    "Created: 16.11.1995 / 21:25:08 / cg"
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   226
! !
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   227
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   228
!EnterBox methodsFor:'accessing'!
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   229
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   230
contents
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   231
    "return my contents"
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   232
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   233
    ^ enterField contents
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   234
!
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   235
144
claus
parents: 139
diff changeset
   236
contents:aString
claus
parents: 139
diff changeset
   237
    "set my contents"
claus
parents: 139
diff changeset
   238
claus
parents: 139
diff changeset
   239
    enterField contents:aString
claus
parents: 139
diff changeset
   240
!
claus
parents: 139
diff changeset
   241
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   242
initialText:aString
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   243
    "define the initial text in the enterfield. all will be selected initially"
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   244
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   245
    enterField initialText:aString
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   246
!
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   247
144
claus
parents: 139
diff changeset
   248
entryCompletionBlock:aBlock
claus
parents: 139
diff changeset
   249
    enterField entryCompletionBlock:aBlock
claus
parents: 139
diff changeset
   250
!
claus
parents: 139
diff changeset
   251
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   252
title:aString
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   253
    "set the title to be displayed at top of enterBox"
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   254
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   255
    |oldSize|
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   256
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   257
    aString ~= labelField label ifTrue:[
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   258
	oldSize := labelField extent.
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   259
	labelField label:aString.
110
eb59f6e31e84 *** empty log message ***
claus
parents: 105
diff changeset
   260
	labelField forceResize.
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   261
118
claus
parents: 113
diff changeset
   262
	shown ifTrue:[
claus
parents: 113
diff changeset
   263
	    labelField extent ~= oldSize ifTrue:[
claus
parents: 113
diff changeset
   264
		self resize
claus
parents: 113
diff changeset
   265
	    ]
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   266
	]
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   267
    ]
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   268
!
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   269
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   270
initialText:aString selectFrom:start to:stop
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   271
    "define the initial text in the enterfield, and the part to be selected"
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   272
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   273
    enterField initialText:aString.
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   274
    enterField selectFromLine:1 col:start toLine:1 col:stop
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   275
!
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   276
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   277
title:titleString okText:okString
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   278
    "set title and text in okbutton"
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   279
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   280
    (titleString ~= labelField label or:[okString ~= okButton label]) ifTrue:[
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   281
	okButton label:okString.
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   282
	okButton resize.
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   283
	labelField label:titleString.
110
eb59f6e31e84 *** empty log message ***
claus
parents: 105
diff changeset
   284
	labelField forceResize.
97
cbf495fe3b64 *** empty log message ***
claus
parents: 90
diff changeset
   285
	shown ifTrue:[self resize].
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   286
    ]
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   287
!
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   288
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   289
title:titleString okText:okString abortText:abortString
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   290
    "set title and texts in the buttons"
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   291
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   292
    (titleString ~= labelField label 
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   293
     or:[okString ~= okButton label
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   294
     or:[abortString ~= abortButton label]]) ifTrue:[
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   295
	okButton label:okString.
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   296
	okButton resize.
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   297
	abortButton label:abortString.
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   298
	abortButton resize.
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   299
	labelField label:titleString.
110
eb59f6e31e84 *** empty log message ***
claus
parents: 105
diff changeset
   300
	labelField forceResize.
97
cbf495fe3b64 *** empty log message ***
claus
parents: 90
diff changeset
   301
	shown ifTrue:[self resize].
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   302
    ]
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   303
!
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   304
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   305
enterField
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   306
    "provide access to the entryfield"
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   307
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   308
    ^ enterField
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   309
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   310
    "Created: 16.11.1995 / 21:23:48 / cg"
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   311
!
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   312
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   313
labelField
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   314
    "provide access to the labelfield"
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   315
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   316
    ^ labelField
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   317
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   318
    "Created: 16.11.1995 / 21:23:48 / cg"
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   319
! !
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   320
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   321
!EnterBox methodsFor:'initialization'!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   322
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   323
createEnterField
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   324
    "this has been extracted from the initialize method
121
claus
parents: 118
diff changeset
   325
     to allow redefinition in subclasses. (FilenameEnterBox for example).
claus
parents: 118
diff changeset
   326
     It shall return a new instance of the desired editField class."
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   327
121
claus
parents: 118
diff changeset
   328
     ^ EditField new.
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   329
!
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   330
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   331
initialize
90
6e94d68102a4 *** empty log message ***
claus
parents: 77
diff changeset
   332
    |space2 innerWidth|
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   333
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   334
    super initialize.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   335
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   336
    self addAbortButton; addOkButton.
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   337
150
claus
parents: 144
diff changeset
   338
    label := resources string:'Enter'.
73
2cd4588996e8 last version before using new DialogBox
claus
parents: 62
diff changeset
   339
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   340
    space2 := 2 * ViewSpacing.
73
2cd4588996e8 last version before using new DialogBox
claus
parents: 62
diff changeset
   341
    innerWidth := width - space2.
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   342
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   343
    labelField := Label in:self.
118
claus
parents: 113
diff changeset
   344
    labelField 
claus
parents: 113
diff changeset
   345
	label:''; 
claus
parents: 113
diff changeset
   346
	borderWidth:0;
claus
parents: 113
diff changeset
   347
	adjust:#left;
claus
parents: 113
diff changeset
   348
	origin:(0.0 @ ViewSpacing) extent:[1.0 @ labelField height];
claus
parents: 113
diff changeset
   349
	leftInset:ViewSpacing; 
claus
parents: 113
diff changeset
   350
	rightInset:ViewSpacing.
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   351
121
claus
parents: 118
diff changeset
   352
    self addComponent:(enterField := self createEnterField).
118
claus
parents: 113
diff changeset
   353
    enterField 
130
claus
parents: 122
diff changeset
   354
	origin:[0.0 @ (space2 + labelField preferredExtent y "height")]
139
claus
parents: 134
diff changeset
   355
	extent:(1.0 @ enterField height).
118
claus
parents: 113
diff changeset
   356
    enterField 
139
claus
parents: 134
diff changeset
   357
	leftInset:ViewSpacing-enterField borderWidth; 
118
claus
parents: 113
diff changeset
   358
	rightInset:ViewSpacing;
claus
parents: 113
diff changeset
   359
	leaveAction:[:key | self okPressed].
claus
parents: 113
diff changeset
   360
130
claus
parents: 122
diff changeset
   361
    enterField addDependent:self. "to get preferredExtent-changes"
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   362
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   363
    "
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   364
     forward keyboard input to the enterfield
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   365
    "
122
claus
parents: 121
diff changeset
   366
    self delegate:(KeyboardForwarder toView:enterField condition:#noFocus).
121
claus
parents: 118
diff changeset
   367
    enterField hasKeyboardFocus:true.
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   368
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   369
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   370
reAdjustGeometry
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   371
    "sent late in snapin processing - gives me a chance
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   372
     to resize for new font dimensions"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   373
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   374
    super reAdjustGeometry.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   375
    labelField resize.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   376
    okButton resize.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   377
    abortButton resize.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   378
    self resize
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   379
!
7
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   380
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   381
focusSequence
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   382
    ^ Array with:enterField with:abortButton with:okButton 
7
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   383
! !
15a9291b9bd0 *** empty log message ***
claus
parents: 5
diff changeset
   384
155
claus
parents: 150
diff changeset
   385
!EnterBox methodsFor:'change & update'!
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   386
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   387
update:something with:someArgument from:changedObject
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   388
    "sent if my enterbox thinks it needs more real-estate ..."
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   389
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   390
    changedObject == enterField ifTrue:[
130
claus
parents: 122
diff changeset
   391
	something == #preferredExtent ifTrue:[
155
claus
parents: 150
diff changeset
   392
	    shown ifTrue:[self resizeUnderPointer].
105
3d064ba4a0cc *** empty log message ***
claus
parents: 101
diff changeset
   393
	    ^ self
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   394
	]
105
3d064ba4a0cc *** empty log message ***
claus
parents: 101
diff changeset
   395
    ].
3d064ba4a0cc *** empty log message ***
claus
parents: 101
diff changeset
   396
    super update:something with:someArgument from:changedObject
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   397
! !
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   398
62
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   399
!EnterBox methodsFor:'queries'!
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   400
130
claus
parents: 122
diff changeset
   401
preferredExtent 
110
eb59f6e31e84 *** empty log message ***
claus
parents: 105
diff changeset
   402
    |wWanted hWanted wPanel vs2 min 
eb59f6e31e84 *** empty log message ***
claus
parents: 105
diff changeset
   403
     labelPref enterPref panelPref|
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   404
130
claus
parents: 122
diff changeset
   405
    panelPref := buttonPanel preferredExtent.
claus
parents: 122
diff changeset
   406
    labelPref := labelField preferredExtent.
claus
parents: 122
diff changeset
   407
    enterPref := enterField preferredExtent.
110
eb59f6e31e84 *** empty log message ***
claus
parents: 105
diff changeset
   408
    wWanted := (labelPref x max:enterPref x).
eb59f6e31e84 *** empty log message ***
claus
parents: 105
diff changeset
   409
    wPanel := panelPref x.
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   410
    wPanel > wWanted ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   411
	wWanted := wPanel
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   412
    ].
110
eb59f6e31e84 *** empty log message ***
claus
parents: 105
diff changeset
   413
eb59f6e31e84 *** empty log message ***
claus
parents: 105
diff changeset
   414
    hWanted := labelPref y + enterPref y +
73
2cd4588996e8 last version before using new DialogBox
claus
parents: 62
diff changeset
   415
	       (ViewSpacing * 6) + panelPref y + ViewSpacing.
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   416
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   417
    min := self class minExtent.
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   418
    wWanted <  min x ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   419
	wWanted :=  min x
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   420
    ].
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   421
    hWanted <  min y ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   422
	hWanted :=  min y
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   423
    ].
110
eb59f6e31e84 *** empty log message ***
claus
parents: 105
diff changeset
   424
    vs2 := ViewSpacing * 2.
eb59f6e31e84 *** empty log message ***
claus
parents: 105
diff changeset
   425
    ^ (wWanted + vs2) @ (hWanted + vs2) 
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   426
! !
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   427
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   428
!EnterBox methodsFor:'user actions'!
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   429
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   430
hideAndEvaluate:aBlock
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   431
    "common processing for all ok-actions (see subclasses);
155
claus
parents: 150
diff changeset
   432
     if modal, shut down box. 
claus
parents: 150
diff changeset
   433
     Then fetch entered string and evaluate the passed action with it"
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   434
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   435
    |string|
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   436
155
claus
parents: 150
diff changeset
   437
    (windowGroup notNil and:[windowGroup isModal]) ifTrue:[
claus
parents: 150
diff changeset
   438
	self hide.
claus
parents: 150
diff changeset
   439
    ].
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   440
    aBlock notNil ifTrue:[
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   441
	string := self contents.
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   442
	string isNil ifTrue:[
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   443
	    string := ''
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   444
	] ifFalse:[
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   445
	    string := string withoutSeparators
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   446
	].
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   447
	aBlock value:string
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   448
    ]
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   449
! !
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   450
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   451
!EnterBox methodsFor:'startup'!
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   452
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   453
request
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   454
    "open the box and return the entered string or nil, if
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   455
     abort was pressed"
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   456
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   457
    self action:[:string | ^ string].
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   458
    self open.
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   459
    ^ nil
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   460
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   461
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   462
request:title
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   463
    "set the title, open the box and return the entered string or nil, if
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   464
     abort was pressed"
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   465
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   466
    self title:title.
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   467
    ^ self request
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   468
!
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   469
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   470
requestPassword
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   471
    "open the box for a password (i.e. hide entered characters)
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   472
     and return the entered string or nil, if abort was pressed"
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   473
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   474
    enterField passwordCharacter:$*.
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   475
    ^ self request.
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   476
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   477
    "Created: 16.11.1995 / 21:25:33 / cg"
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   478
!
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   479
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   480
requestPassword:title
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   481
    "set the title, set password mode, open the box and return the entered string or nil, if
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   482
     abort was pressed"
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   483
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   484
    enterField passwordCharacter:$*.
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   485
    ^ self request:title
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   486
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   487
    "Created: 16.11.1995 / 21:25:33 / cg"
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   488
! !