Trait Widget

Source
pub trait Widget<Message, R, E: Event, S>
where R: Renderer,
{ // Required methods fn id(&self) -> Option<ElId>; fn tree_ids(&self) -> Vec<ElId>; fn size(&self) -> Size<Length>; fn layout( &self, ctx: &mut UiCtx<Message>, state: &mut StateNode, styler: &S, limits: &Limits, viewport: &Viewport, ) -> LayoutNode; fn draw( &self, ctx: &mut UiCtx<Message>, state: &mut StateNode, renderer: &mut R, styler: &S, layout: Layout<'_>, ); // Provided methods fn position(&self) -> Position { ... } fn on_event( &mut self, ctx: &mut UiCtx<Message>, event: E, state: &mut StateNode, ) -> EventResponse<E> { ... } fn state_tag(&self) -> StateTag { ... } fn state(&self) -> State { ... } fn state_children(&self) -> Vec<StateNode> { ... } }

Required Methods§

Source

fn id(&self) -> Option<ElId>

Source

fn tree_ids(&self) -> Vec<ElId>

Source

fn size(&self) -> Size<Length>

Source

fn layout( &self, ctx: &mut UiCtx<Message>, state: &mut StateNode, styler: &S, limits: &Limits, viewport: &Viewport, ) -> LayoutNode

Source

fn draw( &self, ctx: &mut UiCtx<Message>, state: &mut StateNode, renderer: &mut R, styler: &S, layout: Layout<'_>, )

Provided Methods§

Source

fn position(&self) -> Position

Source

fn on_event( &mut self, ctx: &mut UiCtx<Message>, event: E, state: &mut StateNode, ) -> EventResponse<E>

Source

fn state_tag(&self) -> StateTag

Source

fn state(&self) -> State

Source

fn state_children(&self) -> Vec<StateNode>

Trait Implementations§

Source§

impl<'a, Message, R: Renderer, E: Event, S> Borrow<dyn Widget<Message, R, E, S> + 'a> for &El<'a, Message, R, E, S>

Source§

fn borrow(&self) -> &(dyn Widget<Message, R, E, S> + 'a)

Immutably borrows from an owned value. Read more
Source§

impl<'a, Message, R: Renderer, E: Event, S> Borrow<dyn Widget<Message, R, E, S> + 'a> for El<'a, Message, R, E, S>

Source§

fn borrow(&self) -> &(dyn Widget<Message, R, E, S> + 'a)

Immutably borrows from an owned value. Read more

Implementors§

Source§

impl<'a, Message, R, E, S> Widget<Message, R, E, S> for Button<'a, Message, R, E, S>
where Message: Clone, R: Renderer, E: Event, S: ButtonStyler<R::Color>,

Source§

impl<'a, Message, R, E, S> Widget<Message, R, E, S> for Checkbox<'a, Message, R, S>
where R: Renderer, E: Event, S: CheckboxStyler<R::Color>,

Source§

impl<'a, Message, R, E, S> Widget<Message, R, E, S> for Knob<'a, Message, R, E, S>
where R: Renderer, E: Event, S: KnobStyler<R::Color>,

Source§

impl<'a, Message, R, E, S> Widget<Message, R, E, S> for Select<'a, Message, R, E, S>
where R: Renderer, E: Event, S: SelectStyler<R::Color>,

Source§

impl<'a, Message, R, E, S> Widget<Message, R, E, S> for Slider<'a, Message, R, S>
where R: Renderer, E: Event, S: SliderStyler<R::Color>,

Source§

impl<'a, Message, R: Renderer, E: Event, S> Widget<Message, R, E, S> for El<'a, Message, R, E, S>

Source§

impl<'a, Message, R: Renderer, E: Event, S, D: LinearDirection> Widget<Message, R, E, S> for Linear<'a, Message, R, E, S, D>

Source§

impl<'a, T, Message, R, E: Event, S> Widget<Message, R, E, S> for Text<'a, T, R>
where T: Display, R: Renderer,

Source§

impl<Message, R, E, S> Widget<Message, R, E, S> for Divider<R>
where R: Renderer, E: Event,

Source§

impl<Message, R, E, S> Widget<Message, R, E, S> for Icon<R>
where R: Renderer, E: Event,

Source§

impl<T, Message, R, E, S> Widget<Message, R, E, S> for Value<T>
where R: Renderer, E: Event, T: Widget<Message, R, E, S>,