Struct map_gui::tools::InputWaypoints
source · [−]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
sourceimpl InputWaypoints
impl InputWaypoints
sourcepub fn new(app: &dyn AppLike) -> InputWaypoints
pub fn new(app: &dyn AppLike) -> InputWaypoints
Allows any number of waypoints
sourcepub fn new_max_2(app: &dyn AppLike) -> Self
pub fn new_max_2(app: &dyn AppLike) -> Self
Only allow drawing routes with 2 waypoints. If a route is loaded with more than that, it can be modified.
sourcepub fn overwrite(&mut self, app: &dyn AppLike, waypoints: Vec<TripEndpoint>)
pub fn overwrite(&mut self, app: &dyn AppLike, waypoints: Vec<TripEndpoint>)
The caller should call rebuild_world
after this
pub fn get_panel_widget(&self, ctx: &mut EventCtx<'_>) -> Widget
pub fn get_waypoints(&self) -> Vec<TripEndpoint>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
pub fn len(&self) -> usize
sourcepub 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 get_waypoint_color(&self, idx: usize) -> Color
sourcepub 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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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
pub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any(&self) -> &(dyn Any + 'static)
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
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self