Trait nuit_core::View

source ·
pub trait View: Bind {
    type Body: View = !;

    // Provided methods
    fn body(&self) -> Self::Body { ... }
    fn fire(&self, event: &Event, id_path: &IdPath) { ... }
    fn render(&mut self, context: &Context) -> Node { ... }
}
Expand description

The primary view trait. Represents a lightweight UI component.

Provided Associated Types§

source

type Body: View = !

Provided Methods§

source

fn body(&self) -> Self::Body

source

fn fire(&self, event: &Event, id_path: &IdPath)

source

fn render(&mut self, context: &Context) -> Node

Implementations on Foreign Types§

source§

impl View for !

source§

impl View for ()

source§

fn fire(&self, _event: &Event, _id_path: &IdPath)

source§

fn render(&mut self, _context: &Context) -> Node

source§

impl<T1, T2> View for (T1, T2)
where T1: View, T2: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3> View for (T1, T2, T3)
where T1: View, T2: View, T3: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3, T4> View for (T1, T2, T3, T4)
where T1: View, T2: View, T3: View, T4: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3, T4, T5> View for (T1, T2, T3, T4, T5)
where T1: View, T2: View, T3: View, T4: View, T5: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3, T4, T5, T6> View for (T1, T2, T3, T4, T5, T6)
where T1: View, T2: View, T3: View, T4: View, T5: View, T6: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3, T4, T5, T6, T7> View for (T1, T2, T3, T4, T5, T6, T7)
where T1: View, T2: View, T3: View, T4: View, T5: View, T6: View, T7: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8> View for (T1, T2, T3, T4, T5, T6, T7, T8)
where T1: View, T2: View, T3: View, T4: View, T5: View, T6: View, T7: View, T8: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9> View for (T1, T2, T3, T4, T5, T6, T7, T8, T9)
where T1: View, T2: View, T3: View, T4: View, T5: View, T6: View, T7: View, T8: View, T9: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> View for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
where T1: View, T2: View, T3: View, T4: View, T5: View, T6: View, T7: View, T8: View, T9: View, T10: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> View for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
where T1: View, T2: View, T3: View, T4: View, T5: View, T6: View, T7: View, T8: View, T9: View, T10: View, T11: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> View for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
where T1: View, T2: View, T3: View, T4: View, T5: View, T6: View, T7: View, T8: View, T9: View, T10: View, T11: View, T12: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> View for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)
where T1: View, T2: View, T3: View, T4: View, T5: View, T6: View, T7: View, T8: View, T9: View, T10: View, T11: View, T12: View, T13: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> View for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
where T1: View, T2: View, T3: View, T4: View, T5: View, T6: View, T7: View, T8: View, T9: View, T10: View, T11: View, T12: View, T13: View, T14: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> View for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
where T1: View, T2: View, T3: View, T4: View, T5: View, T6: View, T7: View, T8: View, T9: View, T10: View, T11: View, T12: View, T13: View, T14: View, T15: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> View for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)
where T1: View, T2: View, T3: View, T4: View, T5: View, T6: View, T7: View, T8: View, T9: View, T10: View, T11: View, T12: View, T13: View, T14: View, T15: View, T16: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> View for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)
where T1: View, T2: View, T3: View, T4: View, T5: View, T6: View, T7: View, T8: View, T9: View, T10: View, T11: View, T12: View, T13: View, T14: View, T15: View, T16: View, T17: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> View for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)
where T1: View, T2: View, T3: View, T4: View, T5: View, T6: View, T7: View, T8: View, T9: View, T10: View, T11: View, T12: View, T13: View, T14: View, T15: View, T16: View, T17: View, T18: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> View for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)
where T1: View, T2: View, T3: View, T4: View, T5: View, T6: View, T7: View, T8: View, T9: View, T10: View, T11: View, T12: View, T13: View, T14: View, T15: View, T16: View, T17: View, T18: View, T19: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> View for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)
where T1: View, T2: View, T3: View, T4: View, T5: View, T6: View, T7: View, T8: View, T9: View, T10: View, T11: View, T12: View, T13: View, T14: View, T15: View, T16: View, T17: View, T18: View, T19: View, T20: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> View for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)
where T1: View, T2: View, T3: View, T4: View, T5: View, T6: View, T7: View, T8: View, T9: View, T10: View, T11: View, T12: View, T13: View, T14: View, T15: View, T16: View, T17: View, T18: View, T19: View, T20: View, T21: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> View for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)
where T1: View, T2: View, T3: View, T4: View, T5: View, T6: View, T7: View, T8: View, T9: View, T10: View, T11: View, T12: View, T13: View, T14: View, T15: View, T16: View, T17: View, T18: View, T19: View, T20: View, T21: View, T22: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> View for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)
where T1: View, T2: View, T3: View, T4: View, T5: View, T6: View, T7: View, T8: View, T9: View, T10: View, T11: View, T12: View, T13: View, T14: View, T15: View, T16: View, T17: View, T18: View, T19: View, T20: View, T21: View, T22: View, T23: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> View for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)
where T1: View, T2: View, T3: View, T4: View, T5: View, T6: View, T7: View, T8: View, T9: View, T10: View, T11: View, T12: View, T13: View, T14: View, T15: View, T16: View, T17: View, T18: View, T19: View, T20: View, T21: View, T22: View, T23: View, T24: View,

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

source§

impl<T> View for (T,)
where T: View,

§

type Body = <T as View>::Body

source§

fn body(&self) -> Self::Body

source§

fn fire(&self, event: &Event, id_path: &IdPath)

source§

fn render(&mut self, context: &Context) -> Node

Implementors§

source§

impl View for Text

source§

impl View for TextField

source§

impl<C> View for Picker<C>
where C: View,

source§

impl<C, I, F, V> View for ForEach<C, I, F, V>
where for<'a> &'a C: IntoIterator<Item = &'a I> + Clone, I: HasId, F: Fn(&I) -> V, V: View,

source§

impl<T> View for HStack<T>
where T: View,

source§

impl<T> View for List<T>
where T: View,

source§

impl<T> View for Modified<T>
where T: View,

source§

impl<T> View for VStack<T>
where T: View,

source§

impl<T> View for ZStack<T>
where T: View,

source§

impl<T, F> View for Button<T, F>
where T: View, F: Fn() + 'static,

source§

impl<T, F> View for Handler<T, F>
where T: View, F: Fn(Event),

source§

impl<T, F> View for If<T, F>
where T: View, F: View,