rtlibs_tui/widgets/
mod.rs

1#[cfg(feature = "widget-notifications")]
2mod notifications;
3#[cfg(feature = "widget-notifications")]
4pub use notifications::*;
5
6#[cfg(feature = "widget-statusbar")]
7mod statusbar;
8#[cfg(feature = "widget-statusbar")]
9pub use statusbar::*;
10
11#[cfg(feature = "widget-scrollarea")]
12mod scrollarea;
13#[cfg(feature = "widget-scrollarea")]
14pub use scrollarea::*;
15
16#[cfg(feature = "widget-list")]
17mod list;
18#[cfg(feature = "widget-list")]
19pub use list::*;
20
21#[cfg(feature = "widget-input")]
22mod input;
23#[cfg(feature = "widget-input")]
24pub use input::*;
25
26#[cfg(feature = "widget-input-number")]
27mod input_number;
28#[cfg(feature = "widget-input-number")]
29pub use input_number::*;
30
31#[cfg(feature = "widget-input-date")]
32mod input_date;
33#[cfg(feature = "widget-input-date")]
34pub use input_date::*;
35
36#[cfg(feature = "widget-input-currency")]
37mod input_currency;
38#[cfg(feature = "widget-input-currency")]
39pub use input_currency::*;
40
41#[cfg(feature = "widget-select")]
42mod select;
43#[cfg(feature = "widget-select")]
44pub use select::*;
45
46#[cfg(feature = "widget-modal-container")]
47mod modal_container;
48#[cfg(feature = "widget-modal-container")]
49pub use modal_container::*;
50
51#[cfg(feature = "widget-commander")]
52mod commander;
53#[cfg(feature = "widget-commander")]
54pub use commander::*;
55#[cfg(feature = "widget-commander")]
56mod commander_application;
57#[cfg(feature = "widget-commander")]
58pub use commander_application::*;
59
60#[cfg(
61    any(
62        feature = "widget-scrollarea",
63        feature = "widget-list",
64        feature = "widget-input",
65        feature = "widget-input-number",
66        feature = "widget-input-date",
67        feature = "widget-input-currency",
68        feature = "widget-select",
69        feature = "widget-modal-container",
70        feature = "widget-commander"
71    )
72)]
73pub trait KeyEventHandler<'a, T>
74{
75    fn handle_key_event(
76        &'a mut self,
77        code: crossterm::event::KeyCode,
78        modifiers: crossterm::event::KeyModifiers,
79    ) -> crate::Result<T>;
80}