panedwindow - Create and manipulate panedwindow widgets
panedwindow pathName ?options?
-background -borderwidth -cursor
-orient -relief
See the options manual entry for details on the standard
options.
[-handlepad handlePad] When
sash handles are drawn, specifies the distance from the top or left end of
the sash (depending on the orientation of the widget) at which to draw the
handle. May be any value accepted by Tk_GetPixels.
[-handlesize handleSize] Specifies the
side length of a sash handle. Handles are always drawn as squares. May be
any value accepted by Tk_GetPixels. [-height
height] Specifies a desired height for the overall panedwindow
widget. May be any value accepted by Tk_GetPixels. If an empty
string, the widget will be made high enough to allow all contained widgets
to have their natural height. [-opaqueresize
opaqueResize] Specifies whether panes should be resized as a
sash is moved (true), or if resizing should be deferred until the sash is
placed (false). [-sashcursor
sashCursor] Mouse cursor to use when over a sash. If null,
sb_h_double_arrow will be used for horizontal panedwindows, and
sb_v_double_arrow will be used for vertical panedwindows.
[-sashpad sashPad] Specifies the
amount of padding to leave of each side of a sash. May be any value accepted
by Tk_GetPixels. [-sashrelief
sashRelief] Relief to use when drawing a sash. May be any of
the standard Tk relief values. [-sashwidth
sashWidth] Specifies the width of each sash. May be any value
accepted by Tk_GetPixels. [-showhandle
showHandle] Specifies whether sash handles should be shown.
May be any valid Tcl boolean value. [-width
width] Specifies a desired width for the overall panedwindow
widget. May be any value accepted by Tk_GetPixels. If an empty
string, the widget will be made wide enough to allow all contained widgets
to have their natural width.
The panedwindow command creates a new window (given by the
pathName argument) and makes it into a panedwindow widget. Additional
options, described above, may be specified on the command line or in the
option database to configure aspects of the panedwindow such as its default
background color and relief. The panedwindow command returns the path
name of the new window.
A panedwindow widget contains any number of panes, arranged
horizontally or vertically, according to the value of the -orient
option. Each pane contains one widget, and each pair of panes is separated
by a moveable (via mouse movements) sash. Moving a sash causes the widgets
on either side of the sash to be resized.
The panedwindow command creates a new Tcl command whose
name is the same as the path name of the panedwindow's window. This command
may be used to invoke various operations on the widget. It has the following
general form:
pathName option ?arg arg ...?
PathName is the name of the command, which is the same as the panedwindow
widget's path name. Option and the args determine the exact
behavior of the command. The following commands are possible for panedwindow
widgets:
- pathName add
window ?window ...? ?option value ...?
- Add one or more windows to the panedwindow, each in a separate pane. The
arguments consist of the names of one or more windows followed by pairs of
arguments that specify how to manage the windows. Option may have
any of the values accepted by the configure subcommand.
- pathName
cget option
- Returns the current value of the configuration option given by
option. Option may have any of the values accepted by the
panedwindow command.
- pathName
configure ?option? ?value option value ...?
- Query or modify the configuration options of the widget. If no
option is specified, returns a list describing all of the available
options for pathName (see Tk_ConfigureInfo for information
on the format of this list). If option is specified with no
value, 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 option is specified). If one or more
option-value 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. Option may have any of the values
accepted by the panedwindow command.
- pathName
forget window ?window ...?
- Remove the pane containing window from the panedwindow. All
geometry management options for window will be forgotten.
- pathName
identify x y
- Identify the panedwindow component underneath the point given by x
and y, in window coordinates. If the point is over a sash or a sash
handle, the result is a two element list containing the index of the sash
or handle, and a word indicating whether it is over a sash or a handle,
such as {0 sash} or {2 handle}. If the point is over any other part of the
panedwindow, the result is an empty list.
- pathName
proxy ?args?
- This command is used to query and change the position of the sash proxy,
used for rubberband-style pane resizing. It can take any of the following
forms:
- pathName
sash ?args?
- This command is used to query and change the position of sashes in the
panedwindow. It can take any of the following forms:
- pathName
sash coord index
- Return the current x and y coordinate pair for the sash given by
index. Index must be an integer between 0 and 1 less than
the number of panes in the panedwindow. The coordinates given are those of
the top left corner of the region containing the sash.
- pathName
sash dragto index x y
- This command computes the difference between the given coordinates and the
coordinates given to the last sash mark command for the given sash.
It then moves that sash the computed difference. The return value is the
empty string.
- pathName
sash mark index x y
- Records x and y for the sash given by index; used in
conjunction with later sash dragto commands to move the sash.
- pathName
sash place index x y
- Place the sash given by index at the given coordinates.
- pathName
panecget window option
- Query a management option for window. Option may be any
value allowed by the paneconfigure subcommand.
- pathName
paneconfigure window ?option? ?value option value
...?
- Query or modify the management options for window. If no
option is specified, returns a list describing all of the available
options for pathName (see Tk_ConfigureInfo for information
on the format of this list). If option is specified with no
value, 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 option is specified). If one or more
option-value 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. The following options are supported:
- -after
window
- Insert the window after the window specified. window should be the
name of a window already managed by pathName.
- -before
window
- Insert the window before the window specified. window should be the
name of a window already managed by pathName.
- -height
size
- Specify a height for the window. The height will be the outer dimension of
the window including its border, if any. If size is an empty
string, or if -height is not specified, then the height requested
internally by the window will be used initially; the height may later be
adjusted by the movement of sashes in the panedwindow. Size may be
any value accepted by Tk_GetPixels.
- -hide
boolean
- Controls the visibility of a pane. When the boolean is true
(according to Tcl_GetBoolean) the pane will not be visible, but it
will still be maintained in the list of panes.
- -minsize
n
- Specifies that the size of the window cannot be made less than n.
This constraint only affects the size of the widget in the paned dimension
— the x dimension for horizontal panedwindows, the y dimension for
vertical panedwindows. May be any value accepted by
Tk_GetPixels.
- -padx n
- Specifies a non-negative value indicating how much extra space to leave on
each side of the window in the X-direction. The value may have any of the
forms accepted by Tk_GetPixels.
- -pady n
- Specifies a non-negative value indicating how much extra space to leave on
each side of the window in the Y-direction. The value may have any of the
forms accepted by Tk_GetPixels.
- -sticky
style
- If a window's pane is larger than the requested dimensions of the window,
this option may be used to position (or stretch) the window within its
pane. Style is a string that contains zero or more of the
characters n, s, e or w. The string can
optionally contains spaces or commas, but they are ignored. Each letter
refers to a side (north, south, east, or west) that the window will
“stick” to. If both n and s (or e and
w) are specified, the window will be stretched to fill the entire
height (or width) of its cavity.
- -stretch
when
- Controls how extra space is allocated to each of the panes. When is
one of always, first, last, middle, and
never. The panedwindow will calculate the required size of all its
panes. Any remaining (or deficit) space will be distributed to those panes
marked for stretching. The space will be distributed based on each panes
current ratio of the whole. The when values have the following
definition:
- always
- This pane will always stretch.
- first
- Only if this pane is the first pane (left-most or top-most) will it
stretch.
- last
- Only if this pane is the last pane (right-most or bottom-most) will it
stretch. This is the default value.
- middle
- Only if this pane is not the first or last pane will it stretch.
- never
- This pane will never stretch.
- -width
size
- Specify a width for the window. The width will be the outer dimension of
the window including its border, if any. If size is an empty
string, or if -width is not specified, then the width requested
internally by the window will be used initially; the width may later be
adjusted by the movement of sashes in the panedwindow. Size may be
any value accepted by Tk_GetPixels.
- pathName
panes
- Returns an ordered list of the widgets managed by pathName.
A pane is resized by grabbing the sash (or sash handle if present)
and dragging with the mouse. This is accomplished via mouse motion bindings
on the widget. When a sash is moved, the sizes of the panes on each side of
the sash, and thus the widgets in those panes, are adjusted.
When a pane is resized from outside (e.g. it is packed to expand
and fill, and the containing toplevel is resized), space is added to the
final (rightmost or bottommost) pane in the window.
panedwindow, widget, geometry management