<TITLE>iwidgets::disjointlistbox - Create and manipulate a disjointlistbox widget</TITLE>
<H1>iwidgets::disjointlistbox - Create and manipulate a disjointlistbox widget</H1>

</pre><H2>SYNOPSIS</H2>
<B>iwidgets::disjointlistbox<I> <I>pathName </I>?<I>options</I>?
</pre><H2>INHERITANCE</H2>
itk::Widget &lt;- iwidgets::Disjointlistbox
</pre><H2>STANDARD OPTIONS</H2>
<P>
<table cellpadding=5>
<td valign=top>
<B><br>
activeForeground<br>
buttonPlacement<br>
highlightColor<br>
</td>
<td valign=top>
activeBackground<br>
activeRelief<br>
clientData<br>
highlightThickness<br>
</td>
<td valign=top>
selectBorderWidth<br>
background<br>
cursor<br>
disabledForeground<br>
</td>
<td valign=top>
selectForeground<br>
borderWidth<br>
foreground<br>
elementBorderWidth</B></I><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>lhsButtonLabel</B><br>
</td>
<td valign=top>
<B>rhsButtonLabel</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/button.n.html"> "button" </A> widget manual entry for details on the above
associated options.
<P>
<table cellpadding=5>
<td valign=top>
<B>labelFont</B><br>
</td>
<td valign=top>
<B>lhsLabelText</B><br>
</td>
<td valign=top>
<B>rhsLabelText</B><br>
</td>
<td valign=top>
</td>
</table>
<P>
See the "label" widget manual entry for details on the above
associated options.
<P>
<table cellpadding=5>
<td valign=top>
<B>jump</B><br>
</td>
<td valign=top>
<B>troughColor</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/scrollbar.n.html"> "scrollbar" </A> widget class manual entry for details on the above
associated options.
<P>
<table cellpadding=5>
<td valign=top>
<B>textBackground</B><br>
</td>
<td valign=top>
<B>textFont</B><br>
</td>
<td valign=top>
<B>lhsItems</B><br>
</td>
<td valign=top>
<B>rhsItems</B><br>
</td>
</table>
<P>
See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> widget manual entry for details on the above
associated options.
</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
<P>
<pre>
Name:                   <B>buttonPlacement</B>
Class:                  <B>ButtonPlacement</B>
Command-Line Switch:	<B>-buttonplacement</B>
</pre>
<UL>
Specifies the placement of the insertion and removal buttons relative to the
scrolledlistbox widgets<B>n</B>, 
<B>bottom</B>, or <B>center</B>.  The default is bottom.
</UL>
<P>
<pre>
Name:                   <B>lhsLabelText</B>
Class:                  <B>LabelText</B>
Command-Line Switch:	<B>-lhslabeltext</B>
</pre>
<UL>
Specifies the text for the label of the lhs scrolledlistbox.
The default is "Available".
</UL>
<P>
<pre>
Name:                   <B>rhsLabelText</B>
Class:                  <B>LabelText</B>
Command-Line Switch:	<B>-rhslabeltext</B>
</pre>
<UL>
Specifies the text for the label of the rhs scrolledlistbox.
The default is "Available".
</UL>
<P>
<pre>
Name:                   <B>lhsButtonLabel</B>
Class:                  <B>LabelText</B>
Command-Line Switch:	<B>-lhsbuttonlabel</B>
</pre>
<UL>
Specifies the text for the button of the lhs scrolledlistbox.
The default is "Insert &gt;&gt;".
</UL>
<P>
<pre>
Name:                   <B>rhsButtonLabel</B>
Class:                  <B>LabelText</B>
Command-Line Switch:	<B>-rhsbuttonlabel</B>
</pre>
<UL>
Specifies the text for the button of the rhs scrolledlistbox.
The default is "&lt;&lt; Remove".
</UL>
<P>
<pre>
Name:                   <B>lhsSortOption</B>
Class:                  <B>LhsSortOption</B>
Command-Line Switch:	<B>-lhssortoption</B>
</pre>
<UL>
Specifies the sort function to be applied to the lhs scrolledlistbox
after items are inserted. Accepts the same sort options as the scrolledlistbox
sort method (Tcl's lsort command). If "none" is specified, the inserted
items are appended to the end of the list, and no sorting is performed.
The default is "increasing".
</UL>
<P>
<pre>
Name:                   <B>rhsSortOption</B>
Class:                  <B>RhsSortOption</B>
Command-Line Switch:	<B>-rhssortoption</B>
</pre>
<UL>
Specifies the sort function to be applied to the rhs scrolledlistbox
after items are inserted. Accepts the same sort options as the scrolledlistbox
sort method (Tcl's lsort command). If "none" is specified, the inserted
items are appended to the end of the list, and no sorting is performed.
The default is "increasing".
</UL>
<P>
</pre><HR>
</pre><H2>DESCRIPTION</H2>
<P>
The <B>iwidgets::disjointlistbox</B> command creates a disjoint pair of listboxs
similar to the OSF/Motif "Book" printing dialog of the "FrameMaker"
program.  It is implementation constists of a two Scrolledlistboxs,
2 buttons, and 2 labels.

The disjoint behavior of this widget exists between the interaction of
the two Scrolledlistboxes with one another.  That is, a given instance
of a Disjointlistbox will never exist, without the aid of a hack magician,
which has Scrolledlistbox widgets with items in common.  That means the
relationship between the two is maintained similar to that of disjoint sets.

Users may transfer items between the two Listbox widgets using the
the two buttons.

Options exists which include the ability to configure the "items" displayed by
the 2 Scrolledlistboxes and to control the placement of the insertion and
removal buttons.
</pre><H2>METHODS</H2>
<P>
The <B>iwidgets::disjointlistbox</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 disjointlistbox 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>iwidgets::disjointlistbox</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>iwidgets::disjointlistbox</B>
command.
</DL>
<DL>
<DT> <I>pathName <B>setlhs</B>
</I></B>
<DD> Set the current contents of the left-most Scrolledlistbox with the input list
of items.  Removes all (if any) items from the right-most Scrolledlistbox
which exist in the input list option to maintain the disjoint property
between the two
</DL>
<DL>
<DT> <I>pathName <B>setrhs</B>
</I></B>
<DD> Set the current contents of the right-most Scrolledlistbox with the input list
of items.  Removes all (if any) items from the left-most Scrolledlistbox
which exist in the input list option to maintain the disjoint property
between the two
</DL>
<DL>
<DT> <I>pathName <B>getlhs</B>
</I></B>
<DD> Returns the current contents of the left-most Scrolledlistbox
</DL>
<DL>
<DT> <I>pathName <B>getrhs</B>
</I></B>
<DD> Returns the current contents of the right-most Scrolledlistbox
</DL>
<DL>
<DT> <I>pathName <B>insertlhs</B>
</I></B>
<DD> Add the input list of items to the current contents of the left-most
Scrolledlistbox.  Removes all (if any) items from the right-most Scrolledlistbox
which exist in the input list option to maintain the disjoint property
between the two
</DL>
<DL>
<DT> <I>pathName <B>insertrhs</B>
</I></B>
<DD> Add the input list of items to the current contents of the right-most
Scrolledlistbox.  Removes all (if any) items from the left-most Scrolledlistbox
which exist in the input list option to maintain the disjoint property
between the two.
</DL>
<DL>
</DL>
</pre><H2>COMPONENTS</H2>
<P>
<pre>
Name:                   <B>lhs</B>
Class:                  <B>Scrolledlistbox</B>
</pre>
<UL>
The lhs component is the scrolledlistbox for the rhs button.
See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> widget manual entry for details on the lhs 
component item.
</UL>
<P>
<pre>
Name:                   <B>rhs</B>
Class:                  <B>Scrolledlistbox</B>
</pre>
<UL>
The rhs component is the scrolledlistbox for the rhs button.
See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> widget manual entry for details on the rhs
component item.
</UL>
<P>
<pre>
Name:                   <B>lhsbutton</B>
Class:                  <B>utton</B>
</pre>
<UL>
The lhsbutton component is the button for users to remove selected items
from the lhs Scrolledlistbox.
See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/button.n.html"> "button" </A> widget manual entry for details  on the lhs button component.
</UL>
<P>
<pre>
Name:                   <B>rhsbutton</B>
Class:                  <B>Button</B>
</pre>
<UL>
The rhsbutton component is the button for users to remove selected items
from the rhs Scrolledlistbox.
See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/button.n.html"> "button" </A> widget manual entry for details  on the rhs button component.
</UL>
<P>
<pre>
Name:                   <B>lhsCount</B>
Class:                  <B>Label</B>
</pre>
<UL>
The lhsCount component is the label for displaying a count of the current items in
the Scrolledlistbox.
See the "Label" widget manual entry for details  on the lhsCount label component.
</UL>
<P>
<pre>
Name:                   <B>rhsCount</B>
Class:                  <B>Label</B>
</pre>
<UL>
The rhsCount component is the label for displaying a count of the current items in
the Scrolledlistbox.
See the "Label" widget manual entry for details  on the rhsCount label component.
</UL>
</table>
<UL>
</UL>
</pre><H2>EXAMPLE</H2>
<pre>
package require Iwidgets 4.0
iwidgets::disjointlistbox .dlb
pack .dlb -padx 10 -pady 10 -fill both -expand yes 
</pre>
</pre><H2>AUTHOR(S)</H2>
John A. Tucker
</pre>
Anthony Parent
</pre><H2>KEYWORDS</H2>
disjointlistbox, widget
