menuitem - step-/gtkdialog GitHub Wiki
A GtkMenuItem, GtkCheckMenuItem, GtkRadioMenuItem or GtkImageMenuItem
<menuitem tag_attr="value"...>
<label>text</label>
<variable>varname</variable>
<height>value</height>
<width>value</width>
<input>command</input>
<input file>filename</input>
<sensitive>state</sensitive>
<action>activity</action>...
<action signal="type">activity</action>...
<action function="type">parameter</action>...
<output file>filename</output>
</menuitem>
"..." denotes acceptance of multiples of the same thing.
See the GtkMenuItem, GtkCheckMenuItem, GtkRadioMenuItem or GtkImageMenuItem widget and ancestor class properties.
The following custom tag attributes are available:
Name | Description | Value | Since |
---|---|---|---|
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 |
accel-key | Accelerator key | A decimal or hexadecimal value (full list) | 0.7.21 |
accel-mods[1] | Accelerator modifiers | A decimal or hexadecimal value (full list) | 0.7.21 |
icon-name[2] | GTK theme icon name | 0.7.21 | |
stock-id | GTK stock icon ID |
gtk-about , gtk-add , ... (full list) |
0.7.21 |
image-name | Image filename | 0.7.21 | |
checkbox | Active state |
true or false
|
0.7.21 |
radiobutton | Active state |
true or false
|
0.7.21 |
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 | Data input source | Shell command | 0.7.21 |
input file[3] | Data input source | Filename | 0.7.21 |
sensitive | Sensitive state |
true or false
|
0.7.21 |
action | Execute command on default signal | Shell command[4] | |
action | Perform function on default signal | function:parameter[4] | |
action signal="type" | Execute command on signal | Shell command[4] | |
action signal="type" | Perform function on signal | function:parameter[4] | |
action function="type" | Perform function on default signal | parameter[4] | 0.8.3 |
action condition="type" | Execute command on default signal conditionally | Shell command[4] | 0.8.3 |
action condition="type" | Perform function on default signal conditionally | function:parameter[4] | 0.8.3 |
action signal="type" condition="type" | Execute command on signal conditionally | Shell command[4] | 0.8.3 |
action signal="type" condition="type" | Perform function on signal conditionally | function:parameter[4] | 0.8.3 |
action function="type" condition="type" | Perform function on default signal conditionally | parameter[4] | 0.8.3 |
output file | Data output target | Filename | 0.7.21 |
The default signal for the checkbox and radiobutton menuitem widgets is "toggled", emitted when the state is changed, otherwise the default signal is "activate", emitted when the item is activated.
All widgets emit the "activate" signal.
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:
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
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 |
refresh | Reload input data | Variable name | 0.7.21 |
save | Save widget 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 |
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 |
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.
-
SHIFT is 1, CTRL is 4 and ALT is 8 and you can OR them together.
-
Theme icons default to 16 and do not scale or refresh (the height or width directives can be used to request a size).
-
The input file directive is used exclusively by the checkbox and radiobutton menuitem widgets since the "image-name" custom tag attribute would contain any image filename.
-
The checkbox and radiobutton menuitem widgets' actions can be conditionally executed (based upon their active state) by prepending their contents with
if true
orif false
although 0.8.3 introduced a dedicated condition attribute which may be more suitable.