pub trait ActionExt: 'static {
Show 13 methods
// Required methods
fn activate(&self, parameter: Option<&Variant>);
fn change_state(&self, value: &Variant);
fn is_enabled(&self) -> bool;
fn name(&self) -> GString;
fn parameter_type(&self) -> Option<VariantType>;
fn state(&self) -> Option<Variant>;
fn state_hint(&self) -> Option<Variant>;
fn state_type(&self) -> Option<VariantType>;
fn connect_enabled_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_name_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_parameter_type_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_state_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_state_type_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
}
Expand description
Required Methods§
sourcefn change_state(&self, value: &Variant)
fn change_state(&self, value: &Variant)
Request for the state of self
to be changed to value
.
The action must be stateful and value
must be of the correct type.
See state_type()
.
This call merely requests a change. The action may refuse to change
its state or may change its state to something other than value
.
See state_hint()
.
If the value
GVariant is floating, it is consumed.
value
the new state
sourcefn is_enabled(&self) -> bool
fn is_enabled(&self) -> bool
Checks if self
is currently enabled.
An action must be enabled in order to be activated or in order to have its state changed from outside callers.
Returns
whether the action is enabled
sourcefn parameter_type(&self) -> Option<VariantType>
fn parameter_type(&self) -> Option<VariantType>
Queries the type of the parameter that must be given when activating
self
.
When activating the action using activate()
, the glib::Variant
given to that function must be of the type returned by this function.
In the case that this function returns None
, you must not give any
glib::Variant
, but None
instead.
Returns
the parameter type
sourcefn state(&self) -> Option<Variant>
fn state(&self) -> Option<Variant>
Queries the current state of self
.
If the action is not stateful then None
will be returned. If the
action is stateful then the type of the return value is the type
given by state_type()
.
The return value (if non-None
) should be freed with
g_variant_unref()
when it is no longer required.
Returns
the current state of the action
sourcefn state_hint(&self) -> Option<Variant>
fn state_hint(&self) -> Option<Variant>
Requests a hint about the valid range of values for the state of
self
.
If None
is returned it either means that the action is not stateful
or that there is no hint about the valid range of values for the
state of the action.
If a glib::Variant
array is returned then each item in the array is a
possible value for the state. If a glib::Variant
pair (ie: two-tuple) is
returned then the tuple specifies the inclusive lower and upper bound
of valid values for the state.
In any case, the information is merely a hint. It may be possible to have a state value outside of the hinted range and setting a value within the range may fail.
The return value (if non-None
) should be freed with
g_variant_unref()
when it is no longer required.
Returns
the state range hint
sourcefn state_type(&self) -> Option<VariantType>
fn state_type(&self) -> Option<VariantType>
Queries the type of the state of self
.
If the action is stateful (e.g. created with
SimpleAction::new_stateful()
) then this function returns the
glib::VariantType
of the state. This is the type of the initial value
given as the state. All calls to change_state()
must give a
glib::Variant
of this type and state()
will return a
glib::Variant
of the same type.
If the action is not stateful (e.g. created with SimpleAction::new()
)
then this function will return None
. In that case, state()
will return None
and you must not call change_state()
.
Returns
the state type, if the action is stateful