use crate::{gtk::prelude::*, model::model::*, view::components::switch::SwitchExt}; pub trait SwEventHandler { fn on_toggle(self) -> (); } impl SwEventHandler for EventHandler where F: Fn(&C) + FnOnce(&C) + FnMut(&C) + 'static, C: SwitchExt + WidgetExt, { fn on_toggle(self) -> () { self.component .connect_state_notify(move |switch| (self.callback)(switch)); } }