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
impl EnumClass
sourcepub fn new<T: StaticType + HasParamSpec<ParamSpec = ParamSpecEnum>>() -> Self
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.
sourcepub fn with_type(type_: Type) -> Option<Self>
pub fn with_type(type_: Type) -> Option<Self>
Create a new EnumClass from a Type.
Returns None if type_ is not representing an enum.
sourcepub fn value(&self, value: i32) -> Option<&EnumValue>
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.
sourcepub fn value_by_name(&self, name: &str) -> Option<&EnumValue>
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.
sourcepub fn value_by_nick(&self, nick: &str) -> Option<&EnumValue>
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.
sourcepub fn to_value(&self, value: i32) -> Option<Value>
pub fn to_value(&self, value: i32) -> Option<Value>
Converts integer value to a Value, if part of the enum.
sourcepub fn to_value_by_name(&self, name: &str) -> Option<Value>
pub fn to_value_by_name(&self, name: &str) -> Option<Value>
Converts string name name to a Value, if part of the enum.
sourcepub fn to_value_by_nick(&self, nick: &str) -> Option<Value>
pub fn to_value_by_nick(&self, nick: &str) -> Option<Value>
Converts string nick nick to a Value, if part of the enum.
sourcepub fn complete_type_info(
type_: Type,
const_static_values: &'static EnumValues
) -> Option<TypeInfo>
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.