<TITLE>feedback - Create and manipulate a feedback widget to display feedback on</TITLE>
<H1>feedback - Create and manipulate a feedback widget to display feedback on</H1>

the current status of an ongoing operation to the user.
</pre><H2>SYNOPSIS</H2>
<B>feedback<I> <I>pathName </I>?<I>options</I>?
</pre><H2>INHERITANCE</H2>
itk::Widget &lt;- Labeledwidget &lt;- Feedback
</pre><H2>STANDARD OPTIONS</H2>
<P>
<table cellpadding=5>
<td valign=top>
<B>background</B><br>
<B>highlightThickness</B><br>
</td>
<td valign=top>
<B>cursor</B><br>
</td>
<td valign=top>
<B>foreground</B><br>
</td>
<td valign=top>
<B>highlightColor</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>INHERITED OPTIONS</H2>
<P>
<table cellpadding=5>
<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>
<td valign=top>
<B>labelMargin</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>barcolor</B>
Class:                  <B>BarColor</B>
Command-Line Switch:	<B>-barcolor</B>
</pre>
<UL>
Specifies the color of the status bar, in any of the forms
acceptable to <B>Tk_GetColor</B>.  The default is DodgerBlue.
</UL>
<P>
<pre>
Name:                   <B>barheight</B>
Class:                  <B>BarHeight</B>
Command-Line Switch:	<B>-barheight</B>
</pre>
<UL>
Specifies the height of the status bar, in any of the forms
acceptable to <B>Tk_GetPixels</B>. The default is 20.
</UL>
<P>
<pre>
Name:                   <B>troughColor</B>
Class:                  <B>TroughColor</B>
Command-Line Switch:	<B>-troughcolor</B>
</pre>
<UL>
Specifies the color of the frame in which the status bar sits,
in any of the forms acceptable to <B>Tk_GetColor</B>.  The default is white.
</UL>
<P>
<pre>
Name:                   <B>steps</B>
Class:                  <B>Steps</B>
Command-Line Switch:	<B>-steps</B>
</pre>
<UL>
Specifies the total number of steps for the status bar. The default is 10.
</UL>
<P>

</pre><H2>DESCRIPTION</H2>
<P>
The <B>feedback</B> command creates a widget to display feedback on
the current status of an ongoing operation to the user. Display is given as
a percentage and as a thermometer type bar. Options exist for adding a label
and controlling its position.

</pre><H2>METHODS</H2>
<P>
The <B>feedback</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 scrolledtext widgets:

</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>scrolledhtml</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>feedback</B>
command.
</DL>
<DL>
<DT> <I>pathName</I> <B>reset</B>
</I></B>
<DD> Reset the current number of steps completed to 0, and configures the
percentage complete label text to 0%
</DL>
<DL>
<DT> <I>pathName</I> <B>step</B> ?<I>inc</I>?
</I></B>
<DD> Increase the current number of steps completed by the amount specified
by <I>inc</I>. <I>Inc</I> defaults to 1.

</DL>
</pre><H2>EXAMPLE</H2>
<pre>
 feedback .fb -labeltext "Status" -steps 20
 pack .fb -padx 10 -pady 10 -fill both -expand yes

 for {set i 0} {$i &lt; 20} {incr i} {
     .fb step
     after 500
 }
</pre>
</pre><H2>ACKNOWLEDGEMENTS</H2>
Sam Shen
<UL>
This code is based largely on his feedback.tcl code from tk inspect. The 
original feedback code is copyright 1995 Lawrence Berkeley Laboratory.
</UL>
<P>
</pre><H2>AUTHOR</H2>
Kris Raney
</pre><H2>KEYWORDS</H2>
feedback, widget
