Struct masonry::widget::WidgetRef

source ·
pub struct WidgetRef<'w, W: Widget + ?Sized> { /* private fields */ }
Expand description

A rich reference to a Widget.

Widgets in Masonry are bundled with additional metadata called WidgetState.

A WidgetRef to a widget carries both a reference to the widget and to its WidgetState. It can Deref to the referenced widget.

This type is mostly used for debugging, to query a certain widget in the widget graph, get their layout, etc. It also implements std::fmt::Debug for convenience; printing it will display its widget subtree (as in, the referenced widget, and its children, and their children, etc).

This is only for shared access to widgets. For widget mutation, see WidgetMut.

Implementations§

source§

impl<'w, W: Widget + ?Sized> WidgetRef<'w, W>

source

pub fn state(self) -> &'w WidgetState

Get the WidgetState of the current widget.

source

pub fn deref(self) -> &'w W

Get the actual referenced Widget.

source

pub fn id(&self) -> WidgetId

Get the WidgetId of the current widget.

source

pub fn downcast<W2: Widget>(&self) -> Option<WidgetRef<'w, W2>>

Attempt to downcast to WidgetRef of concrete Widget type.

source§

impl<'w, W: Widget> WidgetRef<'w, W>

source

pub fn as_dyn(&self) -> WidgetRef<'w, dyn Widget>

Return a type-erased WidgetRef.

source§

impl<'w> WidgetRef<'w, dyn Widget>

source

pub fn children(&self) -> SmallVec<[WidgetRef<'w, dyn Widget>; 16]>

Return widget’s children.

source

pub fn find_widget_by_id( &self, id: WidgetId ) -> Option<WidgetRef<'w, dyn Widget>>

Recursively find child widget with given id.

source

pub fn find_widget_at_pos( &self, pos: Point ) -> Option<WidgetRef<'w, dyn Widget>>

Recursively find innermost widget at given position.

pos - the position in local coordinates (zero being the top-left of the inner widget).

source

pub fn debug_validate(&self, after_layout: bool)

Recursively check that the Widget tree upholds various invariants.

Can only be called after on_event and lifecycle.

Trait Implementations§

source§

impl<'w, W: Widget + ?Sized> Clone for WidgetRef<'w, W>

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<'w, W: Widget + ?Sized> Debug for WidgetRef<'w, W>

source§

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

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

impl<'w, W: Widget + ?Sized> Deref for WidgetRef<'w, W>

§

type Target = W

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<'w, W: Widget + ?Sized> Copy for WidgetRef<'w, W>

Auto Trait Implementations§

§

impl<'w, W> Freeze for WidgetRef<'w, W>
where W: ?Sized,

§

impl<'w, W> RefUnwindSafe for WidgetRef<'w, W>
where W: RefUnwindSafe + ?Sized,

§

impl<'w, W> Send for WidgetRef<'w, W>
where W: Sync + ?Sized,

§

impl<'w, W> Sync for WidgetRef<'w, W>
where W: Sync + ?Sized,

§

impl<'w, W> Unpin for WidgetRef<'w, W>
where W: ?Sized,

§

impl<'w, W> UnwindSafe for WidgetRef<'w, W>
where W: RefUnwindSafe + ?Sized,

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> AsAny for T
where T: Any,

source§

fn as_dyn_any(&self) -> &(dyn Any + 'static)

Return self.
source§

fn as_mut_dyn_any(&mut self) -> &mut (dyn Any + 'static)

Return self.
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> Downcast<T> for T

source§

fn downcast(&self) -> &T

source§

impl<T> Downcast for T
where T: Any,

source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

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

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

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> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

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>,

§

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>,

§

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.
source§

impl<T> Upcast<T> for T

source§

fn upcast(&self) -> Option<&T>

source§

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

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

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
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

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

source§

impl<T> Formattable for T
where T: Deref, <T as Deref>::Target: Formattable,

source§

impl<T> MaybeSendSync for T

source§

impl<T> WasmNotSend for T
where T: Send,

source§

impl<T> WasmNotSendSync for T

source§

impl<T> WasmNotSync for T
where T: Sync,