Files
cyberpunk-rpg/tui-tea/src/hellolabel.rs
T
2024-11-23 14:00:13 -08:00

33 lines
909 B
Rust

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,
}
}
}