Skip to main content

Component

Trait Component 

Source
pub trait Component {
    // Required method
    fn render(&mut self, f: &mut Frame<'_>, rect: Rect);

    // Provided methods
    fn init(&mut self, tx: UnboundedSender<Action>) -> Result<()> { ... }
    fn handle_events(&mut self, event: Option<Event>) -> Vec<Action> { ... }
    fn handle_key_events(&mut self, key: KeyEvent) -> Vec<Action> { ... }
    fn handle_mouse_events(&mut self, mouse: MouseEvent) -> Vec<Action> { ... }
    fn dispatch(&mut self, action: Action) -> Option<Action> { ... }
}

Required Methods§

Source

fn render(&mut self, f: &mut Frame<'_>, rect: Rect)

Provided Methods§

Source

fn init(&mut self, tx: UnboundedSender<Action>) -> Result<()>

Source

fn handle_events(&mut self, event: Option<Event>) -> Vec<Action>

Source

fn handle_key_events(&mut self, key: KeyEvent) -> Vec<Action>

Source

fn handle_mouse_events(&mut self, mouse: MouseEvent) -> Vec<Action>

Source

fn dispatch(&mut self, action: Action) -> Option<Action>

Implementors§