| <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 |