pub struct ElementRef<T: ObjectType>(/* private fields */);Expand description
A reference to an element that the holder does not own: the value type of properties such as a placement target, the target of a label or the element an adorner adorns.
Such a property points sideways or up the tree — often at an ancestor of
the element it is set on — so holding the element strongly would make
the two keep each other alive. An ElementRef holds it weakly and
compares by identity. Classes expose these properties with getters that
return Option<Ref<T>> and setters that take impl Into<Nullable<T>>;
untyped access and bindings convert to and from Ref<T> (see
ValueTypes::register_element_ref).
When the referenced element is dropped the reference reads as nothing; no change notification is raised for that.
Implementations§
Source§impl<T: ObjectType> ElementRef<T>
impl<T: ObjectType> ElementRef<T>
Sourcepub fn new<U: ObjectType + Upcast<T>>(element: &Ref<U>) -> Self
pub fn new<U: ObjectType + Upcast<T>>(element: &Ref<U>) -> Self
Creates a reference to element.
Sourcepub fn from_nullable(element: Option<Ref<T>>) -> Option<Self>
pub fn from_nullable(element: Option<Ref<T>>) -> Option<Self>
The property value for an optional element.
Sourcepub fn resolve(value: &Option<Self>) -> Option<Ref<T>>
pub fn resolve(value: &Option<Self>) -> Option<Ref<T>>
The element referenced by a property value.
Sourcepub fn points_to<U: ObjectType>(&self, element: &Ref<U>) -> bool
pub fn points_to<U: ObjectType>(&self, element: &Ref<U>) -> bool
Whether the reference points at element.
Trait Implementations§
Source§impl<T: ObjectType> Clone for ElementRef<T>
impl<T: ObjectType> Clone for ElementRef<T>
Source§impl<T: ObjectType> Debug for ElementRef<T>
impl<T: ObjectType> Debug for ElementRef<T>
Source§impl<T: ObjectType + Upcast<U>, U: ObjectType> From<&Ref<T>> for ElementRef<U>
impl<T: ObjectType + Upcast<U>, U: ObjectType> From<&Ref<T>> for ElementRef<U>
Source§impl<T: ObjectType> PartialEq for ElementRef<T>
Identity: two references are equal when they point at the same element,
whether or not it is still alive.
impl<T: ObjectType> PartialEq for ElementRef<T>
Identity: two references are equal when they point at the same element, whether or not it is still alive.
Auto Trait Implementations§
impl<T> !RefUnwindSafe for ElementRef<T>
impl<T> !Send for ElementRef<T>
impl<T> !Sync for ElementRef<T>
impl<T> !UnwindSafe for ElementRef<T>
impl<T> Freeze for ElementRef<T>
impl<T> Unpin for ElementRef<T>
impl<T> UnsafeUnpin for ElementRef<T>where
WeakRef<T>: UnsafeUnpin,
Blanket Implementations§
Source§impl<T> AnyValue for Twhere
T: PartialEq + 'static,
impl<T> AnyValue for Twhere
T: PartialEq + 'static,
fn any_value_as_any(&self) -> &(dyn Any + 'static)
fn any_value_eq(&self, other: &(dyn AnyValue + 'static)) -> bool
fn any_value_type_name(&self) -> &'static str
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> ClassDefaults for Twhere
T: ?Sized,
impl<T> ClassDefaults for Twhere
T: ?Sized,
Source§fn static_constructor()
fn static_constructor()
affects_render, metadata
overrides). Read more