Struct FlagsClass

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§

§

impl FlagsClass

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

Create a new FlagsClass from a static type T.

Panics if T is not representing an flags type.

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

Create a new FlagsClass from a Type

Returns None if type_ is not representing a flags type.

pub fn type_(&self) -> Type

Type of the flags.

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.

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.

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.

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

Gets all FlagsValue of this FlagsClass.

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

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

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

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

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

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

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

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

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.

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.

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.

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.

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.

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.

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.

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.

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

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

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

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

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

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

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.

pub fn complete_type_info( type_: Type, const_static_values: &'static EnumerationValues<FlagsValue>, ) -> 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§

§

impl Clone for FlagsClass

§

fn clone(&self) -> FlagsClass

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

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

Performs copy-assignment from source. Read more
§

impl Debug for FlagsClass

§

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

Formats the value using the given formatter. Read more
§

impl Drop for FlagsClass

§

fn drop(&mut self)

Executes the destructor for this type. Read more
§

impl Send for FlagsClass

§

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
§

impl<C> AsyncPosition<()> for C

§

fn position(_index: usize)

Returns the position. 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, dest: *mut u8)

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

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

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
§

impl<C, I> Position<(), I> for C

§

fn position(&self, _index: &I)

Returns the position. Read more
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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,