EnterBox.st
author Claus Gittinger <cg@exept.de>
Thu, 09 Nov 2017 20:09:30 +0100
changeset 6225 0122e4e6c587
parent 6220 319368c35cb9
child 6409 9f21c00d1e13
permissions -rw-r--r--
#FEATURE by cg class: GenericToolbarIconLibrary class added: #hideFilter16x16Icon
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
"
2227
58426f7611f2 category changes
Claus Gittinger <cg@exept.de>
parents: 2081
diff changeset
    12
"{ Package: 'stx:libwidg' }"
58426f7611f2 category changes
Claus Gittinger <cg@exept.de>
parents: 2081
diff changeset
    13
5285
974de5042b34 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 4559
diff changeset
    14
"{ NameSpace: Smalltalk }"
974de5042b34 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 4559
diff changeset
    15
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
    16
DialogBox subclass:#EnterBox
669
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
    17
	instanceVariableNames:'labelField enterField trimBlanks'
306
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
    18
	classVariableNames:''
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
    19
	poolDictionaries:''
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
    20
	category:'Views-DialogBoxes'
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    21
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    22
1613
5f5a595a696f defaultExtent a bit smaller.
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
    23
!EnterBox class methodsFor:'documentation'!
3
claus
parents: 0
diff changeset
    24
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    25
copyright
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    26
"
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    27
 COPYRIGHT (c) 1990 by Claus Gittinger
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
    28
	      All Rights Reserved
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    29
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    30
 This software is furnished under a license and may be used
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    31
 only in accordance with the terms of that license and with the
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    32
 inclusion of the above copyright notice.   This software may not
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    33
 be provided or otherwise made available to, or used by, any
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    34
 other person.  No title to or ownership of the software is
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    35
 hereby transferred.
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
3
claus
parents: 0
diff changeset
    39
documentation
claus
parents: 0
diff changeset
    40
"
355
a55f62047156 commentary
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    41
   Historic note:
a55f62047156 commentary
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    42
        originally, ST/X had separate classes for the various entry methods;
a55f62047156 commentary
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    43
        there were YesNoBox, EnterBox, InfoBox and so on.
a55f62047156 commentary
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    44
        In the meantime, the DialogBox class (and therefore its alias: Dialog)
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
    45
        is going to duplicate most functionality found in these classes.
355
a55f62047156 commentary
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    46
a55f62047156 commentary
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    47
        In the future, those existing subclasses' functionality is going to
a55f62047156 commentary
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    48
        be moved fully into Dialog, and the subclasses will be replaced by dummy
a55f62047156 commentary
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    49
        delegators. (They will be kept for backward compatibility, though).
a55f62047156 commentary
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    50
a55f62047156 commentary
Claus Gittinger <cg@exept.de>
parents: 306
diff changeset
    51
5286
592104ee4477 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5285
diff changeset
    52
    This class implements a pop-up box to enter some string
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    53
    with 2 buttons; a cancel button, and a trigger-action button.
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    54
    Normally, the box is created and opened with the single message:
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    55
        EnterBox request:'someString'
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    56
    which returns nil if aborted and the entered string otherwise.
3
claus
parents: 0
diff changeset
    57
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    58
    However, to control more details of the box, it may also be created first
5286
592104ee4477 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5285
diff changeset
    59
    (EnterBox new) and then modified as appropriate before it is shown.
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    60
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
    61
    For example, the boxes title can be changed with:
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    62
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    63
        aBox title:'some string'
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    64
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
    65
    The two button-labels default to 'abort' and 'ok';
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    66
    they can be changed using:
3
claus
parents: 0
diff changeset
    67
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    68
        aBox okText:'someString'
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    69
        aBox abortText:'someString'
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    70
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    71
    The initial text in the enterfield can be set using:
3
claus
parents: 0
diff changeset
    72
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    73
        aBox initialText:'someString'
3
claus
parents: 0
diff changeset
    74
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    75
    when the ok-button is pressed, an action is performed, which is
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    76
    set using:
3
claus
parents: 0
diff changeset
    77
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    78
        aBox action:[ ... ]
3
claus
parents: 0
diff changeset
    79
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    80
    the abort-action defaults to no-action, but can also be set.
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    81
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    82
    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
    83
    be suspended) or modeless. The default is modal (i.e. sending #open
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
    84
    is equivalent to #openModal).
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    85
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    86
    Most of the above is also available via messages to Dialog for ST-80 compatibility
5286
592104ee4477 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5285
diff changeset
    87
    (i.e. ""Dialog request:someString"" is the same as ""EnterBox request:'someString'"")
585
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
    88
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
    89
    [author:]
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
    90
        Claus Gittinger
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
    91
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
    92
    [see also:]
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
    93
        DialogBox
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    94
        EnterBox2 YesNoBox ListSelectionBox FileSelectionBox FileSaveBox
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    95
        EditField EditTextView
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    96
        EnterFieldGroup
62
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
    97
"
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
    98
!
3
claus
parents: 0
diff changeset
    99
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   100
examples
62
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   101
"
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   102
    examples (for ST-80 compatibility, please use Dialog messages):
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   103
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   104
    simple (most common):
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   105
                                                                        [exBegin]
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   106
        |someString|
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   107
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   108
        someString := EnterBox request:'enter a string'.
655
acad3ef3a46c showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   109
        Transcript showCR:someString
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   110
                                                                        [exEnd]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   111
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   112
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   113
    creating first, setting actions and manually opening:
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   114
                                                                        [exBegin]
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   115
        |box|
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   116
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   117
        box := EnterBox new.
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   118
        box title:'your name please:'.
669
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   119
        box action:[:arg | Transcript showCR:'entered: ''' , arg printString , ''''].
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   120
        box open
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   121
                                                                        [exEnd]
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   122
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   123
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   124
    turning off trimming of leading/trailing spaces (seldom required):
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   125
                                                                        [exBegin]
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   126
        |box|
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   127
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   128
        box := EnterBox new.
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   129
        box title:'your name please:'.
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   130
        box action:[:arg | Transcript showCR:'entered: ''' , arg printString , ''''].
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   131
        box trimBlanks:false.
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   132
        box open
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   133
                                                                        [exEnd]
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   134
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   135
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   136
    non-modal
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   137
    (just for the demo; it does not really make sense,
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   138
     since cancel-button has no effect):
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   139
                                                                        [exBegin]
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   140
        |box|
8
82e87dc3540e *** empty log message ***
claus
parents: 7
diff changeset
   141
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   142
        box := EnterBox new.
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   143
        box title:'your name please:'.
655
acad3ef3a46c showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   144
        box action:[:arg | Transcript showCR:'entered: ' , arg printString].
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   145
        box openModeless
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   146
                                                                        [exEnd]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   147
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   148
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   149
    for easier instance creation, there are also some combination methods:
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   150
                                                                        [exBegin]
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   151
        |box|
62
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   152
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   153
        box := EnterBox
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   154
                 title:'your name please:'
655
acad3ef3a46c showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   155
                 action:[:arg | Transcript showCR:'entered: ' , arg printString].
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   156
        box open
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   157
                                                                        [exEnd]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   158
62
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   159
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   160
    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
   161
    #request method, to bring up a box, let it ask for something and return
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   162
    the entered string. This method will return nil, if the box was
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   163
    closed with the 'abort' button.
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   164
    Example:
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   165
                                                                        [exBegin]
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   166
        |box string|
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   167
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   168
        box := EnterBox request:'input some string:'.
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   169
        string isNil ifTrue:[
655
acad3ef3a46c showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   170
            Transcript showCR:'no input'
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   171
        ] ifFalse:[
655
acad3ef3a46c showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   172
            Transcript showCR:('the entered string was: ' , string)
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   173
        ]
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   174
                                                                        [exEnd]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   175
38
4b9b70b2cc87 2.10.3 pre-final version
claus
parents: 19
diff changeset
   176
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   177
    of course, this can be written shorter as:
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   178
                                                                        [exBegin]
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   179
        |string|
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   180
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   181
        string := EnterBox request:'input some string:'.
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   182
        string isNil ifTrue:[
655
acad3ef3a46c showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   183
            Transcript showCR:'no input'
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   184
        ] ifFalse:[
655
acad3ef3a46c showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   185
            Transcript showCR:('the entered string was: ' , string)
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   186
        ]
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   187
                                                                        [exEnd]
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   188
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   189
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   190
    A box for passwords is created with:
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   191
                                                                        [exBegin]
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   192
        |box|
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   193
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   194
        box := EnterBox
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   195
                 title:'your name please:'
655
acad3ef3a46c showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   196
                 action:[:arg | Transcript showCR:'entered: ' , arg printString].
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   197
        box enterField passwordCharacter:$*.
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   198
        box showAtPointer
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   199
                                                                        [exEnd]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   200
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   201
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   202
    or simply:
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   203
                                                                        [exBegin]
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   204
        |string|
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   205
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   206
        string := EnterBox requestPassword:'enter your password:'.
655
acad3ef3a46c showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   207
        Transcript showCR:string.
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   208
                                                                        [exEnd]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   209
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   210
    ATTENTION:
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   211
    for ST-80 compatibility, please use protocol from Dialog
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   212
    (which is an alias for DialogBox):
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   213
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   214
        |string|
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   215
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   216
        string := Dialog request:'input some string:'.
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   217
        string isNil ifTrue:[
655
acad3ef3a46c showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   218
            Transcript showCR:'no input'
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   219
        ] ifFalse:[
655
acad3ef3a46c showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   220
            Transcript showCR:('the entered string was: ' , string)
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   221
        ]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   222
                                                                        [exEnd]
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   223
    and:
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   224
                                                                        [exBegin]
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   225
        |string|
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   226
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   227
        string := Dialog requestPassword:'enter your password:'.
655
acad3ef3a46c showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 593
diff changeset
   228
        Transcript showCR:string.
593
86dd024ed773 examples
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   229
                                                                        [exEnd]
3
claus
parents: 0
diff changeset
   230
"
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   231
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   232
    "Modified: 16.11.1995 / 21:28:11 / cg"
3
claus
parents: 0
diff changeset
   233
! !
claus
parents: 0
diff changeset
   234
1613
5f5a595a696f defaultExtent a bit smaller.
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
   235
!EnterBox class methodsFor:'instance creation'!
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   236
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   237
action:aBlock
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   238
    "create and return a new EnterBox
5285
974de5042b34 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 4559
diff changeset
   239
     which will evaluate aBlock when 'ok' is pressed.
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   240
     Obsolete (but kept for backward compatibility):
5285
974de5042b34 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 4559
diff changeset
   241
     boxes are never used without a proper label"
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   242
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   243
    ^ (self new) action:aBlock
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   244
5285
974de5042b34 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 4559
diff changeset
   245
    "
974de5042b34 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 4559
diff changeset
   246
     (EnterBox action:[:string | Transcript showCR:string]) showAtPointer
974de5042b34 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 4559
diff changeset
   247
     (EnterBox action:[:string | Transcript showCR:string]) open
974de5042b34 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 4559
diff changeset
   248
     (EnterBox action:[:string | Transcript showCR:string]) open
974de5042b34 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 4559
diff changeset
   249
    "
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   250
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   251
62
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   252
title:titleString
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   253
    "create and return a new EnterBox with title aString"
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   254
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   255
    ^ self new title:titleString
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   256
!
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   257
101
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   258
title:titleString action:aBlock
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   259
    "create and return a new EnterBox with title aString,
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   260
     which will evaluate aBlock when 'ok' is pressed"
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   261
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   262
    ^ (self title:titleString) action:aBlock
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   263
!
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   264
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   265
title:titleString okText:okText abortText:abortText action:aBlock
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   266
    "create and return a new EnterBox with title aString, and buttons showing
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   267
     okText and abortText; it will evaluate aBlock when 'ok' is pressed"
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   268
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   269
    ^ (self title:titleString okText:okText action:aBlock) abortText:abortText
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   270
!
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   271
101
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   272
title:titleString okText:okText action:aBlock
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   273
    "create and return a new EnterBox with title aString, and ok button showing
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   274
     okText; it will evaluate aBlock when 'ok' is pressed"
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   275
88e7faeda854 *** empty log message ***
claus
parents: 97
diff changeset
   276
    ^ (self title:titleString action:aBlock) okText:okText
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   277
! !
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   278
1613
5f5a595a696f defaultExtent a bit smaller.
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
   279
!EnterBox class methodsFor:'defaults'!
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   280
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   281
defaultExtent
571
ddc5d56bd636 commentary
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   282
    "return the default extent of my instances.
ddc5d56bd636 commentary
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   283
     The value returned here is usually ignored, and
ddc5d56bd636 commentary
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   284
     the value from preferredExtent taken instead."
ddc5d56bd636 commentary
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   285
1613
5f5a595a696f defaultExtent a bit smaller.
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
   286
    ^ (Screen current pixelPerMillimeter * (60 @ 20)) rounded
571
ddc5d56bd636 commentary
Claus Gittinger <cg@exept.de>
parents: 355
diff changeset
   287
1613
5f5a595a696f defaultExtent a bit smaller.
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
   288
    "Modified: / 22.1.1998 / 09:57:26 / md"
5f5a595a696f defaultExtent a bit smaller.
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
   289
    "Modified: / 27.7.1998 / 20:15:52 / cg"
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   290
!
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   291
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   292
minExtent
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   293
    ^ self defaultExtent
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   294
! !
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   295
2447
b3bd3211b0d0 category included a space
Claus Gittinger <cg@exept.de>
parents: 2444
diff changeset
   296
!EnterBox class methodsFor:'easy startup'!
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   297
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   298
request:aTitle
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   299
    "create and show an enterBox asking for aTitle.
5607
15954ba676b8 #DOCUMENTATION
matilk
parents: 5324
diff changeset
   300
     Return the entered string or an empty string (if abort was pressed).
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   301
     The string may be empty, in case return was pressed immediately."
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   302
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   303
    ^ self new request:aTitle
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   304
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   305
    "
5286
592104ee4477 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5285
diff changeset
   306
     EnterBox request:'Enter a string:'
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   307
    "
306
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   308
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   309
    "Modified: 27.1.1996 / 14:34:23 / cg"
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   310
!
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
requestPassword:aTitle
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   313
    "create and show an enterBox asking for aTitle.
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   314
     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
   315
     Return the entered string or nil (if abort was pressed).
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   316
     The string may be empty, in case return was pressed immediately."
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
    ^ self new requestPassword:aTitle
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   319
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   320
    "
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   321
     |s|
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   322
5286
592104ee4477 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5285
diff changeset
   323
     s := EnterBox requestPassword:'Enter a password string:'.
592104ee4477 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5285
diff changeset
   324
     Transcript showCR:'you entered: ' , s asString
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   325
    "
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   326
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   327
    "Created: 16.11.1995 / 21:25:08 / cg"
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   328
! !
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   329
2227
58426f7611f2 category changes
Claus Gittinger <cg@exept.de>
parents: 2081
diff changeset
   330
!EnterBox methodsFor:'accessing-behavior'!
669
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   331
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   332
entryCompletionBlock:aBlock
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   333
    "define an entryCompletion block; if nonNil, that one
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   334
     is evaluated if TAB is pressed in the field and should
2628
619483f17989 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
   335
     try to complete the input.
619483f17989 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
   336
     The block gets the current contents and the field itself as optional arguments
619483f17989 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2555
diff changeset
   337
     (i.e. it can be a 0, 1 or 2-arg block).
669
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   338
     Typically used with fileName-boxes."
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   339
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   340
    enterField entryCompletionBlock:aBlock
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   341
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   342
    "Modified: 22.5.1996 / 15:19:31 / cg"
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   343
!
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   344
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   345
trimBlanks:aBoolean
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   346
    "set/clear blank trimming in the returned string.
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   347
     By default, leading and trailing spaces are removed from the input;
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   348
     setting trimBlanks to false disables this behavior.
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   349
     (not normally useful in most applications)"
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   350
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   351
    trimBlanks := aBoolean
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   352
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   353
    "Created: 22.5.1996 / 15:23:45 / cg"
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   354
! !
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   355
2227
58426f7611f2 category changes
Claus Gittinger <cg@exept.de>
parents: 2081
diff changeset
   356
!EnterBox methodsFor:'accessing-components'!
669
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   357
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   358
enterField
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   359
    "provide access to the entryfield"
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   360
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   361
    ^ enterField
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   362
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   363
    "Created: 16.11.1995 / 21:23:48 / cg"
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   364
!
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   365
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   366
labelField
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   367
    "provide access to the labelfield"
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   368
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   369
    ^ labelField
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   370
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   371
    "Created: 16.11.1995 / 21:23:48 / cg"
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   372
! !
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   373
2227
58426f7611f2 category changes
Claus Gittinger <cg@exept.de>
parents: 2081
diff changeset
   374
!EnterBox methodsFor:'accessing-contents'!
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   375
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   376
contents
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   377
    "return my contents"
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   378
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   379
    ^ enterField contents
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   380
!
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   381
144
claus
parents: 139
diff changeset
   382
contents:aString
claus
parents: 139
diff changeset
   383
    "set my contents"
claus
parents: 139
diff changeset
   384
claus
parents: 139
diff changeset
   385
    enterField contents:aString
claus
parents: 139
diff changeset
   386
!
claus
parents: 139
diff changeset
   387
2728
9a63179c0d0f +initialAnswer: for protocol completeness
Claus Gittinger <cg@exept.de>
parents: 2628
diff changeset
   388
initialAnswer:aString
9a63179c0d0f +initialAnswer: for protocol completeness
Claus Gittinger <cg@exept.de>
parents: 2628
diff changeset
   389
    "for protocol compatibility - an alias for initialText:"
9a63179c0d0f +initialAnswer: for protocol completeness
Claus Gittinger <cg@exept.de>
parents: 2628
diff changeset
   390
9a63179c0d0f +initialAnswer: for protocol completeness
Claus Gittinger <cg@exept.de>
parents: 2628
diff changeset
   391
    self initialText:aString
9a63179c0d0f +initialAnswer: for protocol completeness
Claus Gittinger <cg@exept.de>
parents: 2628
diff changeset
   392
!
9a63179c0d0f +initialAnswer: for protocol completeness
Claus Gittinger <cg@exept.de>
parents: 2628
diff changeset
   393
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   394
initialText:aString
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   395
    "define the initial text in the enterfield. all will be selected initially"
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   396
2444
a8c1811e9f9c better/more requests
Claus Gittinger <cg@exept.de>
parents: 2227
diff changeset
   397
    self initialText:aString selected:true
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   398
!
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   399
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   400
initialText:aString selectFrom:start to:stop
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   401
    "define the initial text in the enterfield, and the part to be selected"
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   402
2081
7a72a50c0f22 added #selectFrom:to:
Claus Gittinger <cg@exept.de>
parents: 2020
diff changeset
   403
    self initialText:aString.
4557
34c8efa48af3 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 4358
diff changeset
   404
    self selectFromCharacterPosition:start to:stop
2081
7a72a50c0f22 added #selectFrom:to:
Claus Gittinger <cg@exept.de>
parents: 2020
diff changeset
   405
!
7a72a50c0f22 added #selectFrom:to:
Claus Gittinger <cg@exept.de>
parents: 2020
diff changeset
   406
2444
a8c1811e9f9c better/more requests
Claus Gittinger <cg@exept.de>
parents: 2227
diff changeset
   407
initialText:someString selected:selected
a8c1811e9f9c better/more requests
Claus Gittinger <cg@exept.de>
parents: 2227
diff changeset
   408
    "define the initial text in the enterfield; optionally, all is selected initially"
a8c1811e9f9c better/more requests
Claus Gittinger <cg@exept.de>
parents: 2227
diff changeset
   409
a8c1811e9f9c better/more requests
Claus Gittinger <cg@exept.de>
parents: 2227
diff changeset
   410
    enterField initialText:someString selected:selected
a8c1811e9f9c better/more requests
Claus Gittinger <cg@exept.de>
parents: 2227
diff changeset
   411
!
a8c1811e9f9c better/more requests
Claus Gittinger <cg@exept.de>
parents: 2227
diff changeset
   412
2081
7a72a50c0f22 added #selectFrom:to:
Claus Gittinger <cg@exept.de>
parents: 2020
diff changeset
   413
selectFrom:start to:stop
7a72a50c0f22 added #selectFrom:to:
Claus Gittinger <cg@exept.de>
parents: 2020
diff changeset
   414
    "define the initial selection in the enterfield"
7a72a50c0f22 added #selectFrom:to:
Claus Gittinger <cg@exept.de>
parents: 2020
diff changeset
   415
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   416
    enterField selectFromLine:1 col:start toLine:1 col:stop
4559
362812dc0603 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 4557
diff changeset
   417
!
362812dc0603 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 4557
diff changeset
   418
362812dc0603 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 4557
diff changeset
   419
selectFromCharacterPosition:start to:stop
362812dc0603 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 4557
diff changeset
   420
    "define the initial selection in the enterfield"
362812dc0603 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 4557
diff changeset
   421
362812dc0603 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 4557
diff changeset
   422
    enterField selectFromCharacterPosition:start to:stop
669
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   423
! !
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   424
2227
58426f7611f2 category changes
Claus Gittinger <cg@exept.de>
parents: 2081
diff changeset
   425
!EnterBox methodsFor:'accessing-look'!
144
claus
parents: 139
diff changeset
   426
2020
6a11d6a4605e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1879
diff changeset
   427
noCancel
6a11d6a4605e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1879
diff changeset
   428
    "make the cancel button invisible - i.e. only the ok button is shown.
6a11d6a4605e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1879
diff changeset
   429
     Not useful here, but useful with display-only textBoxes."
6a11d6a4605e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1879
diff changeset
   430
6a11d6a4605e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1879
diff changeset
   431
    abortButton beInvisible.
6a11d6a4605e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1879
diff changeset
   432
!
6a11d6a4605e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1879
diff changeset
   433
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   434
title:aString
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   435
    "set the title to be displayed at top of enterBox"
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   436
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   437
    |oldSize|
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   438
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   439
    aString ~= labelField label ifTrue:[
3329
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   440
        oldSize := labelField extent.
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   441
        labelField label:aString.
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   442
        labelField forceResize.
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   443
3329
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   444
        shown ifTrue:[
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   445
            labelField extent ~= oldSize ifTrue:[
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   446
                self resize
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   447
            ]
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   448
        ] ifFalse:[
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   449
            self sizeChanged:nil.
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   450
        ]
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   451
    ]
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   452
!
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   453
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   454
title:titleString okText:okString
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   455
    "set title and text in okbutton"
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   456
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   457
    (titleString ~= labelField label or:[okString ~= okButton label]) ifTrue:[
3329
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   458
        okButton label:okString.
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   459
        okButton resize.
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   460
        labelField label:titleString.
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   461
        labelField forceResize.
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   462
        shown
3329
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   463
            ifTrue:[self resize]
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   464
            ifFalse:[ self sizeChanged:nil].
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   465
    ]
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   466
!
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   467
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   468
title:titleString okText:okString abortText:abortString
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   469
    "set title and texts in the buttons"
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   470
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   471
    (titleString ~= labelField label
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   472
     or:[okString ~= okButton label
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   473
     or:[abortString ~= abortButton label]]) ifTrue:[
3329
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   474
        okButton label:okString.
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   475
        okButton resize.
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   476
        abortButton label:abortString.
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   477
        abortButton resize.
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   478
        labelField label:titleString.
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   479
        labelField forceResize.
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   480
        shown
3329
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   481
            ifTrue:[self resize]
361712c7eade *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2728
diff changeset
   482
            ifFalse:[ self sizeChanged:nil].
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   483
    ]
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   484
! !
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   485
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   486
!EnterBox methodsFor:'change & update'!
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   487
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   488
update:something with:someArgument from:changedObject
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   489
    "sent if my enterbox thinks it needs more real-estate ..."
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   490
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   491
    changedObject == enterField ifTrue:[
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   492
	something == #preferredExtent ifTrue:[
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   493
	    shown ifTrue:[self resizeUnderPointer].
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   494
	    ^ self
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   495
	]
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   496
    ].
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   497
    super update:something with:someArgument from:changedObject
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   498
! !
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   499
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   500
!EnterBox methodsFor:'initialization'!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   501
2555
c2d277241837 refactored enterField creation
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
   502
addEnterField:aWidget
c2d277241837 refactored enterField creation
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
   503
    |space2 innerWidth|
c2d277241837 refactored enterField creation
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
   504
c2d277241837 refactored enterField creation
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
   505
    enterField notNil ifTrue:[
c2d277241837 refactored enterField creation
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
   506
        enterField removeDependent:self.
c2d277241837 refactored enterField creation
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
   507
        enterField destroy.
c2d277241837 refactored enterField creation
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
   508
        enterField := nil.
c2d277241837 refactored enterField creation
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
   509
    ].
5286
592104ee4477 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5285
diff changeset
   510
    enterField := aWidget.
2555
c2d277241837 refactored enterField creation
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
   511
3937
ab8a7a2df6d1 changed:
Claus Gittinger <cg@exept.de>
parents: 3933
diff changeset
   512
    space2 := 2 * ViewSpacing.
ab8a7a2df6d1 changed:
Claus Gittinger <cg@exept.de>
parents: 3933
diff changeset
   513
    innerWidth := width - space2.
2555
c2d277241837 refactored enterField creation
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
   514
5286
592104ee4477 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5285
diff changeset
   515
    self addComponent:aWidget.
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   516
    enterField
4087
d9417d0b6ee1 changed: #addEnterField:
Stefan Vogel <sv@exept.de>
parents: 3943
diff changeset
   517
        width:1.0;
d9417d0b6ee1 changed: #addEnterField:
Stefan Vogel <sv@exept.de>
parents: 3943
diff changeset
   518
        origin:[0.0 @ (space2 + labelField preferredHeight "height")];
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   519
        leftInset:ViewSpacing-aWidget borderWidth;
4358
35c315f3c45f changed: #addEnterField:
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
   520
        rightInset:1 "ViewSpacing".
2555
c2d277241837 refactored enterField creation
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
   521
5286
592104ee4477 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5285
diff changeset
   522
    aWidget addDependent:self. "to get preferredExtent-changes"
2555
c2d277241837 refactored enterField creation
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
   523
5286
592104ee4477 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5285
diff changeset
   524
    self makeTabable:aWidget
2555
c2d277241837 refactored enterField creation
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
   525
4358
35c315f3c45f changed: #addEnterField:
Claus Gittinger <cg@exept.de>
parents: 4087
diff changeset
   526
    "Modified: / 23-01-2012 / 17:30:17 / cg"
2555
c2d277241837 refactored enterField creation
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
   527
!
c2d277241837 refactored enterField creation
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
   528
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   529
createEnterField
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   530
    "this has been extracted from the initialize method
121
claus
parents: 118
diff changeset
   531
     to allow redefinition in subclasses. (FilenameEnterBox for example).
claus
parents: 118
diff changeset
   532
     It shall return a new instance of the desired editField class."
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   533
2555
c2d277241837 refactored enterField creation
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
   534
    |widget|
c2d277241837 refactored enterField creation
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
   535
c2d277241837 refactored enterField creation
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
   536
    widget := EditField new.
c2d277241837 refactored enterField creation
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
   537
    widget leaveAction:[:key | self okPressed].
c2d277241837 refactored enterField creation
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
   538
    ^ widget
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   539
!
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   540
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   541
initialize
90
6e94d68102a4 *** empty log message ***
claus
parents: 77
diff changeset
   542
    |space2 innerWidth|
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   543
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   544
    super initialize.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   545
1763
1c6be8158c27 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1615
diff changeset
   546
    self addAbortAndOkButtons.
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   547
669
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   548
    trimBlanks := true.
5286
592104ee4477 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5285
diff changeset
   549
    label := resources string:'Enter'.  "/ bad name: this is the window label
73
2cd4588996e8 last version before using new DialogBox
claus
parents: 62
diff changeset
   550
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   551
    space2 := 2 * ViewSpacing.
73
2cd4588996e8 last version before using new DialogBox
claus
parents: 62
diff changeset
   552
    innerWidth := width - space2.
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   553
3937
ab8a7a2df6d1 changed:
Claus Gittinger <cg@exept.de>
parents: 3933
diff changeset
   554
    labelField := Label in:self.
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   555
    labelField
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   556
        label:'';
669
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   557
        borderWidth:0;
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   558
        adjust:#left;
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   559
        origin:(0.0 @ ViewSpacing) extent:[1.0 @ labelField height];
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   560
        leftInset:ViewSpacing;
669
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   561
        rightInset:ViewSpacing.
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   562
2555
c2d277241837 refactored enterField creation
Claus Gittinger <cg@exept.de>
parents: 2542
diff changeset
   563
    self addEnterField:(self createEnterField).
3943
253c9ebed9fe yPosition fixes when adding components in the aboutToOpen hook.
Claus Gittinger <cg@exept.de>
parents: 3937
diff changeset
   564
    yPosition := enterField bottom + ViewSpacing.
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   565
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   566
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   567
reAdjustGeometry
5286
592104ee4477 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5285
diff changeset
   568
    "sent late in the setup process - gives me a chance
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   569
     to resize for new font dimensions"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   570
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   571
    super reAdjustGeometry.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   572
    labelField resize.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   573
    okButton resize.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   574
    abortButton resize.
6220
319368c35cb9 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 6141
diff changeset
   575
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   576
    self resize
6220
319368c35cb9 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 6141
diff changeset
   577
319368c35cb9 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 6141
diff changeset
   578
    "Modified (format): / 22-10-2017 / 01:20:18 / cg"
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   579
! !
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   580
62
7cc1e330da47 *** empty log message ***
claus
parents: 60
diff changeset
   581
!EnterBox methodsFor:'queries'!
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   582
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   583
preferredExtent
572
121735c2aff6 commentary
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
   584
    "compute the boxes preferredExtent from the components' sizes"
121735c2aff6 commentary
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
   585
6141
72ad437c9e52 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 5896
diff changeset
   586
    |wWanted hWanted vs2 min
6220
319368c35cb9 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 6141
diff changeset
   587
     labelPref enterPref bPanelPref vPanelPref|
59
450ce95a72a4 *** empty log message ***
claus
parents: 48
diff changeset
   588
5324
ea44307425d1 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5291
diff changeset
   589
    "/ If I have an explicit preferredExtent..
ea44307425d1 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5291
diff changeset
   590
    explicitExtent notNil ifTrue:[
ea44307425d1 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5291
diff changeset
   591
        ^ explicitExtent
ea44307425d1 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5291
diff changeset
   592
    ].
ea44307425d1 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5291
diff changeset
   593
ea44307425d1 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5291
diff changeset
   594
    "/ If I have a cached preferredExtent value..
ea44307425d1 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5291
diff changeset
   595
    preferredExtent notNil ifTrue:[
ea44307425d1 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5291
diff changeset
   596
        ^ preferredExtent
ea44307425d1 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5291
diff changeset
   597
    ].
713
0c38ad51016d care for preSet preferredExtent
Claus Gittinger <cg@exept.de>
parents: 669
diff changeset
   598
6220
319368c35cb9 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 6141
diff changeset
   599
    bPanelPref := buttonPanel preferredExtent.
5324
ea44307425d1 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5291
diff changeset
   600
    labelPref := labelField preferredExtent.
ea44307425d1 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5291
diff changeset
   601
    enterPref := enterField preferredExtent.
6220
319368c35cb9 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 6141
diff changeset
   602
    wWanted := (labelPref x max:enterPref x) max:bPanelPref x.
6141
72ad437c9e52 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 5896
diff changeset
   603
5324
ea44307425d1 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5291
diff changeset
   604
    hWanted := labelPref y + ViewSpacing + enterPref y +
6220
319368c35cb9 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 6141
diff changeset
   605
               ViewSpacing + bPanelPref y + ViewSpacing.
319368c35cb9 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 6141
diff changeset
   606
5324
ea44307425d1 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5291
diff changeset
   607
    verticalPanel notNil ifTrue:[
6220
319368c35cb9 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 6141
diff changeset
   608
        vPanelPref := verticalPanel preferredExtent.
319368c35cb9 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 6141
diff changeset
   609
        hWanted := hWanted + ViewSpacing + (vPanelPref y).
319368c35cb9 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 6141
diff changeset
   610
        wWanted := wWanted max:vPanelPref x.
5324
ea44307425d1 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5291
diff changeset
   611
    ].
ea44307425d1 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5291
diff changeset
   612
6141
72ad437c9e52 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 5896
diff changeset
   613
    vs2 := ViewSpacing * 2.
5324
ea44307425d1 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5291
diff changeset
   614
    min := self class minExtent.
6141
72ad437c9e52 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 5896
diff changeset
   615
    wWanted := (wWanted max: min x) + vs2.
72ad437c9e52 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 5896
diff changeset
   616
    hWanted := (hWanted max: min y) + vs2.
572
121735c2aff6 commentary
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
   617
6141
72ad437c9e52 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 5896
diff changeset
   618
    ^ wWanted @ hWanted
72ad437c9e52 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 5896
diff changeset
   619
72ad437c9e52 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 5896
diff changeset
   620
    "Modified: / 22-01-1998 / 09:57:55 / md"
72ad437c9e52 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 5896
diff changeset
   621
    "Modified: / 30-03-2017 / 18:42:12 / stefan"
6220
319368c35cb9 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 6141
diff changeset
   622
    "Modified: / 22-10-2017 / 01:26:34 / cg"
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   623
! !
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   624
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   625
!EnterBox methodsFor:'startup'!
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   626
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   627
request
306
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   628
    "open the box and return the entered string
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   629
     or an empty string, if abort was pressed"
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   630
306
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   631
    ^ self requestOnCancel:''
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   632
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   633
    "Modified: 27.1.1996 / 14:50:01 / cg"
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   634
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   635
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   636
request:title
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   637
    "set the title, open the box and return the entered string,
306
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   638
     or  the empty string, if abort was pressed."
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   639
306
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   640
    ^ self request:title onCancel:''
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   641
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   642
    "
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   643
     EnterBox request:'enter some string:'
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   644
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   645
     |bx|
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   646
     bx := EnterBox new.
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   647
     bx label:'foo bar baz'.
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   648
     bx request:'enter some string:'
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   649
    "
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   650
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   651
    "Created: 7.12.1995 / 23:12:19 / cg"
306
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   652
    "Modified: 27.1.1996 / 14:49:23 / cg"
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   653
!
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   654
306
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   655
request:title onCancel:cancelValue
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   656
    "set the title, open the box and return the entered string,
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   657
     or cancelValue if abort was pressed."
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   658
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   659
    self title:title.
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   660
    ^ self requestOnCancel:cancelValue
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   661
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   662
    "
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   663
     EnterBox request:'enter some string:' onCancel:nil
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   664
306
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   665
     |bx|
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   666
     bx := EnterBox new.
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   667
     bx label:'foo bar baz'.
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   668
     bx request:'enter some string:' onCancel:#foo
306
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   669
    "
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   670
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   671
    "Created: 7.12.1995 / 23:12:19 / cg"
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   672
    "Modified: 27.1.1996 / 14:48:39 / cg"
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   673
!
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   674
306
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   675
requestOnCancel:cancelValue
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   676
    "open the box and return the entered string
306
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   677
     or cancelValue, if abort was pressed"
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   678
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   679
    self action:[:string | ^ string].
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   680
    self open.
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   681
    ^ cancelValue value
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   682
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   683
    "Created: 27.1.1996 / 14:47:47 / cg"
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   684
!
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   685
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   686
requestPassword:title
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   687
    "set the title, set password mode, open the box and return the entered string
1879
25ac1b89ed31 change: return nil if cancel is pressed in #requestPassword.
Claus Gittinger <cg@exept.de>
parents: 1790
diff changeset
   688
     or nil, if abort was pressed"
306
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   689
1879
25ac1b89ed31 change: return nil if cancel is pressed in #requestPassword.
Claus Gittinger <cg@exept.de>
parents: 1790
diff changeset
   690
    ^ self requestPassword:title onCancel:nil
306
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   691
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   692
    "Created: 16.11.1995 / 21:25:33 / cg"
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   693
    "Modified: 27.1.1996 / 14:52:36 / cg"
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   694
!
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   695
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   696
requestPassword:title onCancel:cancelValue
5896
7556ba06cc7e #OTHER by mawalch
mawalch
parents: 5607
diff changeset
   697
    "set the title, set password mode, open the box and return the entered string
306
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   698
     or cancelValue, if abort was pressed"
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   699
3586
8ca9325e2159 use bePassword
Claus Gittinger <cg@exept.de>
parents: 3329
diff changeset
   700
    enterField bePassword.
306
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   701
    ^ self request:title onCancel:cancelValue
181
dc72c27581b7 added requestPassword
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   702
306
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   703
    "Modified: 27.1.1996 / 14:34:07 / cg"
6a6a1513b713 changed cancel-value to '' (ST-80 compat.); added xxx:onCancel: methods
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   704
    "Created: 27.1.1996 / 14:52:13 / cg"
77
565b052f5277 *** empty log message ***
claus
parents: 73
diff changeset
   705
! !
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   706
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   707
!EnterBox methodsFor:'user actions'!
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   708
2542
53fc213c8815 refactored action evaluation
Claus Gittinger <cg@exept.de>
parents: 2447
diff changeset
   709
actionArgument
5286
592104ee4477 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 5285
diff changeset
   710
    "fetch the entered string, optionally trim spaces and return it"
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   711
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   712
    |string|
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   713
2542
53fc213c8815 refactored action evaluation
Claus Gittinger <cg@exept.de>
parents: 2447
diff changeset
   714
    string := self contents.
53fc213c8815 refactored action evaluation
Claus Gittinger <cg@exept.de>
parents: 2447
diff changeset
   715
    string isNil ifTrue:[
53fc213c8815 refactored action evaluation
Claus Gittinger <cg@exept.de>
parents: 2447
diff changeset
   716
        string := ''
53fc213c8815 refactored action evaluation
Claus Gittinger <cg@exept.de>
parents: 2447
diff changeset
   717
    ] ifFalse:[
53fc213c8815 refactored action evaluation
Claus Gittinger <cg@exept.de>
parents: 2447
diff changeset
   718
        trimBlanks ifTrue:[
53fc213c8815 refactored action evaluation
Claus Gittinger <cg@exept.de>
parents: 2447
diff changeset
   719
            string := string withoutSeparators
53fc213c8815 refactored action evaluation
Claus Gittinger <cg@exept.de>
parents: 2447
diff changeset
   720
        ]
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   721
    ].
669
fef6f8160573 allow blank-trimming to be turned off
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   722
2542
53fc213c8815 refactored action evaluation
Claus Gittinger <cg@exept.de>
parents: 2447
diff changeset
   723
    ^ string
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   724
! !
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   725
1613
5f5a595a696f defaultExtent a bit smaller.
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
   726
!EnterBox class methodsFor:'documentation'!
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   727
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   728
version
5607
15954ba676b8 #DOCUMENTATION
matilk
parents: 5324
diff changeset
   729
    ^ '$Header$'
4087
d9417d0b6ee1 changed: #addEnterField:
Stefan Vogel <sv@exept.de>
parents: 3943
diff changeset
   730
!
d9417d0b6ee1 changed: #addEnterField:
Stefan Vogel <sv@exept.de>
parents: 3943
diff changeset
   731
d9417d0b6ee1 changed: #addEnterField:
Stefan Vogel <sv@exept.de>
parents: 3943
diff changeset
   732
version_CVS
5607
15954ba676b8 #DOCUMENTATION
matilk
parents: 5324
diff changeset
   733
    ^ '$Header$'
242
1fa14a974cc2 commentary
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   734
! !
4557
34c8efa48af3 class: EnterBox
Claus Gittinger <cg@exept.de>
parents: 4358
diff changeset
   735