308 lines
		
	
	
	
		
			7.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			308 lines
		
	
	
	
		
			7.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<TITLE>spinner - Create and manipulate a spinner widget</TITLE>
 | 
						|
<H1>spinner - Create and manipulate a spinner widget</H1>
 | 
						|
 | 
						|
</pre><H2>SYNOPSIS</H2>
 | 
						|
<B>spinner<I> <I>pathName </I>?<I>options</I>?
 | 
						|
</pre><H2>INHERITANCE</H2>
 | 
						|
itk::Widget <- Labeledwidget <- Spinner
 | 
						|
</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>
 | 
						|
</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>childSitePos</B><br>
 | 
						|
<B>invalid</B><br>
 | 
						|
<B>width</B><br>
 | 
						|
</td>
 | 
						|
<td valign=top>
 | 
						|
<B>command</B><br>
 | 
						|
<B>textBackground</B><br>
 | 
						|
</td>
 | 
						|
<td valign=top>
 | 
						|
<B>fixed</B><br>
 | 
						|
<B>textFont</B><br>
 | 
						|
</td>
 | 
						|
<td valign=top>
 | 
						|
<B>focusCommand</B><br>
 | 
						|
<B>validate</B><br>
 | 
						|
</td>
 | 
						|
</table>
 | 
						|
<P>
 | 
						|
See the <A HREF="entryfield.n.html"> "entryfield" </A> widget manual entry for details on the above
 | 
						|
inherited options.
 | 
						|
<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> widget manual entry for details on the above
 | 
						|
inherited options.
 | 
						|
</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
 | 
						|
<P>
 | 
						|
<pre>
 | 
						|
Name:                   <B>arrowOrient</B>
 | 
						|
Class:                  <B>Orient</B>
 | 
						|
Command-Line Switch:	<B>-arroworient</B>
 | 
						|
</pre>
 | 
						|
<UL>
 | 
						|
Specifies placement of arrow buttons: <B>horizontal</B> or <B>vertical</B>.
 | 
						|
The default is vertical.
 | 
						|
</UL>
 | 
						|
<P>
 | 
						|
<pre>
 | 
						|
Name:                   <B>decrement</B>
 | 
						|
Class:                  <B>Command</B>
 | 
						|
Command-Line Switch:	<B>-decrement</B>
 | 
						|
</pre>
 | 
						|
<UL>
 | 
						|
Tcl command to be executed when down arrow is pressed.
 | 
						|
</UL>
 | 
						|
<P>
 | 
						|
<pre>
 | 
						|
Name:                   <B>increment</B>
 | 
						|
Class:                  <B>Command</B>
 | 
						|
Command-Line Switch:	<B>-increment</B>
 | 
						|
</pre>
 | 
						|
<UL>
 | 
						|
Tcl command to be executed when up arrow is pressed.
 | 
						|
</UL>
 | 
						|
<P>
 | 
						|
<pre>
 | 
						|
Name:                   <B>repeatDelay</B>
 | 
						|
Class:                  <B>RepeatDelay</B>
 | 
						|
Command-Line Switch:	<B>-repeatdelay</B>
 | 
						|
</pre>
 | 
						|
<UL>
 | 
						|
Specifies the initial delay in milliseconds before the spinner repeat action 
 | 
						|
on the arrow buttons engages.  The default is 300 milliseconds.
 | 
						|
</UL>
 | 
						|
<P>
 | 
						|
<pre>
 | 
						|
Name:                   <B>repeatInterval</B>
 | 
						|
Class:                  <B>RepeatInterval</B>
 | 
						|
Command-Line Switch:	<B>-repeatinterval</B>
 | 
						|
</pre>
 | 
						|
<UL>
 | 
						|
Specifies the repeat delay in milliseconds between selections of the arrow 
 | 
						|
buttons.  A repeatinterval of 0 disables button repeat.  The default is 
 | 
						|
100 milliseconds.
 | 
						|
</UL>
 | 
						|
<P>
 | 
						|
</pre><HR>
 | 
						|
 | 
						|
</pre><H2>DESCRIPTION</H2>
 | 
						|
<P>
 | 
						|
The <B>spinner</B> command creates a spinner widget.  The spinner is 
 | 
						|
comprised of an entryfield plus up and down arrow buttons. 
 | 
						|
Arrows may be drawn horizontally or vertically.
 | 
						|
</pre>
 | 
						|
 | 
						|
</pre><H2>METHODS</H2>
 | 
						|
<P>
 | 
						|
The <B>spinner</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 spinner 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>INHERITED METHODS</H2>
 | 
						|
<P>
 | 
						|
<table cellpadding=5>
 | 
						|
<td valign=top>
 | 
						|
<B>childsite</B><br>
 | 
						|
</td>
 | 
						|
<td valign=top>
 | 
						|
<B>clear</B><br>
 | 
						|
</td>
 | 
						|
<td valign=top>
 | 
						|
<B>peek</B><br>
 | 
						|
</td>
 | 
						|
<td valign=top>
 | 
						|
</td>
 | 
						|
</table>
 | 
						|
<P>
 | 
						|
See the <A HREF="entryfield.n.html"> "entryfield" </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>spinner</B>
 | 
						|
command.
 | 
						|
</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>spinner</B>
 | 
						|
command.
 | 
						|
</DL>
 | 
						|
<DL>
 | 
						|
<DT> <I>pathName <B>down</B>
 | 
						|
</I></B>
 | 
						|
<DD> Derived classes may overload this method to specialize functionality.
 | 
						|
</DL>
 | 
						|
<DL>
 | 
						|
<DT> <I>pathName <B>up</B>
 | 
						|
</I></B>
 | 
						|
<DD> Derived classes may overload this method to specialize functionality.
 | 
						|
 | 
						|
</DL>
 | 
						|
</pre><H2>COMPONENTS</H2>
 | 
						|
<P>
 | 
						|
<pre>
 | 
						|
Name:                   <B>downarrow</B>
 | 
						|
Class:                  <B>Canvas</B>
 | 
						|
</pre>
 | 
						|
<UL>
 | 
						|
The downarrow component is the downward pointing button of the spinner.  See
 | 
						|
the "canvas" widget manual entry for details on the downarrow component item.
 | 
						|
</UL>
 | 
						|
<P>
 | 
						|
<pre>
 | 
						|
Name:                   <B>uparrow</B>
 | 
						|
Class:                  <B>Canvas</B>
 | 
						|
</pre>
 | 
						|
<UL>
 | 
						|
The uparrow component is the upward pointing button of the spinner.  See
 | 
						|
the "canvas" widget manual entry for details on the uparrow component item.
 | 
						|
</UL>
 | 
						|
</table>
 | 
						|
 | 
						|
</pre><H2>EXAMPLE</H2>
 | 
						|
<pre>
 | 
						|
 set months {January February March April May June July \\
 | 
						|
                 August September October November December}
 | 
						|
 | 
						|
 proc blockInput {char} {
 | 
						|
     return 0
 | 
						|
 }
 | 
						|
 | 
						|
 proc spinMonth {step} {
 | 
						|
     global months
 | 
						|
 | 
						|
     set index [expr [lsearch $months [.sm get]] + $step]
 | 
						|
 | 
						|
     if {$index < 0} {set index 11}
 | 
						|
     if {$index > 11} {set index 0}
 | 
						|
 | 
						|
     .sm delete 0 end
 | 
						|
     .sm insert 0 [lindex $months $index]
 | 
						|
 }
 | 
						|
 | 
						|
 spinner .sm -labeltext "Month : " -width 10 -fixed 10 -validate blockInput \\
 | 
						|
             -decrement {spinMonth -1} -increment {spinMonth 1}
 | 
						|
 .sm insert 0 January
 | 
						|
 | 
						|
 pack .sm -padx 10 -pady 10
 | 
						|
</pre>
 | 
						|
</pre><H2>ACKNOWLEDGEMENTS:</H2>
 | 
						|
<P>
 | 
						|
Ken Copeland <ken@hilco.com>
 | 
						|
<UL>
 | 
						|
10/18/95 - Added auto-repeat action to spinner arrow buttons.
 | 
						|
</UL>
 | 
						|
<P>
 | 
						|
</pre><H2>AUTHOR</H2>
 | 
						|
Sue Yockey
 | 
						|
</pre><H2>KEYWORDS</H2>
 | 
						|
spinner, widget
 |