gio::prelude

Trait ActionExt

Source
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

Trait containing all Action methods.

§Implementors

Action, PropertyAction, SimpleAction

Provided Methods§

Source

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

Source

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

Source

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

Source

fn name(&self) -> GString

Queries the name of @self.

§Returns

the name of the action

Source

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

Source

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

Source

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

Source

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

Source

fn connect_enabled_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId

Source

fn connect_name_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId

Source

fn connect_parameter_type_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId

Source

fn connect_state_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId

Source

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.

Implementors§

Source§

impl<O: IsA<Action>> ActionExt for O