You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
353 lines
11 KiB
HTML
353 lines
11 KiB
HTML
<TITLE>panedwindow - Create and manipulate a paned window widget</TITLE>
|
|
<H1>panedwindow - Create and manipulate a paned window widget</H1>
|
|
|
|
</pre><H2>SYNOPSIS</H2>
|
|
<B>panedwindow<I> <I>pathName </I>?<I>options</I>?
|
|
</pre><H2>INHERITANCE</H2>
|
|
itk::Widget <- panedwindow
|
|
</pre><H2>STANDARD OPTIONS</H2>
|
|
<P>
|
|
<table cellpadding=5>
|
|
<td valign=top>
|
|
<B>background</B><br>
|
|
</td>
|
|
<td valign=top>
|
|
<B>cursor</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/options.n.html"> "options" </A> manual entry for details on the standard options.
|
|
</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
|
|
<P>
|
|
<pre>
|
|
Name: <B>height</B>
|
|
Class: <B>Height</B>
|
|
Command-Line Switch: <B>-height</B>
|
|
</pre>
|
|
<UL>
|
|
Specifies the overall height of the paned window in any of the forms
|
|
acceptable to <B>Tk_GetPixels</B>. The default is 10 pixels.
|
|
</UL>
|
|
<P>
|
|
<pre>
|
|
Name: <B>orient</B>
|
|
Class: <B>Orient</B>
|
|
Command-Line Switch: <B>-orient</B>
|
|
</pre>
|
|
<UL>
|
|
Specifies the orientation of the separators: <B>vertical</B> or
|
|
<B>horizontal</B>. The default is horizontal.
|
|
</UL>
|
|
<P>
|
|
<pre>
|
|
Name: <B>sashBorderWidth</B>
|
|
Class: <B>BorderWidth</B>
|
|
Command-Line Switch: <B>-sashborderwidth</B>
|
|
</pre>
|
|
<UL>
|
|
Specifies a value indicating the width of the 3-D border to draw
|
|
around the outside of the sash in any of the forms acceptable to
|
|
<B>Tk_GetPixels</B>. The default is 2 pixels.
|
|
</UL>
|
|
<P>
|
|
<pre>
|
|
Name: <B>sashCursor</B>
|
|
Class: <B>Cursor</B>
|
|
Command-Line Switch: <B>-sashcursor</B>
|
|
</pre>
|
|
<UL>
|
|
Specifies the type of cursor to be displayed in the sash. The default
|
|
is crosshair.
|
|
</UL>
|
|
<P>
|
|
<pre>
|
|
Name: <B>sashHeight</B>
|
|
Class: <B>Height</B>
|
|
Command-Line Switch: <B>-sashheight</B>
|
|
</pre>
|
|
<UL>
|
|
Specifies the height of the sash in any of the forms acceptable to
|
|
<B>Tk_GetPixels</B>. The default is 10 pixels.
|
|
</UL>
|
|
<P>
|
|
<pre>
|
|
Name: <B>sashIndent</B>
|
|
Class: <B>SashIndent</B>
|
|
Command-Line Switch <B>sashindent</B>
|
|
</pre>
|
|
<UL>
|
|
Specifies the placement of the sash along the panes in any of the forms
|
|
acceptable to <B>Tk_GetPixels</B>. A positive
|
|
value causes the sash to be offset from the near (left/top) side
|
|
of the pane, and a negative value causes the sash to be offset from
|
|
the far (right/bottom) side. If the offset is greater than the
|
|
width, then the sash is placed flush against the side. The
|
|
default is -10 pixels.
|
|
</UL>
|
|
<P>
|
|
<pre>
|
|
Name: <B>sashWidth</B>
|
|
Class: <B>Width</B>
|
|
Command-Line Switch: <B>-sashwidth</B>
|
|
</pre>
|
|
<UL>
|
|
Specifies the width of the sash in any of the forms acceptable to
|
|
<B>Tk_GetPixels</B>. The default is 10 pixels.
|
|
</UL>
|
|
<P>
|
|
<pre>
|
|
Name: <B>showHandle</B>
|
|
Class: <B>ShowHandle</B>
|
|
Command-Line Switch: <B>-showhandle</B>
|
|
</pre>
|
|
<UL>
|
|
Specifies whether or not to display the sashes on the window panes.
|
|
The default is 1, and valid options are 0 and 1.
|
|
</UL>
|
|
<P>
|
|
<pre>
|
|
Name: <B>thickness</B>
|
|
Class: <B>Thickness</B>
|
|
Command-Line Switch: <B>-thickness</B>
|
|
</pre>
|
|
<UL>
|
|
Specifies the thickness of the separators in any of the forms acceptable to
|
|
<B>Tk_GetPixels</B>. The default is 3 pixels.
|
|
</UL>
|
|
<P>
|
|
<P>
|
|
<pre>
|
|
Name: <B>width</B>
|
|
Class: <B>Width</B>
|
|
Command-Line Switch: <B>-width</B>
|
|
</pre>
|
|
<UL>
|
|
Specifies the overall width of the paned window in any of the forms
|
|
acceptable to <B>Tk_GetPixels</B>. The default is 10 pixels.
|
|
</UL>
|
|
<P>
|
|
</pre><HR>
|
|
|
|
</pre><H2>DESCRIPTION</H2>
|
|
<P>
|
|
The <B>panedwindow</B> command creates a multiple paned window widget
|
|
capable of orienting the panes
|
|
either vertically or horizontally. Each pane is itself a frame acting
|
|
as a child site for other widgets. The border separating each pane
|
|
contains a sash which allows user positioning of the panes relative to
|
|
one another.
|
|
|
|
</pre><H2>METHODS</H2>
|
|
<P>
|
|
The <B>panedwindow</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.
|
|
<P>
|
|
Many of the widget commands for the <B>panedwindow</B> take as one argument an
|
|
indicator of which pane of the paned window to operate on. These indicators
|
|
are called <I>indexes</I> and allow reference and manipulation of panes
|
|
regardless of their current map state. Paned window indexes may be
|
|
specified in any of the following forms:
|
|
<DL>
|
|
<DT> <I>number</I>
|
|
</I></B>
|
|
<DD> Specifies the pane numerically, where 0 corresponds to the nearest
|
|
(top/left-most) pane of the paned window.
|
|
</DL>
|
|
<DL>
|
|
<DT> <B>end</B>
|
|
</I></B>
|
|
<DD> Indicates the farthest (bottom/right-most) pane of the paned window.
|
|
</DL>
|
|
<DL>
|
|
<DT> <I>pattern</I>
|
|
</I></B>
|
|
<DD> If the index doesn't satisfy one of the above forms then this
|
|
form is used. <I>Pattern</I> is pattern-matched against the tag of
|
|
each pane in the panedwindow, in order from left/top to right/left,
|
|
until a matching entry is found. The rules of <B>Tcl_StringMatch</B>
|
|
are used.
|
|
|
|
</DL>
|
|
</pre><H2>WIDGET-SPECIFIC METHODS</H2>
|
|
<DL>
|
|
<DT> <I>pathName <B>add</B> <I>tag</I> ?<I>option value option value</I>?
|
|
</I></B>
|
|
<DD> Adds a new pane to the paned window on the far side (right/bottom). The
|
|
following options may be specified:
|
|
</DL>
|
|
<UL>
|
|
<DL>
|
|
<DT> <B>-margin</B> <I>value</I>
|
|
</I></B>
|
|
<DD> Specifies the border distance between the pane and pane contents is any of
|
|
the forms acceptable to <B>Tk_GetPixels</B>. The default is 8 pixels.
|
|
</DL>
|
|
<DL>
|
|
<DT> <B>-minimum</B> <I>value</I>
|
|
</I></B>
|
|
<DD> Specifies the minimum size that a pane's contents may reach not
|
|
inclusive of twice the margin in any of the forms acceptable to
|
|
<B>Tk_GetPixels</B>. The default is 10 pixels.
|
|
|
|
The <B>add</B> method returns the path name of the pane.
|
|
</DL>
|
|
</UL>
|
|
<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>panedwindow</B>
|
|
command.
|
|
</DL>
|
|
<DL>
|
|
<DT> <I>pathName <B>childsite</B> ?<I>index</I>?
|
|
</I></B>
|
|
<DD> Returns a list of the child site path names or a specific child site given
|
|
an index. The list is constructed from the near side (left/top) to the far
|
|
side (right/bottom).
|
|
</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>panedwindow</B>
|
|
command.
|
|
</DL>
|
|
<DL>
|
|
<DT> <I>pathName <B>delete</B> <I>index</I>
|
|
</I></B>
|
|
<DD> Deletes a specified pane given an <I>index</I>.
|
|
</DL>
|
|
<DL>
|
|
<DT> <I>pathName <B>fraction</B> <I>percentage</I> <I>percentage</I> ?<I>percentage percentage ...</I>?
|
|
</I></B>
|
|
<DD> Sets the visible percentage of the panes. Specifies a set of
|
|
percentages which are applied to the visible panes from the near side
|
|
(left/top). The number of percentages must be equal to the current number
|
|
of visible (mapped) panes and add up to 100.
|
|
</DL>
|
|
<DL>
|
|
<DT> <I>pathName <B>hide</B> <I>index</I>
|
|
</I></B>
|
|
<DD> Changes the visiblity of the specified pane, allowing a previously displayed
|
|
pane to be visually removed rather than deleted.
|
|
</DL>
|
|
<DL>
|
|
<DT> <I>pathName <B>index</B> <I>index</I>
|
|
</I></B>
|
|
<DD> Returns the numerical index corresponding to index.
|
|
</DL>
|
|
<DL>
|
|
<DT> <I>pathName <B>insert <I>index</I> <I>tag</I> ?<I>option value option value ...</I>?
|
|
</I></B>
|
|
<DD> Same as the <B>add</B> command except that it inserts the new
|
|
pane just before the one given by <I>index</I>, instead of appending
|
|
to the end of the panedwindow. The <I>option</I>, and <I>value</I>
|
|
arguments have the same interpretation as for the <B>add</B> widget
|
|
command.
|
|
</DL>
|
|
<DL>
|
|
<DT> <I>pathName <B>paneconfigure</B> <I>index</I> ?<I>options</I>?
|
|
</I></B>
|
|
<DD> This command is similar to the <B>configure</B> command, except that
|
|
it applies to the options for an individual pane, whereas <B>configure</B>
|
|
applies to the options for the paned window as a whole.
|
|
<I>Options</I> may have any of the values accepted by the <B>add</B>
|
|
widget command. If <I>options</I> are specified, options are modified
|
|
as indicated in the command and the command returns an empty string.
|
|
If no <I>options</I> are specified, returns a list describing
|
|
the current options for entry <I>index</I> (see <B>Tk_ConfigureInfo</B> for
|
|
information on the format of this list).
|
|
</DL>
|
|
<DL>
|
|
<DT> <I>pathName <B>reset</B>
|
|
</I></B>
|
|
<DD> Redisplays the pane window using default percentages.
|
|
</DL>
|
|
<DL>
|
|
<DT> <I>pathName <B>show</B> <I>index</I>
|
|
</I></B>
|
|
<DD> Changes the visiblity of the specified pane, allowing a previously hidden
|
|
pane to be displayed.
|
|
|
|
</DL>
|
|
</pre><H2>NOTES</H2>
|
|
<UL>
|
|
Dynamic changing of the margin and or minimum options to values which
|
|
make the current configuration invalid will block subsequent sash
|
|
movement until the fractions are modified via the fraction method.
|
|
For example a panedwindow is created with three panes and the minimum
|
|
and margin options are at their default settings. Next the user moves
|
|
the sashes to compact the panes to one side. Now, if the minimum is
|
|
increased on the most compressed pane via the paneconfigure method to
|
|
a large enough value, then sash movement is blocked
|
|
until the fractions are adjusted. This situation is unusual and under
|
|
normal operation of the panedwindow, this problem will never occur.
|
|
</UL>
|
|
<P>
|
|
|
|
</pre><H2>EXAMPLE</H2>
|
|
<pre>
|
|
panedwindow .pw -width 300 -height 300
|
|
.pw add top
|
|
.pw add middle -margin 10
|
|
.pw add bottom -margin 10 -minimum 10
|
|
|
|
pack .pw -fill both -expand yes
|
|
|
|
foreach pane [.pw childSite] {
|
|
button $pane.b -text $pane -relief raised -borderwidth 2
|
|
pack $pane.b -fill both -expand yes
|
|
}
|
|
|
|
.pw fraction 50 30 20
|
|
.pw paneconfigure 0 -minimum 20
|
|
.pw paneconfigure bottom -margin 15
|
|
</pre>
|
|
</pre><H2>ACKNOWLEDGEMENTS:</H2>
|
|
<P>
|
|
Jay Schmidgall
|
|
<UL>
|
|
1994 - Base logic posted to comp.lang.tcl
|
|
</UL>
|
|
<P>
|
|
Joe Hidebrand <hildjj@fuentez.com>
|
|
<UL>
|
|
07/25/94 - Posted first multipane version to comp.lang.tcl
|
|
</UL>
|
|
<P>
|
|
<UL>
|
|
07/28/94 - Added support for vertical panes
|
|
</UL>
|
|
<P>
|
|
Ken Copeland <ken@hilco.com>
|
|
<UL>
|
|
09/28/95 - Smoothed out the sash movement and added squeezable panes.
|
|
</UL>
|
|
<P>
|
|
</pre><H2>AUTHOR</H2>
|
|
Mark L. Ulferts
|
|
</pre><H2>KEYWORDS</H2>
|
|
panedwindow, widget
|