Struct map_gui::tools::InputWaypoints [−][src]
pub struct InputWaypoints {
waypoints: Vec<Waypoint>,
snap_to_endpts: FindClosest<TripEndpoint>,
max_waypts: Option<usize>,
}
Expand description
Click to add waypoints, drag them, see the list on a panel and delete them. The caller owns the Panel and the World, since there’s probably more stuff there too.
Fields
waypoints: Vec<Waypoint>
snap_to_endpts: FindClosest<TripEndpoint>
max_waypts: Option<usize>
Implementations
Allows any number of waypoints
Only allow drawing routes with 2 waypoints. If a route is loaded with more than that, it can be modified.
The caller should call rebuild_world
after this
pub fn get_waypoints(&self) -> Vec<TripEndpoint>ⓘ
pub fn event(
&mut self,
app: &dyn AppLike,
panel_outcome: Outcome,
world_outcome: WorldOutcome<WaypointID>
) -> bool
pub fn event(
&mut self,
app: &dyn AppLike,
panel_outcome: Outcome,
world_outcome: WorldOutcome<WaypointID>
) -> bool
If the outcome from the panel or world isn’t used by the caller, pass it along here. When this
returns true, something has changed, so the caller may want to update their view of the
route and call get_panel_widget
and rebuild_world
again.
pub fn rebuild_world<T: ObjectID, F: Fn(WaypointID) -> T>(
&self,
ctx: &mut EventCtx<'_>,
world: &mut World<T>,
wrap_id: F,
zorder: usize
)
pub fn rebuild_world<T: ObjectID, F: Fn(WaypointID) -> T>(
&self,
ctx: &mut EventCtx<'_>,
world: &mut World<T>,
wrap_id: F,
zorder: usize
)
The caller is responsible for calling initialize_hover
and rebuilt_during_drag
.
Auto Trait Implementations
impl RefUnwindSafe for InputWaypoints
impl Send for InputWaypoints
impl Sync for InputWaypoints
impl Unpin for InputWaypoints
impl UnwindSafe for InputWaypoints
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
type Output = T
type Output = T
Should always be Self