Struct WidgetNode

Source
pub struct WidgetNode {
    pub widget: Rc<RefCell<dyn Widget>>,
    pub children: Vec<WidgetNode>,
}
Expand description

Node in the widget hierarchy.

A WidgetNode owns a concrete widget instance and zero or more child nodes. Events are dispatched depth‑first and drawing occurs in the same order. This mirrors the behaviour of common retained‑mode UI frameworks.

Fields§

§widget: Rc<RefCell<dyn Widget>>§children: Vec<WidgetNode>

Implementations§

Source§

impl WidgetNode

Source

pub fn dispatch_event(&mut self, event: &Event) -> bool

Propagate an event to this node and its children.

Returns true if any widget handled the event.

Source

pub fn draw(&self, renderer: &mut dyn Renderer)

Recursively draw this node and all child nodes using the given renderer.

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

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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