Functions
g_simple_action_new ()
GSimpleAction *
g_simple_action_new (const gchar *name,
const GVariantType *parameter_type);
Creates a new action.
The created action is stateless. See g_simple_action_new_stateful() to create
an action that has state.
Since: 2.28
g_simple_action_new_stateful ()
GSimpleAction *
g_simple_action_new_stateful (const gchar *name,
const GVariantType *parameter_type,
GVariant *state);
Creates a new stateful action.
All future state values must have the same GVariantType as the initial
state
.
If the state
GVariant is floating, it is consumed.
Since: 2.28
g_simple_action_set_enabled ()
void
g_simple_action_set_enabled (GSimpleAction *simple,
gboolean enabled);
Sets the action as enabled or not.
An action must be enabled in order to be activated or in order to
have its state changed from outside callers.
This should only be called by the implementor of the action. Users
of the action should not attempt to modify its enabled flag.
Since: 2.28
g_simple_action_set_state ()
void
g_simple_action_set_state (GSimpleAction *simple,
GVariant *value);
Sets the state of the action.
This directly updates the 'state' property to the given value.
This should only be called by the implementor of the action. Users
of the action should not attempt to directly modify the 'state'
property. Instead, they should call g_action_change_state() to
request the change.
If the value
GVariant is floating, it is consumed.
Since: 2.30
g_simple_action_set_state_hint ()
void
g_simple_action_set_state_hint (GSimpleAction *simple,
GVariant *state_hint);
Sets the state hint for the action.
See g_action_get_state_hint() for more information about
action state hints.
Since: 2.44
Property Details
The “enabled” property
“enabled” gboolean
If action
is currently enabled.
If the action is disabled then calls to g_action_activate() and
g_action_change_state() have no effect.
Owner: GSimpleAction
Flags: Read / Write
Default value: TRUE
Since: 2.28
The “name” property
“name” gchar *
The name of the action. This is mostly meaningful for identifying
the action once it has been added to a GSimpleActionGroup.
Owner: GSimpleAction
Flags: Read / Write / Construct Only
Default value: NULL
Since: 2.28
The “parameter-type” property
“parameter-type” GVariantType *
The type of the parameter that must be given when activating the
action.
Owner: GSimpleAction
Flags: Read / Write / Construct Only
Since: 2.28
The “state” property
“state” GVariant *
The state of the action, or NULL if the action is stateless.
Owner: GSimpleAction
Flags: Read / Write / Construct
Allowed values: GVariant<*>
Default value: NULL
Since: 2.28
The “state-type” property
“state-type” GVariantType *
The GVariantType of the state that the action has, or NULL if the
action is stateless.
Owner: GSimpleAction
Flags: Read
Since: 2.28
Signal Details
The “activate” signal
void
user_function (GSimpleAction *simple,
GVariant *parameter,
gpointer user_data)
Indicates that the action was just activated.
parameter
will always be of the expected type, i.e. the parameter type
specified when the action was created. If an incorrect type is given when
activating the action, this signal is not emitted.
Since GLib 2.40, if no handler is connected to this signal then the
default behaviour for boolean-stated actions with a NULL parameter
type is to toggle them via the “change-state” signal.
For stateful actions where the state type is equal to the parameter
type, the default is to forward them directly to
“change-state”. This should allow almost all users
of GSimpleAction to connect only one handler or the other.
Flags: Run Last
Since: 2.28
The “change-state” signal
void
user_function (GSimpleAction *simple,
GVariant *value,
gpointer user_data)
Indicates that the action just received a request to change its
state.
value
will always be of the correct state type, i.e. the type of the
initial state passed to g_simple_action_new_stateful(). If an incorrect
type is given when requesting to change the state, this signal is not
emitted.
If no handler is connected to this signal then the default
behaviour is to call g_simple_action_set_state() to set the state
to the requested value. If you connect a signal handler then no
default action is taken. If the state should change then you must
call g_simple_action_set_state() from the handler.
An example of a 'change-state' handler:
The handler need not set the state to the requested value.
It could set it to any value at all, or take some other action.
Flags: Run Last
Since: 2.30