pub trait SwitchExt: 'static {
// Required methods
fn is_active(&self) -> bool;
fn state(&self) -> bool;
fn set_active(&self, is_active: bool);
fn set_state(&self, state: bool);
fn connect_activate<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
fn emit_activate(&self);
fn connect_state_set<F: Fn(&Self, bool) -> Inhibit + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_active_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_state_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
}