use crate::ui::AppBar;
pub trait AppBarEvents {
fn on_button_click(&mut self, _button: Handle<super::Button>) {}
fn on_togglebutton_state_changed(&mut self, _togglebutton: Handle<super::ToggleButton>, _selected: bool) {}
fn on_switchbutton_state_changed(&mut self, _switchbutton: Handle<super::SwitchButton>, _selected: bool) {}
fn on_update(&self, _appbar: &mut AppBar) {}
}
use crate::system::Handle;
#[derive(Copy, Clone)]
pub(crate) struct ButtonClickEvent {
pub(crate) button_handle: Handle<super::Button>,
pub(crate) control_receiver_handle: Handle<()>,
}
#[derive(Copy, Clone)]
pub(crate) struct ToggleButtonStatusChangedEvent {
pub(crate) button_handle: Handle<super::ToggleButton>,
pub(crate) control_receiver_handle: Handle<()>,
pub(crate) state: bool,
}
#[derive(Copy, Clone)]
pub(crate) struct SwitchButtonStatusChangedEvent {
pub(crate) button_handle: Handle<super::SwitchButton>,
pub(crate) control_receiver_handle: Handle<()>,
pub(crate) state: bool,
}
#[derive(Copy, Clone)]
pub(crate) enum AppBarEvent {
ButtonClick(ButtonClickEvent),
ToggleButtonStatusChanged(ToggleButtonStatusChangedEvent),
SwitchButtonStatusChanged(SwitchButtonStatusChangedEvent),
}