glib::enums

Struct EnumClass

Source
pub struct EnumClass(/* private fields */);
Expand description

Representation of an enum for dynamically, at runtime, querying the values of the enum and using them.

Implementations§

Source§

impl EnumClass

Source

pub fn new<T: StaticType + HasParamSpec<ParamSpec = ParamSpecEnum>>() -> Self

Create a new EnumClass from a static type T.

Panics if T is not representing an enum.

Source

pub fn with_type(type_: Type) -> Option<Self>

Create a new EnumClass from a Type.

Returns None if type_ is not representing an enum.

Source

pub fn type_(&self) -> Type

Type of the enum.

Source

pub fn value(&self, value: i32) -> Option<&EnumValue>

Gets EnumValue by integer value, if existing.

Returns None if the enum does not contain any value with value.

Source

pub fn value_by_name(&self, name: &str) -> Option<&EnumValue>

Gets EnumValue by string name name, if existing.

Returns None if the enum does not contain any value with name name.

Source

pub fn value_by_nick(&self, nick: &str) -> Option<&EnumValue>

Gets EnumValue by string nick nick, if existing.

Returns None if the enum does not contain any value with nick nick.

Source

pub fn values(&self) -> &[EnumValue]

Gets all EnumValue of this EnumClass.

Source

pub fn to_value(&self, value: i32) -> Option<Value>

Converts integer value to a Value, if part of the enum.

Source

pub fn to_value_by_name(&self, name: &str) -> Option<Value>

Converts string name name to a Value, if part of the enum.

Source

pub fn to_value_by_nick(&self, nick: &str) -> Option<Value>

Converts string nick nick to a Value, if part of the enum.

Source

pub fn complete_type_info( type_: Type, const_static_values: &'static EnumValues, ) -> Option<TypeInfo>

Complete TypeInfo for an enum with values. This is an associated function. A method would result in a stack overflow due to a recurvice call: callers should first create an EnumClass instance by calling EnumClass::with_type() which indirectly calls TypePluginRegisterImpl::register_dynamic_enum() and TypePluginImpl::complete_type_info() and one of them should call EnumClass::with_type() before calling this method. const_static_values is a reference on a wrapper of a slice of EnumValue. It must be static to ensure enumeration values are never dropped, and ensures that slice is terminated by an EnumValue with all members being 0, as expected by GLib.

Trait Implementations§

Source§

impl Clone for EnumClass

Source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for EnumClass

Source§

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

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

impl Drop for EnumClass

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl Send for EnumClass

Source§

impl Sync for EnumClass

Auto Trait Implementations§

Blanket Implementations§

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
Source§

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

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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.

Source§

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

Source§

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
Source§

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

Source§

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.
Source§

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

Source§

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.