#[repr(C)]pub struct ClassStruct<T: ObjectSubclass> { /* private fields */ }
Expand description
A basic class struct that does not store any additional data or virtual methods.
Methods from Deref<Target = Class<<T as ObjectSubclass>::Type>>
sourcepub fn has_property(&self, property_name: &str, type_: Option<Type>) -> bool
pub fn has_property(&self, property_name: &str, type_: Option<Type>) -> bool
Check if the object class has a property property_name
of the given type_
.
If no type is provided then only the existence of the property is checked.
sourcepub fn property_type(&self, property_name: &str) -> Option<Type>
pub fn property_type(&self, property_name: &str) -> Option<Type>
Get the type of the property property_name
of this object class.
This returns None
if the property does not exist.
sourcepub fn find_property(&self, property_name: &str) -> Option<ParamSpec>
pub fn find_property(&self, property_name: &str) -> Option<ParamSpec>
Get the ParamSpec
of the property property_name
of this object class.
sourcepub fn list_properties(&self) -> PtrSlice<ParamSpec>
pub fn list_properties(&self) -> PtrSlice<ParamSpec>
Return all ParamSpec
of the properties of this object class.
sourcepub fn type_(&self) -> Type
pub fn type_(&self) -> Type
Get the type id for this class.
This is not equivalent to T::static_type()
but is the type of the subclass of T
where
this class belongs to.
sourcepub fn upcast_ref<U: IsClass>(&self) -> &Class<U> where
T: IsA<U>,
pub fn upcast_ref<U: IsClass>(&self) -> &Class<U> where
T: IsA<U>,
Casts this class to a reference to a parent type’s class.
sourcepub fn upcast_ref_mut<U: IsClass>(&mut self) -> &mut Class<U> where
T: IsA<U>,
pub fn upcast_ref_mut<U: IsClass>(&mut self) -> &mut Class<U> where
T: IsA<U>,
Casts this class to a mutable reference to a parent type’s class.
sourcepub fn downcast_ref<U: IsClass>(&self) -> Option<&Class<U>> where
U: IsA<T>,
pub fn downcast_ref<U: IsClass>(&self) -> Option<&Class<U>> where
U: IsA<T>,
Casts this class to a reference to a child type’s class or fails if this class is not implementing the child class.
Trait Implementations
sourceimpl<T: ObjectSubclass> ClassStruct for ClassStruct<T>
impl<T: ObjectSubclass> ClassStruct for ClassStruct<T>
type Type = T
type Type = T
Corresponding object subclass type for this class struct.
sourcefn class_init(&mut self)
fn class_init(&mut self)
Override the vfuncs of all parent types. Read more
sourceimpl<T: ObjectSubclass> Debug for ClassStruct<T> where
<T::ParentType as ObjectType>::GlibClassType: Debug,
impl<T: ObjectSubclass> Debug for ClassStruct<T> where
<T::ParentType as ObjectType>::GlibClassType: Debug,
sourceimpl<T: ObjectSubclass> Deref for ClassStruct<T>
impl<T: ObjectSubclass> Deref for ClassStruct<T>
sourceimpl<T: ObjectSubclass> DerefMut for ClassStruct<T>
impl<T: ObjectSubclass> DerefMut for ClassStruct<T>
Auto Trait Implementations
impl<T> RefUnwindSafe for ClassStruct<T> where
<<T as ObjectSubclass>::ParentType as ObjectType>::GlibClassType: RefUnwindSafe,
impl<T> Send for ClassStruct<T> where
<<T as ObjectSubclass>::ParentType as ObjectType>::GlibClassType: Send,
impl<T> Sync for ClassStruct<T> where
<<T as ObjectSubclass>::ParentType as ObjectType>::GlibClassType: Sync,
impl<T> Unpin for ClassStruct<T> where
<<T as ObjectSubclass>::ParentType as ObjectType>::GlibClassType: Unpin,
impl<T> UnwindSafe for ClassStruct<T> where
<<T as ObjectSubclass>::ParentType as ObjectType>::GlibClassType: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more