- NAME
- panedwindow — Create and manipulate 'panedwindow' split
container widgets
- SYNOPSIS
- STANDARD
OPTIONS
- -background or -bg,
background, Background
- -borderwidth or -bd,
borderWidth, BorderWidth
- -cursor, cursor,
Cursor
- -orient, orient,
Orient
- -relief, relief,
Relief
- WIDGET-SPECIFIC OPTIONS
- -handlepad, handlePad, HandlePad
- -handlesize, handleSize, HandleSize
- -height,
height, Height
- -opaqueresize, opaqueResize, OpaqueResize
- -proxybackground, proxyBackground, ProxyBackground
- -proxyborderwidth, proxyBorderWidth,
ProxyBorderWidth
- -proxyrelief, proxyRelief, ProxyRelief
- -sashcursor, sashCursor, SashCursor
- -sashpad, sashPad, SashPad
- -sashrelief, sashRelief, SashRelief
- -sashwidth, sashWidth, SashWidth
- -showhandle, showHandle, ShowHandle
- -width,
width, Width
- DESCRIPTION
- WIDGET
COMMAND
- pathName add window ?window
...? ?option value ...?
- pathName cget option
- pathName configure ?option? ?value
option value ...?
- pathName forget window ?window
...?
- pathName identify x y
- pathName panecget window
option
- pathName paneconfigure window
?option? ?value option value ...?
- -after window
- -before window
- -height size
- -hide boolean
- -minsize n
- -padx n
- -pady n
- -sticky style
- -stretch when
- always
- first
- last
- middle
- never
- -width size
- pathName panes
- pathName proxy ?args?
- pathName proxy coord
- pathName proxy forget
- pathName proxy place x y
- pathName sash ?args?
- pathName sash coord index
- pathName sash dragto index x
y
- pathName sash mark index x y
- pathName sash place index x y
- RESIZING
PANES
- SEE
ALSO
- KEYWORDS
panedwindow — Create and manipulate 'panedwindow' split container
widgets
panedwindow pathName ?options?
- -background or -bg,
background, Background
- -borderwidth or -bd,
borderWidth, BorderWidth
- -cursor, cursor,
Cursor
- -orient, orient,
Orient
- -relief, relief,
Relief
- Command-Line Name: -handlepad
- Database Name: handlePad
- Database Class: 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.
- Command-Line Name: -handlesize
- Database Name: handleSize
- Database Class: HandleSize
- Specifies the side length of a sash handle. Handles are always
drawn as squares. May be any value accepted by Tk_GetPixels.
- Command-Line Name: -height
- Database Name: height
- Database Class: 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.
- Command-Line Name: -opaqueresize
- Database Name: opaqueResize
- Database Class: 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). In the latter case, a “ghost” version of the sash is
displayed during the resizing to show where the panes will be
resized to when releasing the mouse button. This “ghost” version of
the sash is the proxy. It's rendering can be configured using the
-proxybackground, -proxyborderwidth and
-proxyrelief options.
- Command-Line Name: -proxybackground
- Database Name: proxyBackground
- Database Class: ProxyBackground
- Background color to use when drawing the proxy. If an empty
string, the value of the -background option will be
used.
- Command-Line Name: -proxyborderwidth
- Database Name: proxyBorderWidth
- Database Class: ProxyBorderWidth
- Specifies the borderwidth of the proxy. May be any value
accepted by Tk_GetPixels.
- Command-Line Name: -proxyrelief
- Database Name: proxyRelief
- Database Class: ProxyRelief
- Relief to use when drawing the proxy. May be any of the
standard Tk relief values. If an empty string, the value of the
-sashrelief option will be used.
- Command-Line Name: -sashcursor
- Database Name: sashCursor
- Database Class: 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.
- Command-Line Name: -sashpad
- Database Name: sashPad
- Database Class: SashPad
- Specifies the amount of padding to leave of each side of a
sash. May be any value accepted by Tk_GetPixels.
- Command-Line Name: -sashrelief
- Database Name: sashRelief
- Database Class: SashRelief
- Relief to use when drawing a sash. May be any of the standard
Tk relief values.
- Command-Line Name: -sashwidth
- Database Name: sashWidth
- Database Class: SashWidth
- Specifies the width of each sash. May be any value accepted by
Tk_GetPixels.
- Command-Line Name: -showhandle
- Database Name: showHandle
- Database Class: ShowHandle
- Specifies whether sash handles should be shown. May be any
valid Tcl boolean value.
- Command-Line Name: -width
- Database Name: width
- Database Class: 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 ...?
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 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.
- 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 proxy
coord
- Return a list containing the x and y coordinates of the most
recent proxy location.
- pathName proxy
forget
- Remove the proxy from the display.
- pathName proxy place x
y
- Place the proxy at the given x and y
coordinates.
- 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.
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.
Unlike child windows managed by e.g. pack or grid, the panes
managed by a panedwindow do not change width or height to
accommodate changes in the requested widths or heights of the
panes, once these have become mapped. Therefore it may be
advisable, particularly when creating layouts interactively, to not
add a pane to the panedwindow widget until after the geometry
requests of that pane has been finalized (i.e., all components of
the pane inserted, all options affecting geometry set to their
proper values, etc.).
ttk::panedwindow
panedwindow, widget, geometry management
Copyright © 1992 The Regents of the University of
California.
Copyright © 1994-1996 Sun Microsystems, Inc.