rush_sync_server/ui/
widget.rs1use crate::core::prelude::*;
2use crate::input::input::InputStateBackup;
3use ratatui::widgets::Paragraph;
4
5pub trait Widget {
6 fn render(&self) -> Paragraph;
7 fn handle_input(&mut self, key: KeyEvent) -> Option<String>;
8 fn as_input_state(&mut self) -> Option<&mut dyn InputWidget> {
9 None
10 }
11
12 fn get_backup_data(&self) -> Option<InputStateBackup> {
14 None
15 }
16
17 fn restore_backup_data(&mut self, _backup: InputStateBackup) {
19 }
21}
22
23pub trait InputWidget {
24 fn update_cursor_blink(&mut self);
25}