button widget
Gtk2: A GtkButton containing either a GtkLabel, a GtkImage or both packed inside a GtkHBox or GtkVBox
Gtk3: A GtkButton containing either a GtkLabel, a GtkImage or both packed inside a GtkBox
Definition
<button yes no ok cancel help tag_attr="value"...>
<label>text</label>
<variable>varname</variable>
<height>value</height>
<width>value</width>
<input file>filename</input>
<input file icon="image"></input>
<input file stock="gtk-image"></input>
<sensitive>state</sensitive>
<action>activity</action>...
<action signal="type">activity</action>...
<action function="type">parameter</action>...
</button>
“…” denotes acceptance of multiples of the same thing.
Tag Attributes
See the GtkButton widget and ancestor class properties.
The following custom tag attributes are available:
Name |
Description |
Value |
Since |
space-expand |
Pack widget expanding into space |
true or false |
0.7.21 |
space-fill |
Pack widget filling space |
true or false |
0.7.21 |
block-function-signals |
Block signal emissions from functions |
true or false |
0.7.21 |
file-monitor |
Emit signal when input file(s) change |
true or false |
0.8.1 |
auto-refresh |
Auto refresh when input file(s) change |
true or false |
0.8.1 |
image-position[1] |
Image position relative to label |
0, 1, 2, 3 (left, right, top, bottom) |
0.7.21 |
homogeneous[2] |
Horizontal uniformity of an image with label |
true or false |
0.8.1 |
theme-icon-size |
The size of the GTK theme icon |
An integer > 0 or -1 to ignore |
0.8.1 |
stock-icon-size |
The size of the GTK stock icon |
0 to 6 (see GtkIconSize - Gtk2) |
0.8.1 |
Directives
Some of these may have tag attribute equivalents.
Name |
Description |
Contents |
Since |
label |
Initial text |
|
|
variable |
Variable name |
|
|
variable export=“false” |
Variable name, not exported to shell |
|
0.8.3 |
height |
Image scaling dimension |
An integer > 0 or -1 to ignore |
0.7.21 |
width |
Image scaling dimension |
An integer > 0 or -1 to ignore |
0.7.21 |
input file |
Data input source |
Image filename |
|
input file icon=“image”[3] |
GTK theme icon name |
|
|
input file stock=“gtk-image”[4] |
GTK stock icon ID |
gtk-about, gtk-add ... (full list) |
|
sensitive |
Sensitive state |
true or false |
0.7.21 |
action |
Execute command on default signal |
Shell command |
|
action |
Perform function on default signal |
function:parameter |
|
action signal=“type” |
Execute command on signal |
Shell command |
|
action signal=“type” |
Perform function on signal |
function:parameter |
|
action function=“type” |
Perform function on default signal |
parameter |
0.8.3 |
action condition=“type” |
Execute command on default signal conditionally |
Shell command |
0.8.3 |
action condition=“type” |
Perform function on default signal conditionally |
function:parameter |
0.8.3 |
action signal=“type” condition=“type” |
Execute command on signal conditionally |
Shell command |
0.8.3 |
action signal=“type” condition=“type” |
Perform function on signal conditionally |
function:parameter |
0.8.3 |
action function=“type” condition=“type” |
Perform function on default signal conditionally |
parameter |
0.8.3 |
Signals
The default signal is “clicked” (Gtk2, Gtk3), emitted when the button has been activated (pressed and released).
The “file-changed” signal is emitted if file-monitor is true and the input file being monitored has changed.
The following signals are connected-up for all widgets:
Gtk2: button-press-event, button-release-event, configure-event, enter-notify-event, leave-notify-event, focus-in-event, focus-out-event, hide, show, realize, key-press-event, key-release-event, map-event, unmap-event
Gtk3: button-press-event, button-release-event, configure-event, enter-notify-event, leave-notify-event, focus-in-event, focus-out-event, hide, show, realize, key-press-event, key-release-event, map-event, unmap-event
Functions
The following functions can be performed upon this widget by any widget capable of emitting signals:
Type |
Description |
Parameter |
Since |
enable |
Sensitise widget |
Variable name |
|
disable |
Desensitise widget |
Variable name |
|
show |
Show widget |
Variable name |
0.8.1 |
hide |
Hide widget |
Variable name |
0.8.1 |
activate |
Activate widget |
Variable name |
0.8.1 |
grabfocus |
Grab input focus |
Variable name |
0.8.1 |
refresh |
Reload input data |
Variable name |
0.7.21 |
The following general functions can be performed by any widget capable of emitting signals:
Type |
Description |
Parameter |
Since |
break |
Break out of actions list |
None |
0.8.3 |
command |
Execute command |
Shell command |
|
exit |
Exit dialog |
A value for the EXIT variable |
|
closewindow |
Close dialog |
Variable name |
|
launch |
Launch dialog |
Variable name |
|
presentwindow |
Present dialog |
Variable name |
0.8.1 |
Conditions
The following conditions can be used within the condition attribute of action directives:
Type |
Description |
Argument |
Since |
active_is_true(argument) |
Active state of toggle widget |
Variable name |
0.8.3 |
active_is_false(argument) |
Active state of toggle widget |
Variable name |
0.8.3 |
command_is_true(argument) |
Output of shell command |
Shell command |
0.8.3 |
command_is_false(argument) |
Output of shell command |
Shell command |
0.8.3 |
file_is_true(argument) |
Contents of a file |
Filename |
0.8.3 |
file_is_false(argument) |
Contents of a file |
Filename |
0.8.3 |
sensitive_is_true(argument) |
Sensitive state of widget |
Variable name |
0.8.3 |
sensitive_is_false(argument) |
Sensitive state of widget |
Variable name |
0.8.3 |
visible_is_true(argument) |
Visible state of widget |
Variable name |
0.8.3 |
visible_is_false(argument) |
Visible state of widget |
Variable name |
0.8.3 |
variable_is_true(argument) |
Value of widget |
Variable name |
0.8.5 |
variable_is_false(argument) |
Value of widget |
Variable name |
0.8.5 |
true means “true”, “yes” or a non-zero value, false means “false”, “no” or zero, therefore the shell command is expected to echo one of these values to stdout.
Notes
The existing “image-position” (Gtk2, Gtk3) GTK+ property – normally only applicable to stock buttons – has been extended to apply to all Gtkdialog buttons.
The existing “homogeneous” (Gtk2, Gtk3) GTK+ property – applicable to the hbox and vbox – can be used here to affect the box inside the button when including an image and a label.
Theme icons default to 20 and do not scale or refresh (the “theme-icon-size” custom tag attribute can be used to request a size).
Stock icons default to GTK_ICON_SIZE_BUTTON and do not scale or refresh (the “stock-icon-size” custom tag attribute can be used to request a size).
button,
checkbox,
chooser,
colorbutton,
comboboxentry,
comboboxtext,
combobox,
edit,
entry,
eventbox,
expander,
fontbutton,
frame,
hbox,
hscale,
hseparator,
list,
menubar,
menuitemseparator,
menuitem,
menu,
notebook,
pixmap,
progressbar,
radiobutton,
separator,
spinbutton,
statusbar,
table,
terminal,
text,
timer,
togglebutton,
tree,
vbox,
vscale,
vseparator,
window,
|