glib::enums

Struct FlagsClass

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

Representation of a flags for dynamically, at runtime, querying the values of the enum and using them

Implementations§

Source§

impl FlagsClass

Source

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

Create a new FlagsClass from a static type T.

Panics if T is not representing an flags type.

Source

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

Create a new FlagsClass from a Type

Returns None if type_ is not representing a flags type.

Source

pub fn type_(&self) -> Type

Type of the flags.

Source

pub fn value(&self, value: u32) -> Option<&FlagsValue>

Gets FlagsValue by integer value, if existing.

Returns None if the flags do not contain any value with value.

Source

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

Gets FlagsValue by string name name, if existing.

Returns None if the flags do not contain any value with name name.

Source

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

Gets FlagsValue by string nick nick, if existing.

Returns None if the flags do not contain any value with nick nick.

Source

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

Gets all FlagsValue of this FlagsClass.

Source

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

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

Source

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

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

Source

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

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

Source

pub fn is_set(&self, value: &Value, f: u32) -> bool

Checks if the flags corresponding to integer f is set in value.

Source

pub fn is_set_by_name(&self, value: &Value, name: &str) -> bool

Checks if the flags corresponding to string name name is set in value.

Source

pub fn is_set_by_nick(&self, value: &Value, nick: &str) -> bool

Checks if the flags corresponding to string nick nick is set in value.

Source

pub fn set(&self, value: Value, f: u32) -> Result<Value, Value>

Set flags value corresponding to integer f in value, if part of that flags. If the flag is already set, it will succeed without doing any changes.

Returns Ok(value) with the flag set if successful, or Err(value) with the original value otherwise.

Source

pub fn set_by_name(&self, value: Value, name: &str) -> Result<Value, Value>

Set flags value corresponding to string name name in value, if part of that flags. If the flag is already set, it will succeed without doing any changes.

Returns Ok(value) with the flag set if successful, or Err(value) with the original value otherwise.

Source

pub fn set_by_nick(&self, value: Value, nick: &str) -> Result<Value, Value>

Set flags value corresponding to string nick nick in value, if part of that flags. If the flag is already set, it will succeed without doing any changes.

Returns Ok(value) with the flag set if successful, or Err(value) with the original value otherwise.

Source

pub fn unset(&self, value: Value, f: u32) -> Result<Value, Value>

Unset flags value corresponding to integer f in value, if part of that flags. If the flag is already unset, it will succeed without doing any changes.

Returns Ok(value) with the flag unset if successful, or Err(value) with the original value otherwise.

Source

pub fn unset_by_name(&self, value: Value, name: &str) -> Result<Value, Value>

Unset flags value corresponding to string name name in value, if part of that flags. If the flag is already unset, it will succeed without doing any changes.

Returns Ok(value) with the flag unset if successful, or Err(value) with the original value otherwise.

Source

pub fn unset_by_nick(&self, value: Value, nick: &str) -> Result<Value, Value>

Unset flags value corresponding to string nick nick in value, if part of that flags. If the flag is already unset, it will succeed without doing any changes.

Returns Ok(value) with the flag unset if successful, or Err(value) with the original value otherwise.

Source

pub fn to_nick_string(&self, value: u32) -> String

Converts an integer value to a string of nicks separated by |.

Source

pub fn from_nick_string(&self, s: &str) -> Result<u32, ParseFlagsError>

Converts a string of nicks s separated by | to an integer value.

Source

pub fn builder(&self) -> FlagsBuilder<'_>

Returns a new FlagsBuilder for conveniently setting/unsetting flags and building a Value.

Source

pub fn builder_with_value(&self, value: Value) -> Option<FlagsBuilder<'_>>

Returns a new FlagsBuilder for conveniently setting/unsetting flags and building a Value. The Value is initialized with value.

Source

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

Complete TypeInfo for the flags 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 FlagsClass instance by calling FlagsClass::with_type() which indirectly calls TypePluginRegisterImpl::register_dynamic_flags() and TypePluginImpl::complete_type_info() and one of them should call FlagsClass::with_type() before calling this method. const_static_values is a reference on a wrapper of a slice of FlagsValue. It must be static to ensure flags values are never dropped, and ensures that slice is terminated by an FlagsValue with all members being 0, as expected by GLib.

Trait Implementations§

Source§

impl Clone for FlagsClass

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 FlagsClass

Source§

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

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

impl Drop for FlagsClass

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl Send for FlagsClass

Source§

impl Sync for FlagsClass

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 u8)

🔬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.