CHECKBUTTON(9) CHECKBUTTON(9) NAME checkbutton - Create and manipulate checkbutton widgets SYNOPSIS checkbutton pathname ?options? STANDARD OPTIONS -activebackground -borderwidth -padx -activeforeground -font -pady -anchor -foreground -relief -background -image -text -bitmap -justify -underline WIDGET-SPECIFIC OPTIONS -command command Specifies a Tk command to associate with the button. This command is typically invoked when mouse button 1 is released over the button window. The button's glo- bal variable (-variable option) will be updated before the command is invoked. -height dist Specifies a desired height for the button. If this option isn't specified, the button's desired height is computed from the size of the image or bitmap or text being displayed in it. -selectcolor colour Specifies a background colour to use when the button is selected. If specified as an empty string then no spe- cial colour is used for displaying when the widget is selected. -state state Specifies one of three states for the checkbutton: normal, active, or disabled. In normal state the checkbutton is displayed using the foreground and back- ground options. The active state is typically used when the pointer is over the checkbutton. In active state the checkbutton is displayed using the active- foreground and activebackground options. Disabled state means that the checkbutton should be insensitive: the default bindings will refuse to activate the widget and will ignore mouse button presses. In this state the disabledforeground and background options determine how the checkbutton is displayed. -width dist Specifies a desired width for the button. If this option isn't specified, the button's desired width is Page 1 Plan 9 (printed 12/21/24) CHECKBUTTON(9) CHECKBUTTON(9) computed from the size of the image or bitmap or text being displayed in it. DESCRIPTION The checkbutton command creates a new window (given by the pathname argument) and makes it into a checkbutton widget. Additional options, described above, may be specified on the command line to configure aspects of the checkbutton such as its colours, font, text, and initial relief. The checkbut- ton command returns its pathname argument. At the time this command is invoked, there must not exist a window named pathname, but pathname's parent must exist. A checkbutton is a widget that displays a textual string, bitmap or image and a square called an indicator. If text is displayed, it must all be in a single font, but it can occupy multiple lines on the screen (if it contains new- lines) and one of the characters may optionally be under- lined using the underline option. A checkbutton has all of the behaviour of a simple button, including the following: it can display itself in either of three different ways, according to the state option; it can be made to appear raised, sunken, or flat; it can be made to flash; and it invokes a Tk command whenever mouse button 1 is clicked over the checkbutton. In addition, checkbuttons can be selected. If a checkbutton is selected then the indicator is normally drawn with a sunken relief and a special colour, and a Tk variable asso- ciated with the checkbutton is set to 1. If the checkbutton is not selected, then the indicator is drawn with a raised relief and no special colour, and the associated variable is set 0. The variable name may be modified with options on the command line (-variable option). Configuration options may also be used to modify the way the indicator is dis- played (or whether it is displayed at all). By default a checkbutton is configured to select and deselect itself on alternate button clicks. WIDGET COMMAND The checkbutton command creates a new Tk command whose name is pathname. This command may be used to invoke various operations on the widget. It has the following general form: pathname option ?arg arg ...? Option and the args determine the exact behaviour of the command. The following commands are possible for checkbut- ton widgets: pathname cget option Returns the current value of the configuration option given by option. Option may have any of the values Page 2 Plan 9 (printed 12/21/24) CHECKBUTTON(9) CHECKBUTTON(9) accepted by the checkbutton command. pathname configure ?option? ?value option value ...? Query or modify the configuration options of the wid- get. If no option is specified, returns a list of all of the available options for pathname. If one or more option-value pairs are specified, then the command mod- ifies 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 checkbutton command. pathname deselect Deselects the checkbutton and sets the associated vari- able to its ``off'' value. pathname invoke Does just what would have happened if the user invoked the checkbutton with the mouse: toggle the selection state of the button and invoke the Tk command associ- ated with the checkbutton, if there is one. The return value is the return value from the Tk command, or an empty string if there is no command associated with the checkbutton. This command is ignored if the checkbutton's state is disabled. pathname select Selects the checkbutton and sets the associated vari- able to 1. pathname toggle Toggles the selection state of the button, redisplaying it and modifying its associated variable to reflect the new state. BINDINGS Tk automatically creates bindings for checkbuttons that give them the following default behaviour: [1] A checkbutton activates whenever the mouse passes over it and deactivates whenever the mouse leaves the check- button. [2] When mouse button 1 is pressed over a checkbutton it is invoked (its selection state toggles and the command associated with the button is invoked, if there is one). If the checkbutton's state is disabled then none of the above actions occur: the checkbutton is completely non- responsive. Page 3 Plan 9 (printed 12/21/24) CHECKBUTTON(9) CHECKBUTTON(9) The behaviour of checkbuttons can be changed by defining new bindings for individual widgets. SEE ALSO options(9), types(9) Page 4 Plan 9 (printed 12/21/24)