pub trait ActionExt:
IsA<Action>
+ Sealed
+ 'static {
Show 13 methods
// Provided 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
Provided Methods§
Sourcefn activate(&self, parameter: Option<&Variant>)
fn activate(&self, parameter: Option<&Variant>)
Activates the action.
@parameter must be the correct type of parameter for the action (ie:
the parameter type given at construction time). If the parameter
type was NULL
then @parameter must also be NULL
.
If the @parameter [type@GLib.Variant] is floating, it is consumed.
§parameter
the parameter to the activation
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 [type@GLib.Variant] 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
[type@GLib.Variant] given to that function must be of the type returned by
this function.
In the case that this function returns NULL
, you must not give any
[type@GLib.Variant], but NULL
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 NULL
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-NULL
) should be freed with
GLib::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 NULL
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 [type@GLib.Variant] array is returned then each item in the array is a possible value for the state. If a [type@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-NULL
) should be freed with
GLib::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
[type@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
[type@GLib.Variant] of this type and state()
will return a
[type@GLib.Variant] of the same type.
If the action is not stateful (e.g. created with SimpleAction::new()
)
then this function will return NULL
. In that case, state()
will return NULL
and you must not call change_state()
.
§Returns
the state type, if the action is stateful
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
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.