mirror of
https://codeberg.org/unspeaker/tengri.git
synced 2026-10-08 12:16:43 +02:00
This commit is contained in:
parent
0a868c9e6c
commit
ab8c8cb1c4
1 changed files with 28 additions and 8 deletions
|
|
@ -7,14 +7,34 @@ pub struct TuiEvent(
|
|||
pub Event
|
||||
);
|
||||
|
||||
impl_from!(TuiEvent: |e: Event| TuiEvent(
|
||||
e));
|
||||
impl_from!(TuiEvent: |e: KeyEvent| TuiEvent(
|
||||
Event::Key(e)));
|
||||
impl_from!(TuiEvent: |c: KeyCode| TuiEvent(
|
||||
Event::Key(KeyEvent::new(c, KeyModifiers::NONE))));
|
||||
impl_from!(TuiEvent: |c: char| TuiEvent(
|
||||
Event::Key(KeyEvent::new(KeyCode::Char(c), KeyModifiers::NONE))));
|
||||
impl_from!(TuiEvent: |e: Event|
|
||||
TuiEvent(e));
|
||||
impl_from!(TuiEvent: |e: KeyEvent|
|
||||
TuiEvent(Event::Key(e)));
|
||||
impl_from!(TuiEvent: |c: KeyCode|
|
||||
TuiEvent(Event::Key(KeyEvent::new(c, KeyModifiers::NONE))));
|
||||
impl_from!(TuiEvent: |c: char|
|
||||
TuiEvent(Event::Key(KeyEvent::new(KeyCode::Char(c), KeyModifiers::NONE))));
|
||||
impl_from!(TuiEvent: |s: &str|
|
||||
TuiEvent(Event::Key(KeyEvent::new(match s {
|
||||
"up" => KeyCode::Up,
|
||||
"down" => KeyCode::Down,
|
||||
"left" => KeyCode::Left,
|
||||
"right" => KeyCode::Right,
|
||||
"enter" => KeyCode::Enter,
|
||||
_ => unimplemented!()
|
||||
}, KeyModifiers::NONE))));
|
||||
|
||||
impl_display!(TuiEvent: |self, w| {
|
||||
match self.0 {
|
||||
Event::Key(e) => write!(
|
||||
w, "{:?<12} {:?}", e.code, e.modifiers
|
||||
),
|
||||
_ => write!(
|
||||
w, "{:?}", self.0
|
||||
)
|
||||
}
|
||||
});
|
||||
|
||||
impl Ord for TuiEvent {
|
||||
fn cmp (&self, other: &Self) -> std::cmp::Ordering {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue