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