Button placed on a toolbar.


hwtk::toolbutton - pathName ?option value? …

Standard Options

Database name: clientData
Database class: ClientData
Acts as a data storage for a widgets. User can store any data and this will not have any effect on widget property.
Database name: compound
Database class: Compound
Specifies if the widget should display text and bitmaps/images at the same time, and if so, where the bitmap/image should be placed relative to the text. Must be one of the values none, bottom, top, left, right, or center. For example, the (default) value none specifies that the bitmap or image should (if defined) be displayed instead of the text, the value left specifies that the bitmap or image should be displayed to the left of the text, and the value center specifies that the bitmap or image should be displayed on top of the text.
Database name: cursor
Database class: Cursor
Specifies the mouse cursor to be used for the widget. See Tk_GetCursor and cursors(n) in the Tk reference manual for the legal values. If set to the empty string (the default), the cursor is inherited from the parent widget.
Database name: help
Database class: Text
Specifies the text or help message that displays when the cursor moves over the widget.
Database name: helpcommand
Database class: Command
Dynamic help which calls an assigned -helpcommand when the user moves the mouse on the widget. The text which is returned by the -helpcommand will be in turn be displayed on the tooltip.
Database name: image
Database class: Image
Specifies an image to display in the widget, which must have been created with the image create command. Typically, if the image option is specified then it overrides other options that specify a bitmap or textual value to display in the widget, though this is controlled by the compound option; the image option may be reset to an empty string to re-enable a bitmap or text display.
Database name: state
Database class: State
May be set to normal or disabled to control the disabled state bit.
Database name: takeFocus
Database class: TakeFocus
Determines whether the window accepts the focus during keyboard traversal. Either 0, 1, a command prefix (to which the widget path is appended, and which should return 0 or 1), or the empty string. See options(n) in the Tk reference manual for the full description.
Database name: text
Database class: Text
Specifies a string to be displayed inside the widget. The way in which the string is displayed depends on the particular widget and may be determined by other options, such as anchor or justify.
Database name: textVariable
Database class: Variable
Specifies the name of a global variable. The value of the variable is a text string to be displayed inside the widget; if the variable value changes then the widget will automatically update itself to reflect the new value. The way in which the string is displayed in the widget depends on the particular widget and may be determined by other options, such as anchor or justify.
Database name: underline
Database class: Underline
Specifies the integer index of a character to underline in the widget. This option is used by the default bindings to implement keyboard traversal for menu buttons and menu entries. 0 corresponds to the first character of the text displayed in the widget, 1 to the next character, and so on.
Database name: width
Database class: Width
Specifies the width of a widget.

Widget Specific Options

Database name: command
Database class: Command
A script to evaluate when the widget is invoked.
Database name: default
Database class: Default
May be set to one of normal, active or disabled . In a dialog box, one button may be designated the default button (meaning, roughly, the one that gets invoked when the user presses Enter). active indicates that this is currently the default button; normal means that it may become the default button, and disabled means that it is not defaultable. The default is normal. Depending on the theme, the default button may be displayed with an extra highlight ring, or with a different border color.
Database name: rmbcommand
Database class: Command
A Tcl script/command to execute whenever the statebutton is clicked with the right mouse button (RMB).
Database name: rmbhelp
Database class: Help
The tooltip help information for the right mouse button command specified by -rmbcommand.

Widget Commands

pathName configure ?option? ?value option value …?
Query or modify the configuration options of the widget. 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. If option is specified with no value, then the command returns a list describing the named option: the elements of the list are the option name, database name, database class, default value, and current value. If no option is specified, returns a list describing all of the available options for pathName.
pathName cget option
Returns the current value of the configuration option given by option.
pathName identify element x y
Returns the name of the element under the point given by x and y, or an empty string if the point does not lie within any element. x and y are pixel coordinates relative to the widget. Some widgets accept other identify subcommands.
pathName instate statespec ?script?
Test the widget’s state. If script is not specified, returns 1 if the widget state matches statespec and 0 otherwise. If script is specified, equivalent to
pathName state ?stateSpec?
Modify or inquire widget state. If stateSpec is present, sets the widget state: for each flag in stateSpec, sets the corresponding flag or clears it if prefixed by an exclamation point. Returns a new state spec indicating which flags were changed:
will restore pathName to the original state. If stateSpec is not specified, returns a list of the currently-enabled state flags.
pathName invoke
Invokes the toolbutton widget.


hwtk::dialog .dlg -title ::hwtk::toolbutton
set w [.dlg recess]

pack [hwtk::frame $w.frame] -fill x

pack [hwtk::toolbutton $w.frame.cut -image cut-24.png -help "Cut" -command [list $w.text insert end "pressed - Cut\n"]] -side left
pack [hwtk::toolbutton $w.frame.copy -image copy-24.png -help "Copy" -command [list $w.text insert end "pressed - Copy\n"]] -side left
pack [hwtk::toolbutton $w.frame.paste -image paste-24.png -help "Paste" -command [list $w.text insert end "pressed - Paste\n"]] -side left

pack [hwtk::toolbutton $w.frame.tool -text "Indent" -rmbcommand [list $w.text insert end "pressed - Indent selection Right\n"] \
          -rmbhelp "Indent selection right" -command [list $w.text insert end "pressed - Indent selection Left\n"] \
          -help "Indent selection left" ] -side left

pack [text $w.text] -fill both -expand true;

.dlg post