summaryrefslogtreecommitdiff
path: root/itcl/iwidgets3.0.0/demos/html/entryfield.n.html
blob: 8a7f2d58cab606e5b0e72d76df1083c268bcaae8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
<TITLE>entryfield - Create and manipulate a entry field widget</TITLE>
<H1>entryfield - Create and manipulate a entry field widget</H1>

</pre><H2>SYNOPSIS</H2>
<B>entryfield<I> <I>pathName </I>?<I>options</I>?
</pre><H2>INHERITANCE</H2>
itk::Widget &lt;- LabeledWidget &lt;- entryfield
</pre><H2>STANDARD OPTIONS</H2>
<P>
<table cellpadding=5>
<td valign=top>
<B>background</B><br>
<B>foreground</B><br>
<B>insertBorderWidth</B><br>
<B>justify</B><br>
<B>selectForeground</B><br>
</td>
<td valign=top>
<B>borderWidth</B><br>
<B>highlightColor</B><br>
<B>insertOffTime</B><br>
<B>relief</B><br>
<B>textVariable</B><br>
</td>
<td valign=top>
<B>cursor</B><br>
<B>highlightThickness</B><br>
<B>insertOnTime</B><br>
<B>selectBackground</B><br>
<B>width</B><br>
</td>
<td valign=top>
<B>exportSelection</B><br>
<B>insertBackground</B><br>
<B>insertWidth</B><br>
<B>selectBorderWidth</B><br>
</td>
</table>
<P>
See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
</pre><H2>ASSOCIATED OPTIONS</H2>
<P>
<table cellpadding=5>
<td valign=top>
<B>show</B><br>
</td>
<td valign=top>
<B>state</B><br>
</td>
<td valign=top>
</td>
<td valign=top>
</td>
</table>
<P>
See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> manual entry for details on the associated options.
</pre><H2>INHERITED OPTIONS</H2>
<P>
<table cellpadding=5>
<td valign=top>
<B>disabledForeground</B><br>
<B>labelMargin</B><br>
<B>state</B><br>
</td>
<td valign=top>
<B>labelBitmap</B><br>
<B>labelPos</B><br>
</td>
<td valign=top>
<B>labelFont</B><br>
<B>labelText</B><br>
</td>
<td valign=top>
<B>labelImage</B><br>
<B>labelVariable</B><br>
</td>
</table>
<P>
See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on the 
inherited options.
</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
<P>
<pre>
Name:                   <B>childSitePos</B>
Class:                  <B>Position</B>
Command-Line Switch:	<B>-childsitepos</B>
</pre>
<UL>
Specifies the position of the child site in the entry field: <B>n</B>, 
<B>s</B>, <B>e</B>, or <B>w</B>.  The default is e.
</UL>
<P>
<pre>
Name:                   <B>command</B>
Class:                  <B>Command</B>
Command-Line Switch:	<B>-command</B>
</pre>
<UL>
Specifies a Tcl command to be executed upon detection of a Return key 
press event.
</UL>
<P>
<pre>
Name:                   <B>fixed</B>
Class:                  <B>Fixed</B>
Command-Line Switch:	<B>-fixed</B>
</pre>
<UL>
Restrict entry to the specified number of chars.  A value of 0, which is the
default, denotes no limit.  The value is the maximum number of chars the 
user may type into the field, regardles of field width.  For example,
if the field width is set to 20 and the fixed value is 10, the user will 
only be able to type 10 characters into the field which is 20 characters long.
</UL>
<P>
<pre>
Name:                   <B>focusCommand</B>
Class:                  <B>Command</B>
Command-Line Switch:	<B>-focuscommand</B>
</pre>
<UL>
Specifies a Tcl command to be executed upon reception of focus.
</UL>
<P>
<pre>
Name:                   <B>invalid</B>
Class:                  <B>Command</B>
Command-Line Switch:	<B>-invalid</B>
</pre>
<UL>
Specifies a Tcl command to be executed upon determination of invalid input.
The default is bell.
</UL>
<P>
<pre>
Name:                   <B>textBackground</B>
Class:                  <B>Background</B>
Command-Line Switch:	<B>-textbackground</B>
</pre>
<UL>
Background color for inside textual portion of the entry field.  The value
may be given in any of the forms acceptable to <B>Tk_GetColor</B>.
</UL>
<P>
<pre>
Name:                   <B>textFont</B>
Class:                  <B>Font</B>
Command-Line Switch:	<B>-textfont</B>
</pre>
<UL>
Name of font to use for display of text in entryfield.  The value
may be given in any of the forms acceptable to <B>Tk_GetFont</B>.
</UL>
<P>
<pre>
Name:                   <B>validate</B>
Class:                  <B>Command</B>
Command-Line Switch:	<B>-validate</B>
</pre>
<UL>
The validate option allows specification of a validation mechanism.  Standard
character validation such as <B>numeric</B>, <B>alphabetic</B>, <B>integer</B>,
<B>hexidecimal</B>, <B>real</B>, and <B>alphanumeric</B> can be handled through 
the use of keywords.  Should more
extensive validation be necessary, the value may contain the name of
a command script.  The script should return a boolean value.  True for 
valid, false for invalid.  If false is returned, then the procedure 
associated with the invalid option will be invoked.
If the validation script contains
any <B>%</B> characters, then the script will not be
executed directly.  Instead, a new script will be
generated by replacing each <B>%</B>, and the character following
it, with information from the entryfield.  The replacement
depends on the character following the <B>%</B>, as defined in the
list below.
</UL>
<DL>
<DT> <B>%c</B>
</I></B>
<DD> Replaced with the current input character.
</DL>
<DL>
<DT> <B>%P</B>
</I></B>
<DD> Replaced with the contents of the entryfield modified to include the latest
keystoke.  This is equivalent to peeking at the future contents, enabling
rejection prior to the update.
</DL>
<DL>
<DT> <B>%S</B>
</I></B>
<DD> Replaced with the current contents of the entryfield prior to the latest
keystroke being added.
</DL>
<DL>
<DT> <B>%W</B>
</I></B>
<DD> Replaced with the entryfield widget pathname.
</DL>
<P>
</pre><HR>

</pre><H2>DESCRIPTION</H2>
<P>
The <B>entryfield</B> command creates an enhanced text entry widget with an
optional associated label.  Addtional options support validation and 
establishing a upper limit on the number of characters which may be
entered in the field.
</pre>

</pre><H2>METHODS</H2>
<P>
The <B>entryfield</B> command creates a new Tcl command whose
name is <I>pathName</I>.  This
command may be used to invoke various
operations on the widget.  It has the following general form:
<pre>
<I>pathName option </I>?<I>arg arg ...</I>?
</pre>
<I>Option</I> and the <I>arg</I>s
determine the exact behavior of the command.  The following
commands are possible for entryfield widgets:
</pre><H2>ASSOCIATED METHODS</H2>
<P>
<table cellpadding=5>
<td valign=top>
<B>delete</B><br>
<B>insert</B><br>
</td>
<td valign=top>
<B>get</B><br>
<B>scan</B><br>
</td>
<td valign=top>
<B>icursor</B><br>
<B>selection</B><br>
</td>
<td valign=top>
<B>index</B><br>
<B>xview</B><br>
</td>
</table>
<P>
See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> manual entry for details on the associated methods.
</pre><H2>WIDGET-SPECIFIC METHODS</H2>
<DL>
<DT> <I>pathName <B>cget</B> <I>option</I>
</I></B>
<DD> Returns the current value of the configuration option given
by <I>option</I>.
<I>Option</I> may have any of the values accepted by the <B>entryfield</B>
command.
</DL>
<DL>
<DT> <I>pathName <B>childsite</B>
</I></B>
<DD> Returns the path name of the child site.
</DL>
<DL>
<DT> <I>pathName <B>clear</B>
</I></B>
<DD> Clear entry widget
</DL>
<DL>
<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
</I></B>
<DD> Query or modify the configuration options of the widget.
If no <I>option</I> is specified, returns a list describing all of
the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
information on the format of this list).  If <I>option</I> is specified
with no <I>value</I>, then the command returns a list describing the
one named option (this list will be identical to the corresponding
sublist of the value returned if no <I>option</I> is specified).  If
one or more <I>option-value</I> pairs are specified, then the command
modifies the given widget option(s) to have the given value(s);  in
this case the command returns an empty string.
<I>Option</I> may have any of the values accepted by the <B>entryfield</B>
command.

</DL>
</pre><H2>COMPONENTS</H2>
<P>
<pre>
Name:                   <B>efchildsite</B>
Class:                  <B>frame</B>
</pre>
<UL>
The efchildsite component is the user child site for the entry field.  See 
the "frame" widget manual entry for details on the efchildsite component item.
</UL>
<P>
<pre>
Name:                   <B>entry</B>
Class:                  <B>entry</B>
</pre>
<UL>
The entry component provides the entry field for user text input and display.
See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> widget manual entry for details on the entry component item.
</UL>
</table>

</pre><H2>EXAMPLE</H2>
<pre>
 option add *textBackground white
 
 proc returnCmd {} {
     puts stdout "Return Pressed"
 }
 
 proc invalidCmd {} {
     puts stdout "Alphabetic contents invalid"
 }
 
 entryfield .ef -command returnCmd
 
 entryfield .fef -labeltext "Fixed:" -fixed 10 -width 12
 
 entryfield .nef -labeltext "Numeric:" -validate numeric -width 12
 
 entryfield .aef -labeltext "Alphabetic:" \\
    -validate alphabetic -width 12 -invalid invalidCmd
 
 entryfield .pef -labeltext "Password:" \\
    -show \267 -width 12 -command returnCmd
 
 Labeledwidget::alignlabels .ef .fef .nef .aef .pef

 pack .ef -fill x -expand yes -padx 10 -pady 5
 pack .fef -fill x -expand yes -padx 10 -pady 5
 pack .nef -fill x -expand yes -padx 10 -pady 5
 pack .aef -fill x -expand yes -padx 10 -pady 5
 pack .pef -fill x -expand yes -padx 10 -pady 5
</pre>
</pre><H2>AUTHOR</H2>
<A HREF="mailto:syockey@spd.dsccc.com">Sue Yockey</A>
</pre>
<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
<P>
</pre><H2>KEYWORDS</H2>
entryfield, widget