pub enum ScreenOutcome {
ReturnToParent,
QuitAll,
Continue,
}Expand description
What a nested screen’s event loop did, for its caller to interpret. A screen that owns its own
sub-context (e.g. TeleopUi) should never mutate the outer loop’s shutdown flag directly - it
reports what happened here, and lets the caller (which knows how it was entered) decide what
that means. See ops/teleop.rs::enter_teleop_mode, which interprets ReturnToParent
differently depending on whether it was entered via 's' (simulation hand-off, so backing out
means “stop the simulation and return to the dev-mode menu”) or 't' (standalone teleop, so
backing out just closes the screen).
Variants§
ReturnToParent
TerminationIntent::StopCurrent fired, or the screen’s own back-out (e.g. q/Esc)
completed normally.
QuitAll
TerminationIntent::QuitAll fired - propagate outward unswallowed, all the way to the
top-level running flag, so the outer loop’s own if !running.load() { break } handles
full session teardown.
Continue
Nothing terminal happened; keep running the screen’s event loop.
Trait Implementations§
Source§impl Clone for ScreenOutcome
impl Clone for ScreenOutcome
Source§fn clone(&self) -> ScreenOutcome
fn clone(&self) -> ScreenOutcome
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ScreenOutcome
Source§impl Debug for ScreenOutcome
impl Debug for ScreenOutcome
impl Eq for ScreenOutcome
Source§impl PartialEq for ScreenOutcome
impl PartialEq for ScreenOutcome
impl StructuralPartialEq for ScreenOutcome
Auto Trait Implementations§
impl Freeze for ScreenOutcome
impl RefUnwindSafe for ScreenOutcome
impl Send for ScreenOutcome
impl Sync for ScreenOutcome
impl Unpin for ScreenOutcome
impl UnsafeUnpin for ScreenOutcome
impl UnwindSafe for ScreenOutcome
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more