use crate::event::event_data::CommandEventData;
use crate::event::{Event, EventType};
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ButtonEvent {
Clicked,
Toggled,
}
#[derive(Debug)]
pub struct ButtonEventData {
pub event: CommandEventData,
}
impl ButtonEventData {
pub fn new(event: Event) -> Self {
Self {
event: CommandEventData::new(event),
}
}
pub fn get_id(&self) -> i32 {
self.event.get_id()
}
pub fn is_checked(&self) -> Option<bool> {
self.event.is_checked()
}
}
crate::implement_category_event_handlers!(ButtonEvents, ButtonEvent, ButtonEventData,
Clicked => click, EventType::COMMAND_BUTTON_CLICKED,
Toggled => toggle, EventType::COMMAND_TOGGLEBUTTON_CLICKED
);