add: more TUI stuff

This commit is contained in:
Charles
2024-11-23 14:00:13 -08:00
parent 20c48e3cc4
commit 49b81c7d97
7 changed files with 875 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
use tui_realm_stdlib::Label;
use tuirealm::{event::{Key, KeyEvent, KeyModifiers}, props::{Alignment, Color, TextModifiers}, Component, Event, MockComponent, NoUserEvent};
use crate::Msg;
#[derive(MockComponent)]
pub struct HelloLabel {
component: Label,
}
impl Default for HelloLabel {
fn default() -> Self {
Self {
component: Label::default()
.alignment(Alignment::Center)
.foreground(Color::Green)
.modifiers(TextModifiers::BOLD)
.text("This is a label"),
}
}
}
impl Component<Msg, NoUserEvent> for HelloLabel {
fn on(&mut self, ev: tuirealm::Event<NoUserEvent>) -> Option<Msg> {
match ev {
Event::Keyboard(KeyEvent{
code: Key::Esc,
modifiers: KeyModifiers::NONE,
}) => Some(Msg::AppClose),
_ => None,
}
}
}