[−][src]Trait widgetry::SimpleState
Many states fit a pattern of managing a single panel, handling mouseover events, and other
interactions on the map. Implementing this instead of State
reduces some boilerplate.
Required methods
fn on_click(
&mut self,
ctx: &mut EventCtx<'_>,
app: &mut A,
action: &str,
panel: &Panel
) -> Transition<A>
&mut self,
ctx: &mut EventCtx<'_>,
app: &mut A,
action: &str,
panel: &Panel
) -> Transition<A>
Called when something on the panel has been clicked. Since the action is just a string,
the fallback case can just use unreachable!()
.
Provided methods
fn panel_changed(
&mut self,
_: &mut EventCtx<'_>,
_: &mut A,
_: &Panel
) -> Option<Transition<A>>
&mut self,
_: &mut EventCtx<'_>,
_: &mut A,
_: &Panel
) -> Option<Transition<A>>
Called when something on the panel has changed. If a transition is returned, stop handling the event and immediately apply the transition.
fn on_mouseover(&mut self, _: &mut EventCtx<'_>, _: &mut A)
Called when the mouse has moved.
fn other_event(&mut self, _: &mut EventCtx<'_>, _: &mut A) -> Transition<A>
If a panel on_click
event didn't occur and panel_changed
didn't return transition, then
call this to handle all other events.