Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / v8plus / man / mann / panedwindow.n
CommitLineData
920dae64
AT
1'\"
2'\" Copyright (c) 1992 The Regents of the University of California.
3'\" Copyright (c) 1994-1996 Sun Microsystems, Inc.
4'\"
5'\" See the file "license.terms" for information on usage and redistribution
6'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
7'\"
8'\" RCS: @(#) $Id: panedwindow.n,v 1.2.2.3 2004/12/20 10:03:17 dkf Exp $
9'\"
10'\" The definitions below are for supplemental macros used in Tcl/Tk
11'\" manual entries.
12'\"
13'\" .AP type name in/out ?indent?
14'\" Start paragraph describing an argument to a library procedure.
15'\" type is type of argument (int, etc.), in/out is either "in", "out",
16'\" or "in/out" to describe whether procedure reads or modifies arg,
17'\" and indent is equivalent to second arg of .IP (shouldn't ever be
18'\" needed; use .AS below instead)
19'\"
20'\" .AS ?type? ?name?
21'\" Give maximum sizes of arguments for setting tab stops. Type and
22'\" name are examples of largest possible arguments that will be passed
23'\" to .AP later. If args are omitted, default tab stops are used.
24'\"
25'\" .BS
26'\" Start box enclosure. From here until next .BE, everything will be
27'\" enclosed in one large box.
28'\"
29'\" .BE
30'\" End of box enclosure.
31'\"
32'\" .CS
33'\" Begin code excerpt.
34'\"
35'\" .CE
36'\" End code excerpt.
37'\"
38'\" .VS ?version? ?br?
39'\" Begin vertical sidebar, for use in marking newly-changed parts
40'\" of man pages. The first argument is ignored and used for recording
41'\" the version when the .VS was added, so that the sidebars can be
42'\" found and removed when they reach a certain age. If another argument
43'\" is present, then a line break is forced before starting the sidebar.
44'\"
45'\" .VE
46'\" End of vertical sidebar.
47'\"
48'\" .DS
49'\" Begin an indented unfilled display.
50'\"
51'\" .DE
52'\" End of indented unfilled display.
53'\"
54'\" .SO
55'\" Start of list of standard options for a Tk widget. The
56'\" options follow on successive lines, in four columns separated
57'\" by tabs.
58'\"
59'\" .SE
60'\" End of list of standard options for a Tk widget.
61'\"
62'\" .OP cmdName dbName dbClass
63'\" Start of description of a specific option. cmdName gives the
64'\" option's name as specified in the class command, dbName gives
65'\" the option's name in the option database, and dbClass gives
66'\" the option's class in the option database.
67'\"
68'\" .UL arg1 arg2
69'\" Print arg1 underlined, then print arg2 normally.
70'\"
71'\" RCS: @(#) $Id: man.macros,v 1.4 2000/08/25 06:18:32 ericm Exp $
72'\"
73'\" # Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
74.if t .wh -1.3i ^B
75.nr ^l \n(.l
76.ad b
77'\" # Start an argument description
78.de AP
79.ie !"\\$4"" .TP \\$4
80.el \{\
81. ie !"\\$2"" .TP \\n()Cu
82. el .TP 15
83.\}
84.ta \\n()Au \\n()Bu
85.ie !"\\$3"" \{\
86\&\\$1 \\fI\\$2\\fP (\\$3)
87.\".b
88.\}
89.el \{\
90.br
91.ie !"\\$2"" \{\
92\&\\$1 \\fI\\$2\\fP
93.\}
94.el \{\
95\&\\fI\\$1\\fP
96.\}
97.\}
98..
99'\" # define tabbing values for .AP
100.de AS
101.nr )A 10n
102.if !"\\$1"" .nr )A \\w'\\$1'u+3n
103.nr )B \\n()Au+15n
104.\"
105.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
106.nr )C \\n()Bu+\\w'(in/out)'u+2n
107..
108.AS Tcl_Interp Tcl_CreateInterp in/out
109'\" # BS - start boxed text
110'\" # ^y = starting y location
111'\" # ^b = 1
112.de BS
113.br
114.mk ^y
115.nr ^b 1u
116.if n .nf
117.if n .ti 0
118.if n \l'\\n(.lu\(ul'
119.if n .fi
120..
121'\" # BE - end boxed text (draw box now)
122.de BE
123.nf
124.ti 0
125.mk ^t
126.ie n \l'\\n(^lu\(ul'
127.el \{\
128.\" Draw four-sided box normally, but don't draw top of
129.\" box if the box started on an earlier page.
130.ie !\\n(^b-1 \{\
131\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
132.\}
133.el \}\
134\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
135.\}
136.\}
137.fi
138.br
139.nr ^b 0
140..
141'\" # VS - start vertical sidebar
142'\" # ^Y = starting y location
143'\" # ^v = 1 (for troff; for nroff this doesn't matter)
144.de VS
145.if !"\\$2"" .br
146.mk ^Y
147.ie n 'mc \s12\(br\s0
148.el .nr ^v 1u
149..
150'\" # VE - end of vertical sidebar
151.de VE
152.ie n 'mc
153.el \{\
154.ev 2
155.nf
156.ti 0
157.mk ^t
158\h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
159.sp -1
160.fi
161.ev
162.\}
163.nr ^v 0
164..
165'\" # Special macro to handle page bottom: finish off current
166'\" # box/sidebar if in box/sidebar mode, then invoked standard
167'\" # page bottom macro.
168.de ^B
169.ev 2
170'ti 0
171'nf
172.mk ^t
173.if \\n(^b \{\
174.\" Draw three-sided box if this is the box's first page,
175.\" draw two sides but no top otherwise.
176.ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
177.el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
178.\}
179.if \\n(^v \{\
180.nr ^x \\n(^tu+1v-\\n(^Yu
181\kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
182.\}
183.bp
184'fi
185.ev
186.if \\n(^b \{\
187.mk ^y
188.nr ^b 2
189.\}
190.if \\n(^v \{\
191.mk ^Y
192.\}
193..
194'\" # DS - begin display
195.de DS
196.RS
197.nf
198.sp
199..
200'\" # DE - end display
201.de DE
202.fi
203.RE
204.sp
205..
206'\" # SO - start of list of standard options
207.de SO
208.SH "STANDARD OPTIONS"
209.LP
210.nf
211.ta 5.5c 11c
212.ft B
213..
214'\" # SE - end of list of standard options
215.de SE
216.fi
217.ft R
218.LP
219See the \\fBoptions\\fR manual entry for details on the standard options.
220..
221'\" # OP - start of full description for a single option
222.de OP
223.LP
224.nf
225.ta 4c
226Command-Line Name: \\fB\\$1\\fR
227Database Name: \\fB\\$2\\fR
228Database Class: \\fB\\$3\\fR
229.fi
230.IP
231..
232'\" # CS - begin code excerpt
233.de CS
234.RS
235.nf
236.ta .25i .5i .75i 1i
237..
238'\" # CE - end code excerpt
239.de CE
240.fi
241.RE
242..
243.de UL
244\\$1\l'|0\(ul'\\$2
245..
246.TH panedwindow n 8.4 Tk "Tk Built-In Commands"
247.BS
248'\" Note: do not modify the .SH NAME line immediately below!
249.SH NAME
250panedwindow \- Create and manipulate panedwindow widgets
251.SH SYNOPSIS
252\fBpanedwindow\fR \fIpathName \fR?\fIoptions\fR?
253.SO
254\-background \-height \-width
255\-borderwidth \-orient
256\-cursor \-relief
257.SE
258.SH "WIDGET-SPECIFIC OPTIONS"
259.OP \-handlepad handlePad HandlePad
260When sash handles are drawn, specifies the distance from the top or
261left end of the sash (depending on the orientation of the widget) at
262which to draw the handle. May be any value accepted by \fBTk_GetPixels\fR.
263.OP \-handlesize handleSize HandleSize
264Specifies the side length of a sash handle. Handles are always
265drawn as squares. May be any value accepted by \fBTk_GetPixels\fR.
266.OP \-opaqueresize opaqueResize OpaqueResize
267Specifies whether panes should be resized as a sash is moved (true),
268or if resizing should be deferred until the sash is placed (false).
269.OP \-sashcursor sashCursor SashCursor
270Mouse cursor to use when over a sash. If null,
271\fBsb_h_double_arrow\fR will be used for horizontal panedwindows, and
272\fBsb_v_double_arrow\fR will be used for vertical panedwindows.
273.OP \-sashpad sashPad SashPad
274Specifies the amount of padding to leave of each side of a sash. May
275be any value accepted by \fBTk_GetPixels\fR.
276.OP \-sashrelief sashRelief SashRelief
277Relief to use when drawing a sash. May be any of the standard Tk
278relief values.
279.OP \-sashwidth sashWidth SashWidth
280Specifies the width of each sash. May be any value accepted by
281\fBTk_GetPixels\fR.
282.OP \-showhandle showHandle ShowHandle
283Specifies whether sash handles should be shown. May be any valid Tcl
284boolean value.
285.BE
286
287.SH DESCRIPTION
288.PP
289The \fBpanedwindow\fR command creates a new window (given by the
290\fIpathName\fR argument) and makes it into a panedwindow widget.
291Additional options, described above, may be specified on the command
292line or in the option database to configure aspects of the panedwindow
293such as its default background color and relief. The
294\fBpanedwindow\fR command returns the path name of the new window.
295.PP
296A panedwindow widget contains any number of panes, arranged
297horizontally or vertically, according to the value of the
298\fB\-orient\fR option. Each pane contains one widget, and each pair of
299panes is separated by a moveable (via mouse movements) sash. Moving a
300sash causes the widgets on either side of the sash to be resized.
301.SH "WIDGET COMMAND"
302.PP
303The \fBpanedwindow\fR command creates a new Tcl command whose name is
304the same as the path name of the panedwindow's window. This command
305may be used to invoke various operations on the widget. It has the
306following general form:
307.CS
308\fIpathName option \fR?\fIarg arg ...\fR?
309.CE
310\fIPathName\fR is the name of the command, which is the same as
311the panedwindow widget's path name. \fIOption\fR and the \fIarg\fRs
312determine the exact behavior of the command. The following
313commands are possible for panedwindow widgets:
314.TP
315\fIpathName \fBadd \fIwindow ?window ...? ?option value ...?\fR
316Add one or more windows to the panedwindow, each in a separate pane.
317The arguments consist of the names of one or more windows
318followed by pairs of arguments that specify how to manage the windows.
319\fIOption\fR may have any of the values accepted by the
320\fBconfigure\fR subcommand.
321.TP
322\fIpathName \fBcget \fIoption\fR
323Returns the current value of the configuration option given by
324\fIoption\fR. \fIOption\fR may have any of the values accepted by the
325\fBpanedwindow\fR command.
326.TP
327\fIpathName \fBconfigure \fI?option? ?value option value ...?\fR
328Query or modify the configuration options of the widget. If no
329\fIoption\fR is specified, returns a list describing all of the
330available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
331information on the format of this list). If \fIoption\fR is specified
332with no \fIvalue\fR, then the command returns a list describing the
333one named option (this list will be identical to the corresponding
334sublist of the value returned if no \fIoption\fR is specified). If
335one or more \fIoption\-value\fR pairs are specified, then the command
336modifies the given widget option(s) to have the given value(s); in
337this case the command returns an empty string. \fIOption\fR may have
338any of the values accepted by the \fBpanedwindow\fR command.
339.TP
340\fIpathName \fBforget \fIwindow ?window ...?\fR
341Remove the pane containing \fIwindow\fR from the panedwindow. All
342geometry management options for \fIwindow\fR will be forgotten.
343.TP
344\fIpathName \fBidentify \fIx y\fR
345Identify the panedwindow component underneath the point given by
346\fIx\fR and \fIy\fR, in window coordinates. If the point is over a
347sash or a sash handle, the result is a two element list containing the
348index of the sash or handle, and a word indicating whether it is over
349a sash or a handle, such as {0 sash} or {2 handle}. If the point is
350over any other part of the panedwindow, the result is an empty list.
351.TP
352\fIpathName \fBproxy \fI?args?\fR
353This command is used to query and change the position of the sash
354proxy, used for rubberband-style pane resizing. It can take any of
355the following forms:
356.RS
357.TP
358\fIpathName \fBproxy coord\fR
359Return a list containing the x and y coordinates of the most recent
360proxy location.
361.TP
362\fIpathName \fBproxy forget\fR
363Remove the proxy from the display.
364.TP
365\fIpathName \fBproxy place \fIx y\fR
366Place the proxy at the given \fIx\fR and \fIy\fR coordinates.
367.RE
368.TP
369\fIpathName \fBsash \fI?args?\fR
370This command is used to query and change the position of sashes in the
371panedwindow. It can take any of the following forms:
372.RS
373.TP
374\fIpathName \fBsash coord \fIindex\fR
375Return the current x and y coordinate pair for the sash given by
376\fIindex\fR. \fIIndex\fR must be an integer between 0 and 1 less than
377the number of panes in the panedwindow. The coordinates given are
378those of the top left corner of the region containing the sash.
379.TP
380\fIpathName \fBsash dragto \fIindex x y\fR
381This command computes the difference between the given coordinates and the
382coordinates given to the last \fBsash mark\fR command for the given
383sash. It then moves that sash the computed difference. The return
384value is the empty string.
385.TP
386\fIpathName \fBsash mark \fIindex x y\fR
387Records \fIx\fR and \fIy\fR for the sash given by \fIindex\fR; used in
388conjunction with later \fBsash dragto\fR commands to move the sash.
389.TP
390\fIpathName \fBsash place \fIindex x y\fR
391Place the sash given by \fIindex\fR at the given coordinates.
392.RE
393.TP
394\fIpathName \fBpanecget \fIwindow option\fR
395Query a management option for \fIwindow\fR. \fIOption\fR may be any
396value allowed by the \fBpaneconfigure\fR subcommand.
397.TP
398\fIpathName \fBpaneconfigure \fIwindow ?option? ?value option value ...?\fR
399Query or modify the management options for \fIwindow\fR. If no
400\fIoption\fR is specified, returns a list describing all of the
401available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
402information on the format of this list). If \fIoption\fR is specified
403with no \fIvalue\fR, then the command returns a list describing the
404one named option (this list will be identical to the corresponding
405sublist of the value returned if no \fIoption\fR is specified). If
406one or more \fIoption\-value\fR pairs are specified, then the command
407modifies the given widget option(s) to have the given value(s); in
408this case the command returns an empty string. The following options
409are supported:
410.RS
411.TP
412\fB\-after \fIwindow\fR
413Insert the window after the window specified. \fIwindow\fR should be the
414name of a window already managed by \fIpathName\fR.
415.TP
416\fB\-before \fIwindow\fR
417Insert the window before the window specified. \fIwindow\fR should be
418the name of a window already managed by \fIpathName\fR.
419.TP
420\fB\-height \fIsize\fR
421Specify a height for the window. The height will be the outer
422dimension of the window including its border, if any. If \fIsize\fR
423is an empty string, or if \fB\-height\fR is not specified, then the
424height requested internally by the window will be used initially; the
425height may later be adjusted by the movement of sashes in the
426panedwindow. \fISize\fR may be any value accepted by \fBTk_GetPixels\fR.
427.TP
428\fB\-minsize \fIn\fR
429Specifies that the size of the window cannot be made less than
430\fIn\fR. This constraint only affects the size of the widget in the
431paned dimension -- the x dimension for horizontal panedwindows, the y
432dimension for vertical panedwindows. May be any value accepted by
433\fBTk_GetPixels\fR.
434.TP
435\fB\-padx \fIn\fR
436Specifies a non-negative value indicating how much extra space to
437leave on each side of the window in the X-direction. The value may
438have any of the forms accepted by \fBTk_GetPixels\fR.
439.TP
440\fB\-pady \fIn\fR
441Specifies a non-negative value indicating how much extra space to
442leave on each side of the window in the Y-direction. The value may
443have any of the forms accepted by \fBTk_GetPixels\fR.
444.TP
445\fB\-sticky \fIstyle\fR
446If a window's pane is larger than the requested dimensions of the
447window, this option may be used to position (or stretch) the window
448within its pane. \fIStyle\fR is a string that contains zero or more
449of the characters \fBn\fP, \fBs\fP, \fBe\fP or \fBw\fP. The string
450can optionally contains spaces or commas, but they are ignored. Each
451letter refers to a side (north, south, east, or west) that the window
452will "stick" to. If both \fBn\fP and \fBs\fP (or \fBe\fP and \fBw\fP)
453are specified, the window will be stretched to fill the entire height
454(or width) of its cavity.
455.TP
456\fB\-width \fIsize\fR
457Specify a width for the window. The width will be the outer
458dimension of the window including its border, if any. If \fIsize\fR
459is an empty string, or if \fB\-width\fR is not specified, then the
460width requested internally by the window will be used initially; the
461width may later be adjusted by the movement of sashes in the
462panedwindow. \fISize\fR may be any value accepted by \fBTk_GetPixels\fR.
463.RE
464.TP
465\fIpathName \fBpanes\fR
466Returns an ordered list of the widgets managed by \fIpathName\fR.
467.SH "RESIZING PANES"
468A pane is resized by grabbing the sash (or sash handle if present) and
469dragging with the mouse. This is accomplished via mouse motion
470bindings on the widget. When a sash is moved, the sizes of the panes
471on each side of the sash, and thus the widgets in those panes, are
472adjusted.
473.PP
474When a pane is resized from outside (e.g. it is packed to expand and
475fill, and the containing toplevel is resized), space is added to the final
476(rightmost or bottommost) pane in the window.
477
478.SH KEYWORDS
479panedwindow, widget, geometry management