use crate::todo::ToDo;
use super::UIEvent;
use crossterm::event::KeyEvent;
pub trait HandleEvent {
fn get_event(&self, event: &KeyEvent) -> UIEvent;
fn handle_event(&mut self, event: UIEvent, todo: &mut ToDo) -> bool;
fn handle_key(&mut self, event: &KeyEvent, todo: &mut ToDo) -> bool {
let event = self.get_event(event);
log::trace!("EventHandler: Key '{:?}' cause event '{:?}'", event, event);
self.handle_event(event, todo)
}
#[allow(unused_variables)]
fn click(&mut self, column: usize, row: usize, todo: &ToDo) {}
}