Struct libbismuth::SpringAnimation

source ·
pub struct SpringAnimation { /* private fields */ }
Expand description

A spring-based Animation.

BisSpringAnimation implements an animation driven by a physical model of a spring described by SpringParams, with a resting position in value-to, stretched to value-from.

Since the animation is physically simulated, spring animations don’t have a fixed duration. The animation will stop when the simulated spring comes to a rest - when the amplitude of the oscillations becomes smaller than epsilon, or immediately when it reaches value-to if latch is set to TRUE. The estimated duration can be obtained with estimated-duration.

Due to the nature of spring-driven motion the animation can overshoot value-to before coming to a rest. Whether the animation will overshoot or not depends on the damping ratio of the spring. See SpringParams for more information about specific damping ratio values.

If latch is TRUE, the animation will abruptly end as soon as it reaches the final value, preventing overshooting.

Animations can have an initial velocity value, set via initial-velocity, which adjusts the curve without changing the duration. This makes spring animations useful for deceleration at the end of gestures.

If the initial and final values are equal, and the initial velocity is not 0, the animation value will bounce and return to its resting position.

§Properties

§epsilon

Precision of the spring.

The level of precision used to determine when the animation has come to a rest, that is, when the amplitude of the oscillations becomes smaller than this value.

If the epsilon value is too small, the animation will take a long time to stop after the animated value has stopped visibly changing.

If the epsilon value is too large, the animation will end prematurely.

The default value is 0.001.

Readable | Writeable

§estimated-duration

Estimated duration of the animation, in milliseconds.

Can be DURATION_INFINITE if the spring damping is set to 0.

Readable

§initial-velocity

The initial velocity to start the animation with.

Initial velocity affects only the animation curve, but not its duration.

Readable | Writeable

§latch

Whether the animation should be latched.

If set to TRUE, the animation will abruptly end as soon as it reaches the final value, preventing overshooting.

It won’t prevent overshooting value-from if a relative negative initial-velocity is set.

Readable | Writeable

§spring-params

Physical parameters describing the spring.

Readable | Writeable | Construct

§value-from

The value to animate from.

The animation will start at this value and end at value-to.

Readable | Writeable | Construct

§value-to

The value to animate to.

The animation will start at value-from and end at this value.

Readable | Writeable | Construct

§velocity

Current velocity of the animation.

Readable

Animation

§state

The animation state.

The state indicates whether the animation is currently playing, paused, finished or hasn’t been started yet.

Readable

§target

The target to animate.

Readable | Writeable | Construct

§value

The current value of the animation.

Readable

§widget

The animation widget.

It provides the frame clock for the animation. It’s not strictly necessary for this widget to be same as the one being animated.

The widget must be mapped in order for the animation to work. If it’s not mapped, or if it gets unmapped during an ongoing animation, the animation will be automatically skipped.

Readable | Writeable | Construct Only

§Implements

AnimationExt, [trait@glib::ObjectExt]

GLib type: GObject with reference counted clone semantics.

Implementations§

source§

impl SpringAnimation

source

pub fn new( widget: &impl IsA<Widget>, from: f64, to: f64, spring_params: SpringParams, target: impl IsA<AnimationTarget>, ) -> SpringAnimation

Creates a new BisSpringAnimation on @widget.

The animation will animate @target from @from to @to with the dynamics of a spring described by @spring_params.

§widget

a widget to create animation on

§from

a value to animate from

§to

a value to animate to

§spring_params

physical parameters of the spring

§target

a target value to animate

§Returns

the newly created animation

source

pub fn builder() -> SpringAnimationBuilder

Creates a new builder-pattern struct instance to construct SpringAnimation objects.

This method returns an instance of SpringAnimationBuilder which can be used to create SpringAnimation objects.

source

pub fn epsilon(&self) -> f64

Gets the precision of the spring.

§Returns

the epsilon value

source

pub fn estimated_duration(&self) -> u32

Gets the estimated duration of @self.

Can be DURATION_INFINITE if the spring damping is set to 0.

§Returns

the estimated duration

source

pub fn initial_velocity(&self) -> f64

Gets the initial velocity of @self.

§Returns

the initial velocity

source

pub fn is_latch(&self) -> bool

Gets whether @self should be latched.

§Returns

whether @self is latched

source

pub fn spring_params(&self) -> SpringParams

Gets the physical parameters of the spring of @self.

§Returns

the spring parameters

source

pub fn value_from(&self) -> f64

Gets the value @self will animate from.

§Returns

the value to animate from

source

pub fn value_to(&self) -> f64

Gets the value @self will animate to.

§Returns

the value to animate to

source

pub fn velocity(&self) -> f64

Gets the current velocity of @self.

§Returns

the current velocity

source

pub fn set_epsilon(&self, epsilon: f64)

Sets the precision of the spring.

The level of precision used to determine when the animation has come to a rest, that is, when the amplitude of the oscillations becomes smaller than this value.

If the epsilon value is too small, the animation will take a long time to stop after the animated value has stopped visibly changing.

If the epsilon value is too large, the animation will end prematurely.

The default value is 0.001.

§epsilon

the new value

source

pub fn set_initial_velocity(&self, velocity: f64)

Sets the initial velocity of @self.

Initial velocity affects only the animation curve, but not its duration.

§velocity

the initial velocity

source

pub fn set_latch(&self, latch: bool)

Sets whether @self should be latched.

If set to TRUE, the animation will abruptly end as soon as it reaches the final value, preventing overshooting.

It won’t prevent overshooting value-from if a relative negative initial-velocity is set.

§latch

the new value

source

pub fn set_spring_params(&self, spring_params: &SpringParams)

Sets the physical parameters of the spring of @self.

§spring_params

the new spring parameters

source

pub fn set_value_from(&self, value: f64)

Sets the value @self will animate from.

The animation will start at this value and end at value-to.

§value

the value to animate from

source

pub fn set_value_to(&self, value: f64)

Sets the value @self will animate to.

The animation will start at value-from and end at this value.

§value

the value to animate to

source

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

source

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

source

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

source

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

source

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

source

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

source

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

source

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

Trait Implementations§

source§

impl Clone for SpringAnimation

source§

fn clone(&self) -> Self

Makes a clone of this shared reference.

This increments the strong reference count of the object. Dropping the object will decrement it again.

1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SpringAnimation

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SpringAnimation

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl HasParamSpec for SpringAnimation

§

type ParamSpec = ParamSpecObject

§

type SetValue = SpringAnimation

Preferred value to be used as setter for the associated ParamSpec.
§

type BuilderFn = fn(_: &str) -> ParamSpecObjectBuilder<'_, SpringAnimation>

source§

fn param_spec_builder() -> Self::BuilderFn

source§

impl Hash for SpringAnimation

source§

fn hash<H>(&self, state: &mut H)
where H: Hasher,

Hashes the memory address of this object.

1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for SpringAnimation

source§

fn cmp(&self, other: &Self) -> Ordering

Comparison for two GObjects.

Compares the memory addresses of the provided objects.

1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl ParentClassIs for SpringAnimation

source§

impl<OT: ObjectType> PartialEq<OT> for SpringAnimation

source§

fn eq(&self, other: &OT) -> bool

Equality for two GObjects.

Two GObjects are equal if their memory addresses are equal.

1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<OT: ObjectType> PartialOrd<OT> for SpringAnimation

source§

fn partial_cmp(&self, other: &OT) -> Option<Ordering>

Partial comparison for two GObjects.

Compares the memory addresses of the provided objects.

1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl StaticType for SpringAnimation

source§

fn static_type() -> Type

Returns the type identifier of Self.
source§

impl Eq for SpringAnimation

source§

impl IsA<Animation> for SpringAnimation

Auto Trait Implementations§

Blanket Implementations§

source§

impl<O> AnimationExt for O
where O: IsA<Animation>,

source§

fn state(&self) -> AnimationState

Gets the current value of @self. Read more
source§

fn target(&self) -> AnimationTarget

Gets the target @self animates. Read more
source§

fn value(&self) -> f64

Gets the current value of @self. Read more
source§

fn widget(&self) -> Widget

Gets the widget @self was created for. Read more
source§

fn pause(&self)

Pauses a playing animation for @self. Read more
source§

fn play(&self)

Starts the animation for @self. Read more
source§

fn reset(&self)

Resets the animation for @self. Read more
source§

fn resume(&self)

Resumes a paused animation for @self. Read more
source§

fn set_target(&self, target: &impl IsA<AnimationTarget>)

Sets the target @self animates to @target. Read more
source§

fn skip(&self)

Skips the animation for @self. Read more
source§

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

This signal is emitted when the animation has been completed, either on its own or via calling skip().
source§

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

source§

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

source§

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

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Cast for T
where T: ObjectType,

§

fn upcast<T>(self) -> T
where T: ObjectType, Self: IsA<T>,

Upcasts an object to a superclass or interface T. Read more
§

fn upcast_ref<T>(&self) -> &T
where T: ObjectType, Self: IsA<T>,

Upcasts an object to a reference of its superclass or interface T. Read more
§

fn downcast<T>(self) -> Result<T, Self>
where T: ObjectType, Self: MayDowncastTo<T>,

Tries to downcast to a subclass or interface implementor T. Read more
§

fn downcast_ref<T>(&self) -> Option<&T>
where T: ObjectType, Self: MayDowncastTo<T>,

Tries to downcast to a reference of its subclass or interface implementor T. Read more
§

fn dynamic_cast<T>(self) -> Result<T, Self>
where T: ObjectType,

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 upcast will do many checks at compile-time already. downcast will perform the same checks at runtime as dynamic_cast, but will also ensure some amount of compile-time safety. Read more
§

fn dynamic_cast_ref<T>(&self) -> Option<&T>
where T: ObjectType,

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
§

unsafe fn unsafe_cast<T>(self) -> T
where T: ObjectType,

Casts to T unconditionally. Read more
§

unsafe fn unsafe_cast_ref<T>(&self) -> &T
where T: ObjectType,

Casts to &T unconditionally. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_num_as_vec(ptr: *const GList, num: usize) -> Vec<T>

§

unsafe fn from_glib_container_num_as_vec(_: *const GList, _: usize) -> Vec<T>

§

unsafe fn from_glib_full_num_as_vec(_: *const GList, _: usize) -> Vec<T>

§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_num_as_vec(ptr: *const GPtrArray, num: usize) -> Vec<T>

§

unsafe fn from_glib_container_num_as_vec( _: *const GPtrArray, _: usize, ) -> Vec<T>

§

unsafe fn from_glib_full_num_as_vec(_: *const GPtrArray, _: usize) -> Vec<T>

§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_num_as_vec(ptr: *const GSList, num: usize) -> Vec<T>

§

unsafe fn from_glib_container_num_as_vec(_: *const GSList, _: usize) -> Vec<T>

§

unsafe fn from_glib_full_num_as_vec(_: *const GSList, _: usize) -> Vec<T>

§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_num_as_vec(ptr: *mut GList, num: usize) -> Vec<T>

§

unsafe fn from_glib_container_num_as_vec(ptr: *mut GList, num: usize) -> Vec<T>

§

unsafe fn from_glib_full_num_as_vec(ptr: *mut GList, num: usize) -> Vec<T>

§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_num_as_vec(ptr: *mut GPtrArray, num: usize) -> Vec<T>

§

unsafe fn from_glib_container_num_as_vec( ptr: *mut GPtrArray, num: usize, ) -> Vec<T>

§

unsafe fn from_glib_full_num_as_vec(ptr: *mut GPtrArray, num: usize) -> Vec<T>

§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_num_as_vec(ptr: *mut GSList, num: usize) -> Vec<T>

§

unsafe fn from_glib_container_num_as_vec(ptr: *mut GSList, num: usize) -> Vec<T>

§

unsafe fn from_glib_full_num_as_vec(ptr: *mut GSList, num: usize) -> Vec<T>

§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_as_vec(ptr: *const GList) -> Vec<T>

§

unsafe fn from_glib_container_as_vec(_: *const GList) -> Vec<T>

§

unsafe fn from_glib_full_as_vec(_: *const GList) -> Vec<T>

§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_as_vec(ptr: *const GPtrArray) -> Vec<T>

§

unsafe fn from_glib_container_as_vec(_: *const GPtrArray) -> Vec<T>

§

unsafe fn from_glib_full_as_vec(_: *const GPtrArray) -> Vec<T>

§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_as_vec(ptr: *const GSList) -> Vec<T>

§

unsafe fn from_glib_container_as_vec(_: *const GSList) -> Vec<T>

§

unsafe fn from_glib_full_as_vec(_: *const GSList) -> Vec<T>

§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_as_vec(ptr: *mut GList) -> Vec<T>

§

unsafe fn from_glib_container_as_vec(ptr: *mut GList) -> Vec<T>

§

unsafe fn from_glib_full_as_vec(ptr: *mut GList) -> Vec<T>

§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_as_vec(ptr: *mut GPtrArray) -> Vec<T>

§

unsafe fn from_glib_container_as_vec(ptr: *mut GPtrArray) -> Vec<T>

§

unsafe fn from_glib_full_as_vec(ptr: *mut GPtrArray) -> Vec<T>

§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_as_vec(ptr: *mut GSList) -> Vec<T>

§

unsafe fn from_glib_container_as_vec(ptr: *mut GSList) -> Vec<T>

§

unsafe fn from_glib_full_as_vec(ptr: *mut GSList) -> Vec<T>

§

impl<O> GObjectPropertyExpressionExt for O
where O: IsA<Object>,

§

fn property_expression(&self, property_name: &str) -> PropertyExpression

Create an expression looking up an object’s property.
§

fn property_expression_weak(&self, property_name: &str) -> PropertyExpression

Create an expression looking up an object’s property with a weak reference.
§

fn this_expression(property_name: &str) -> PropertyExpression

Create an expression looking up a property in the bound this object.
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> IntoClosureReturnValue for T
where T: Into<Value>,

§

impl<U> IsSubclassableExt for U
where U: IsClass + ParentClassIs,

§

fn parent_class_init<T>(class: &mut Class<U>)
where T: ObjectSubclass, <U as ParentClassIs>::Parent: IsSubclassable<T>,

§

fn parent_instance_init<T>(instance: &mut InitializingObject<T>)
where T: ObjectSubclass, <U as ParentClassIs>::Parent: IsSubclassable<T>,

§

impl<T> ObjectExt for T
where T: ObjectType,

§

fn is<U>(&self) -> bool
where U: StaticType,

Returns true if the object is an instance of (can be cast to) T.
§

fn type_(&self) -> Type

Returns the type of the object.
§

fn object_class(&self) -> &Class<Object>

Returns the [ObjectClass] of the object. Read more
§

fn class(&self) -> &Class<T>
where T: IsClass,

Returns the class of the object.
§

fn class_of<U>(&self) -> Option<&Class<U>>
where U: IsClass,

Returns the class of the object in the given type T. Read more
§

fn interface<U>(&self) -> Option<InterfaceRef<'_, U>>
where U: IsInterface,

Returns the interface T of the object. Read more
§

fn set_property(&self, property_name: &str, value: impl Into<Value>)

Sets the property property_name of the object to value value. Read more
§

fn set_property_from_value(&self, property_name: &str, value: &Value)

Sets the property property_name of the object to value value. Read more
§

fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])

Sets multiple properties of the object at once. Read more
§

fn set_properties_from_value(&self, property_values: &[(&str, Value)])

Sets multiple properties of the object at once. Read more
§

fn property<V>(&self, property_name: &str) -> V
where V: for<'b> FromValue<'b> + 'static,

Gets the property property_name of the object and cast it to the type V. Read more
§

fn property_value(&self, property_name: &str) -> Value

Gets the property property_name of the object. Read more
§

fn has_property(&self, property_name: &str, type_: Option<Type>) -> bool

Check if the object has a property property_name of the given type_. Read more
§

fn property_type(&self, property_name: &str) -> Option<Type>

Get the type of the property property_name of this object. Read more
§

fn find_property(&self, property_name: &str) -> Option<ParamSpec>

Get the ParamSpec of the property property_name of this object.
§

fn list_properties(&self) -> PtrSlice<ParamSpec>

Return all ParamSpec of the properties of this object.
§

fn freeze_notify(&self) -> PropertyNotificationFreezeGuard

Freeze all property notifications until the return guard object is dropped. Read more
§

unsafe fn set_qdata<QD>(&self, key: Quark, value: QD)
where QD: 'static,

Set arbitrary data on this object with the given key. Read more
§

unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>
where QD: 'static,

Return previously set arbitrary data of this object with the given key. Read more
§

unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>
where QD: 'static,

Retrieve previously set arbitrary data of this object with the given key. Read more
§

unsafe fn set_data<QD>(&self, key: &str, value: QD)
where QD: 'static,

Set arbitrary data on this object with the given key. Read more
§

unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>
where QD: 'static,

Return previously set arbitrary data of this object with the given key. Read more
§

unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>
where QD: 'static,

Retrieve previously set arbitrary data of this object with the given key. Read more
§

fn block_signal(&self, handler_id: &SignalHandlerId)

Block a given signal handler. Read more
§

fn unblock_signal(&self, handler_id: &SignalHandlerId)

Unblock a given signal handler.
§

fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)

Stop emission of the currently emitted signal.
§

fn stop_signal_emission_by_name(&self, signal_name: &str)

Stop emission of the currently emitted signal by the (possibly detailed) signal name.
§

fn connect<F>( &self, signal_name: &str, after: bool, callback: F, ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,

Connect to the signal signal_name on this object. Read more
§

fn connect_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F, ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,

Connect to the signal signal_id on this object. Read more
§

fn connect_local<F>( &self, signal_name: &str, after: bool, callback: F, ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value> + 'static,

Connect to the signal signal_name on this object. Read more
§

fn connect_local_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F, ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value> + 'static,

Connect to the signal signal_id on this object. Read more
§

unsafe fn connect_unsafe<F>( &self, signal_name: &str, after: bool, callback: F, ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value>,

Connect to the signal signal_name on this object. Read more
§

unsafe fn connect_unsafe_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F, ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value>,

Connect to the signal signal_id on this object. Read more
§

fn connect_closure( &self, signal_name: &str, after: bool, closure: RustClosure, ) -> SignalHandlerId

Connect a closure to the signal signal_name on this object. Read more
§

fn connect_closure_id( &self, signal_id: SignalId, details: Option<Quark>, after: bool, closure: RustClosure, ) -> SignalHandlerId

Connect a closure to the signal signal_id on this object. Read more
§

fn watch_closure(&self, closure: &impl AsRef<Closure>)

Limits the lifetime of closure to the lifetime of the object. When the object’s reference count drops to zero, the closure will be invalidated. An invalidated closure will ignore any calls to invoke_with_values, or invoke when using Rust closures.
§

fn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> R
where R: TryFromClosureReturnValue,

Emit signal by signal id. Read more
§

fn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>

Same as [Self::emit] but takes Value for the arguments.
§

fn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> R
where R: TryFromClosureReturnValue,

Emit signal by its name. Read more
§

fn emit_by_name_with_values( &self, signal_name: &str, args: &[Value], ) -> Option<Value>

Emit signal by its name. Read more
§

fn emit_by_name_with_details<R>( &self, signal_name: &str, details: Quark, args: &[&dyn ToValue], ) -> R
where R: TryFromClosureReturnValue,

Emit signal by its name with details. Read more
§

fn emit_by_name_with_details_and_values( &self, signal_name: &str, details: Quark, args: &[Value], ) -> Option<Value>

Emit signal by its name with details. Read more
§

fn emit_with_details<R>( &self, signal_id: SignalId, details: Quark, args: &[&dyn ToValue], ) -> R
where R: TryFromClosureReturnValue,

Emit signal by signal id with details. Read more
§

fn emit_with_details_and_values( &self, signal_id: SignalId, details: Quark, args: &[Value], ) -> Option<Value>

Emit signal by signal id with details. Read more
§

fn disconnect(&self, handler_id: SignalHandlerId)

Disconnect a previously connected signal handler.
§

fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
where F: Fn(&T, &ParamSpec) + Send + Sync + 'static,

Connect to the notify signal of the object. Read more
§

fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
where F: Fn(&T, &ParamSpec) + 'static,

Connect to the notify signal of the object. Read more
§

unsafe fn connect_notify_unsafe<F>( &self, name: Option<&str>, f: F, ) -> SignalHandlerId
where F: Fn(&T, &ParamSpec),

Connect to the notify signal of the object. Read more
§

fn notify(&self, property_name: &str)

Notify that the given property has changed its value. Read more
§

fn notify_by_pspec(&self, pspec: &ParamSpec)

Notify that the given property has changed its value. Read more
§

fn downgrade(&self) -> WeakRef<T>

Downgrade this object to a weak reference.
§

fn add_weak_ref_notify<F>(&self, f: F) -> WeakRefNotify<T>
where F: FnOnce() + Send + 'static,

Add a callback to be notified when the Object is disposed.
§

fn add_weak_ref_notify_local<F>(&self, f: F) -> WeakRefNotify<T>
where F: FnOnce() + 'static,

Add a callback to be notified when the Object is disposed. Read more
§

fn bind_property<'a, 'f, 't, O>( &'a self, source_property: &'a str, target: &'a O, target_property: &'a str, ) -> BindingBuilder<'a, 'f, 't>
where O: ObjectType,

Bind property source_property on this object to the target_property on the target object. Read more
§

fn ref_count(&self) -> u32

Returns the strong reference count of this object.
§

unsafe fn run_dispose(&self)

Runs the dispose mechanism of the object. Read more
§

impl<T> Property for T
where T: HasParamSpec,

§

type Value = T

§

impl<T> PropertyGet for T
where T: HasParamSpec,

§

type Value = T

§

fn get<R, F>(&self, f: F) -> R
where F: Fn(&<T as PropertyGet>::Value) -> R,

§

impl<T> StaticTypeExt for T
where T: StaticType,

§

fn ensure_type()

Ensures that the type has been registered with the type system.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TransparentType for T
where T: TransparentPtrType,

§

type GlibType = <T as GlibPtrDefault>::GlibType

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T> TryFromClosureReturnValue for T
where T: for<'a> FromValue<'a> + StaticType + 'static,

§

fn try_from_closure_return_value(v: Option<Value>) -> Result<T, BoolError>

source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<'a, T, C, E> FromValueOptional<'a> for T
where T: FromValue<'a, Checker = C>, C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError<E>>, E: Error + Send + 'static,

§

impl<Super, Sub> MayDowncastTo<Sub> for Super
where Super: IsA<Super>, Sub: IsA<Super>,