Struct gio::SimpleAction [−][src]
pub struct SimpleAction(_);
Expand description
A SimpleAction
is the obvious simple implementation of the Action
interface. This is the easiest way to create an action for purposes of
adding it to a SimpleActionGroup
.
See also GtkAction
.
Implements
Implementations
Creates a new action.
The created action is stateless. See new_stateful()
to create
an action that has state.
name
the name of the action
parameter_type
the type of parameter that will be passed to
handlers for the signal::SimpleAction::activate
signal, or None
for no parameter
Returns
a new SimpleAction
pub fn new_stateful(
name: &str,
parameter_type: Option<&VariantTy>,
state: &Variant
) -> SimpleAction
pub fn new_stateful(
name: &str,
parameter_type: Option<&VariantTy>,
state: &Variant
) -> SimpleAction
Creates a new stateful action.
All future state values must have the same glib::VariantType
as the initial
state
.
If the state
glib::Variant
is floating, it is consumed.
name
the name of the action
parameter_type
the type of the parameter that will be passed to
handlers for the signal::SimpleAction::activate
signal, or None
for no parameter
state
the initial state of the action
Returns
a new SimpleAction
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.
enabled
whether the action is enabled
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 ActionExt::change_state()
to
request the change.
If the value
GVariant is floating, it is consumed.
value
the new glib::Variant
for the state
Sets the state hint for the action.
See ActionExt::state_hint()
for more information about
action state hints.
state_hint
a glib::Variant
representing the state hint
pub fn connect_activate<F: Fn(&Self, Option<&Variant>) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_activate<F: Fn(&Self, Option<&Variant>) + 'static>(
&self,
f: F
) -> SignalHandlerId
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 None
parameter
type is to toggle them via the signal::SimpleAction::change-state
signal.
For stateful actions where the state type is equal to the parameter
type, the default is to forward them directly to
signal::SimpleAction::change-state
. This should allow almost all users
of SimpleAction
to connect only one handler or the other.
parameter
the parameter to the activation, or None
if it has
no parameter
pub fn connect_change_state<F: Fn(&Self, Option<&Variant>) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_change_state<F: Fn(&Self, Option<&Variant>) + 'static>(
&self,
f: F
) -> SignalHandlerId
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 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 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 set_state()
from the handler.
An example of a ‘change-state’ handler:
⚠️ The following code is in C ⚠️
static void
change_volume_state (GSimpleAction *action,
GVariant *value,
gpointer user_data)
{
gint requested;
requested = g_variant_get_int32 (value);
// Volume only goes from 0 to 10
if (0 <= requested && requested <= 10)
g_simple_action_set_state (action, value);
}
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.
value
the requested value for the state
Trait Implementations
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Returns the type identifier of Self
.
Auto Trait Implementations
impl RefUnwindSafe for SimpleAction
impl !Send for SimpleAction
impl !Sync for SimpleAction
impl Unpin for SimpleAction
impl UnwindSafe for SimpleAction
Blanket Implementations
Mutably borrows from an owned value. Read more
Upcasts an object to a superclass or interface T
. Read more
Upcasts an object to a reference of its superclass or interface T
. Read more
Tries to downcast to a subclass or interface implementor T
. Read more
Tries to downcast to a reference of its subclass or interface implementor T
. Read more
Tries to cast to an object of type T
. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while downcast
and upcast
will do many checks at compile-time already. Read more
Tries to cast to reference to an object of type T
. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while downcast
and upcast
will do many checks at compile-time already. Read more
Casts to T
unconditionally. Read more
Casts to &T
unconditionally. Read more
Returns true
if the object is an instance of (can be cast to) T
.
pub fn set_properties_from_value(
&self,
property_values: &[(&str, Value)]
) -> Result<(), BoolError>
pub fn set_property<'a, N, V>(
&self,
property_name: N,
value: V
) -> Result<(), BoolError> where
V: ToValue,
N: Into<&'a str>,
pub fn set_property_from_value<'a, N>(
&self,
property_name: N,
value: &Value
) -> Result<(), BoolError> where
N: Into<&'a str>,
Safety Read more
Safety Read more
Safety Read more
Safety Read more
pub fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec) + Send + Sync,
pub fn connect_notify_local<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec),
pub unsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: Fn(&T, &ParamSpec),
pub fn has_property<'a, N>(&self, property_name: N, type_: Option<Type>) -> bool where
N: Into<&'a str>,
pub fn find_property<'a, N>(&self, property_name: N) -> Option<ParamSpec> where
N: Into<&'a str>,
pub fn connect<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
N: Into<&'a str>,
Same as connect
but takes a SignalId
instead of a signal name.
pub fn connect_local<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + 'static,
N: Into<&'a str>,
Same as connect_local
but takes a SignalId
instead of a signal name.
pub unsafe fn connect_unsafe<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value>,
N: Into<&'a str>,
Same as connect_unsafe
but takes a SignalId
instead of a signal name.
Emit signal by signal id.
Emit signal with details by signal id.
Emit signal by it’s name.
pub fn bind_property<'a, O, N, M>(
&'a self,
source_property: N,
target: &'a O,
target_property: M
) -> BindingBuilder<'a> where
O: ObjectType,
N: Into<&'a str>,
M: Into<&'a str>,
Same as emit
but takes Value
for the arguments.
Same as emit_by_name
but takes Value
for the arguments.
Returns a SendValue
clone of self
.
impl<'a, T, C> FromValueOptional<'a> for T where
C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError>,
T: FromValue<'a, Checker = C>,