Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / v9 / man / mann / button.n
CommitLineData
920dae64
AT
1'\"
2'\" Copyright (c) 1990-1994 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: button.n,v 1.6.8.1 2004/10/28 10:19:29 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 button n 4.4 Tk "Tk Built-In Commands"
247.BS
248'\" Note: do not modify the .SH NAME line immediately below!
249.SH NAME
250button \- Create and manipulate button widgets
251.SH SYNOPSIS
252\fBbutton\fR \fIpathName \fR?\fIoptions\fR?
253.SO
254\-activebackground \-font \-relief
255\-activeforeground \-foreground \-repeatdelay
256\-anchor \-highlightbackground \-repeatinterval
257\-background \-highlightcolor \-takefocus
258\-bitmap \-highlightthickness \-text
259\-borderwidth \-image \-textvariable
260\-compound \-justify \-underline
261\-cursor \-padx \-wraplength
262\-disabledforeground \-pady
263.SE
264.SH "WIDGET-SPECIFIC OPTIONS"
265.OP \-command command Command
266Specifies a Tcl command to associate with the button. This command
267is typically invoked when mouse button 1 is released over the button
268window.
269.OP \-default default Default
270.VS
271Specifies one of three states for the default ring: \fBnormal\fR,
272\fBactive\fR, or \fBdisabled\fR. In active state, the button is drawn
273with the platform specific appearance for a default button. In normal
274state, the button is drawn with the platform specific appearance for a
275non-default button, leaving enough space to draw the default button
276appearance. The normal and active states will result in buttons of
277the same size. In disabled state, the button is drawn with the
278non-default button appearance without leaving space for the default
279appearance. The disabled state may result in a smaller button than
280the active state.
281.VE
282.OP \-height height Height
283Specifies a desired height for the button.
284If an image or bitmap is being displayed in the button then the value is in
285screen units (i.e. any of the forms acceptable to \fBTk_GetPixels\fR);
286for text it is in lines of text.
287If this option isn't specified, the button's desired height is computed
288from the size of the image or bitmap or text being displayed in it.
289.VS 8.4
290.OP \-overrelief overRelief OverRelief
291Specifies an alternative relief for the button, to be used when the
292mouse cursor is over the widget. This option can be used to make
293toolbar buttons, by configuring \fB\-relief flat \-overrelief
294raised\fR. If the value of this option is the empty string, then no
295alternative relief is used when the mouse cursor is over the button.
296The empty string is the default value.
297.VE 8.4
298.OP \-state state State
299Specifies one of three states for the button: \fBnormal\fR, \fBactive\fR,
300or \fBdisabled\fR. In normal state the button is displayed using the
301\fBforeground\fR and \fBbackground\fR options. The active state is
302typically used when the pointer is over the button. In active state
303the button is displayed using the \fBactiveForeground\fR and
304\fBactiveBackground\fR options. Disabled state means that the button
305should be insensitive: the default bindings will refuse to activate
306the widget and will ignore mouse button presses.
307In this state the \fBdisabledForeground\fR and
308\fBbackground\fR options determine how the button is displayed.
309.OP \-width width Width
310Specifies a desired width for the button.
311If an image or bitmap is being displayed in the button then the value is in
312screen units (i.e. any of the forms acceptable to \fBTk_GetPixels\fR);
313for text it is in characters.
314If this option isn't specified, the button's desired width is computed
315from the size of the image or bitmap or text being displayed in it.
316.BE
317
318.SH DESCRIPTION
319.PP
320The \fBbutton\fR command creates a new window (given by the
321\fIpathName\fR argument) and makes it into a button widget.
322Additional
323options, described above, may be specified on the command line
324or in the option database
325to configure aspects of the button such as its colors, font,
326text, and initial relief. The \fBbutton\fR command returns its
327\fIpathName\fR argument. At the time this command is invoked,
328there must not exist a window named \fIpathName\fR, but
329\fIpathName\fR's parent must exist.
330.PP
331A button is a widget that displays a textual string, bitmap or image.
332If text is displayed, it must all be in a single font, but it
333can occupy multiple lines on the screen (if it contains newlines
334or if wrapping occurs because of the \fBwrapLength\fR option) and
335one of the characters may optionally be underlined using the
336\fBunderline\fR option.
337It can display itself in either of three different ways, according
338to
339the \fBstate\fR option;
340it can be made to appear raised, sunken, or flat;
341and it can be made to flash. When a user invokes the
342button (by pressing mouse button 1 with the cursor over the
343button), then the Tcl command specified in the \fB\-command\fR
344option is invoked.
345
346.SH "WIDGET COMMAND"
347.PP
348The \fBbutton\fR command creates a new Tcl command whose
349name is \fIpathName\fR. This
350command may be used to invoke various
351operations on the widget. It has the following general form:
352.CS
353\fIpathName option \fR?\fIarg arg ...\fR?
354.CE
355\fIOption\fR and the \fIarg\fRs
356determine the exact behavior of the command. The following
357commands are possible for button widgets:
358.TP
359\fIpathName \fBcget\fR \fIoption\fR
360Returns the current value of the configuration option given
361by \fIoption\fR.
362\fIOption\fR may have any of the values accepted by the \fBbutton\fR
363command.
364.TP
365\fIpathName \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
366Query or modify the configuration options of the widget.
367If no \fIoption\fR is specified, returns a list describing all of
368the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
369information on the format of this list). If \fIoption\fR is specified
370with no \fIvalue\fR, then the command returns a list describing the
371one named option (this list will be identical to the corresponding
372sublist of the value returned if no \fIoption\fR is specified). If
373one or more \fIoption\-value\fR pairs are specified, then the command
374modifies the given widget option(s) to have the given value(s); in
375this case the command returns an empty string.
376\fIOption\fR may have any of the values accepted by the \fBbutton\fR
377command.
378.TP
379\fIpathName \fBflash\fR
380Flash the button. This is accomplished by redisplaying the button
381several times, alternating between active and normal colors. At
382the end of the flash the button is left in the same normal/active
383state as when the command was invoked.
384This command is ignored if the button's state is \fBdisabled\fR.
385.TP
386\fIpathName \fBinvoke\fR
387Invoke the Tcl command associated with the button, if there is one.
388The return value is the return value from the Tcl command, or an
389empty string if there is no command associated with the button.
390This command is ignored if the button's state is \fBdisabled\fR.
391
392.SH "DEFAULT BINDINGS"
393.PP
394Tk automatically creates class bindings for buttons that give them
395default behavior:
396.IP [1]
397A button activates whenever the mouse passes over it and deactivates
398whenever the mouse leaves the button.
399.VS
400Under Windows, this binding is only active when mouse button 1 has
401been pressed over the button.
402.VE
403.IP [2]
404A button's relief is changed to sunken whenever mouse button 1 is
405pressed over the button, and the relief is restored to its original
406value when button 1 is later released.
407.IP [3]
408If mouse button 1 is pressed over a button and later released over
409the button, the button is invoked. However, if the mouse is not
410over the button when button 1 is released, then no invocation occurs.
411.IP [4]
412When a button has the input focus, the space key causes the button
413to be invoked.
414.PP
415If the button's state is \fBdisabled\fR then none of the above
416actions occur: the button is completely non-responsive.
417.PP
418The behavior of buttons can be changed by defining new bindings for
419individual widgets or by redefining the class bindings.
420
421.SH KEYWORDS
422button, widget