Struct GObject Builder
Source pub struct GObjectBuilder<'a, O> { /* private fields */ }Expand description
Builder for GObjects.
Implementations§
Source§impl<'a, O: IsA<Object> + IsClass> GObjectBuilder<'a, O>
impl<'a, O: IsA<Object> + IsClass> GObjectBuilder<'a, O>
Sourcepub fn type_(self, type_: Type) -> Self
pub fn type_(self, type_: Type) -> Self
Sets the concrete Type.
This should be used on an GObjectBuilder created with
[GObjectBuilder::for_deferred_type].
Sourcepub fn property(self, name: &'a str, value: impl Into<Value> + 'a) -> Self
pub fn property(self, name: &'a str, value: impl Into<Value> + 'a) -> Self
Sets property name to the given value value.
Overrides any default or previously defined value for name.
Sourcepub fn property_from_str(self, name: &'a str, value: &'a str) -> Self
pub fn property_from_str(self, name: &'a str, value: &'a str) -> Self
Sets property name to the given string value value.
Sourcepub fn property_if(
self,
name: &'a str,
value: impl Into<Value> + 'a,
predicate: bool,
) -> Self
pub fn property_if( self, name: &'a str, value: impl Into<Value> + 'a, predicate: bool, ) -> Self
Sets property name to the given inner value if the predicate evaluates to true.
This has no effect if the predicate evaluates to false,
i.e. default or previous value for name is kept.
Sourcepub fn property_if_some(
self,
name: &'a str,
value: Option<impl Into<Value> + 'a>,
) -> Self
pub fn property_if_some( self, name: &'a str, value: Option<impl Into<Value> + 'a>, ) -> Self
Sets property name to the given inner value if value is Some.
This has no effect if the value is None, i.e. default or previous value for name is kept.
Sourcepub fn property_from_iter<V: ValueType + Into<Value> + FromIterator<SendValue>, I: ToSendValue>(
self,
name: &'a str,
iter: impl IntoIterator<Item = I>,
) -> Self
pub fn property_from_iter<V: ValueType + Into<Value> + FromIterator<SendValue>, I: ToSendValue>( self, name: &'a str, iter: impl IntoIterator<Item = I>, ) -> Self
Sets property name using the given ValueType V built from iter’s the Items.
Overrides any default or previously defined value for name.
Sourcepub fn property_if_not_empty<V: ValueType + Into<Value> + FromIterator<SendValue>, I: ToSendValue>(
self,
name: &'a str,
iter: impl IntoIterator<Item = I>,
) -> Self
pub fn property_if_not_empty<V: ValueType + Into<Value> + FromIterator<SendValue>, I: ToSendValue>( self, name: &'a str, iter: impl IntoIterator<Item = I>, ) -> Self
Sets property name using the given ValueType V built from iter’s Items, if iter` is not empty.
This has no effect if iter is empty, i.e. previous value for name is unchanged.
Sourcepub fn property_from_str_if(
self,
name: &'a str,
value: &'a str,
predicate: bool,
) -> Self
pub fn property_from_str_if( self, name: &'a str, value: &'a str, predicate: bool, ) -> Self
Sets property name to the given string value value if the predicate evaluates to true.
This has no effect if the predicate evaluates to false,
i.e. default or previous value for name is kept.
Sourcepub fn property_from_str_if_some(
self,
name: &'a str,
value: Option<&'a str>,
) -> Self
pub fn property_from_str_if_some( self, name: &'a str, value: Option<&'a str>, ) -> Self
Sets property name to the given string value value if it is Some.
This has no effect if the value is None, i.e. default or previous value for name is kept.
Sourcepub fn name_if(self, name: impl Into<GString>, predicate: bool) -> Self
pub fn name_if(self, name: impl Into<GString>, predicate: bool) -> Self
Sets the name property to the given name if the predicate evaluates to true.
This has no effect if the predicate evaluates to false,
i.e. default or previous name is kept.
Sourcepub fn name_if_some(self, name: Option<impl Into<GString>>) -> Self
pub fn name_if_some(self, name: Option<impl Into<GString>>) -> Self
Sets the name property to the given name if it is Some.
This has no effect if the value is None, i.e. default or previous name is kept.
Sourcepub fn build(self) -> Result<O, GObjectError>
pub fn build(self) -> Result<O, GObjectError>
Builds the Object with the provided properties.
This fails if there is no such element factory or the element factory can’t be loaded.
§Panics
This panics if:
- The
Objectis not instantiable, doesn’t have all the given properties or property values of the wrong type are provided. - The
GObjectBuilderwas created for a deferred concreteTypebut theTypewas not set.
Auto Trait Implementations§
impl<'a, O> Freeze for GObjectBuilder<'a, O>
impl<'a, O> RefUnwindSafe for GObjectBuilder<'a, O>where
O: RefUnwindSafe,
impl<'a, O> !Send for GObjectBuilder<'a, O>
impl<'a, O> !Sync for GObjectBuilder<'a, O>
impl<'a, O> Unpin for GObjectBuilder<'a, O>where
O: Unpin,
impl<'a, O> UnwindSafe for GObjectBuilder<'a, O>where
O: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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