pub enum TuiSystems {
Prepare,
Layout,
Fit,
Draw,
Render,
}Expand description
The terminal view’s steps in PostUpdate, in order, after the
StatusSystems.
Variants§
Prepare
Before the frame is laid out: a plugin updates what it shows and
its TuiPanels here, such as a placement that depends on the
TerminalSize.
Layout
The view decides whether to draw a frame and lays it out: first
every panel by its placement (the input, the status line, the
plugins’ panels), then each TranscriptPane
in what its panel got, its rows laid out and its scroll placed
(TranscriptView::top,
DrawnTranscript).
Fit
After the frame is laid out and every pane’s scroll placed: a plugin
fits its TuiPanels to what the panes show here, such as a header
shown while a pane is scrolled up. When a panel was spawned or
changed here, the view lays the frame out again, panels then panes,
before Draw, so the frame that placed the scroll
draws the panel fitted to it.
Draw
Plugins draw their panels into their PanelCanvas. Runs only for
a frame that is drawn.
Render
The view composites the panels’ canvases (the transcript, status line and input are panels too) and draws its overlays over them: the picker or question, the completion list and the caret.
Trait Implementations§
Source§impl Clone for TuiSystems
impl Clone for TuiSystems
impl Copy for TuiSystems
Source§impl Debug for TuiSystems
impl Debug for TuiSystems
impl Eq for TuiSystems
Source§impl Hash for TuiSystems
impl Hash for TuiSystems
Source§impl PartialEq for TuiSystems
impl PartialEq for TuiSystems
impl StructuralPartialEq for TuiSystems
Source§impl SystemSet for TuiSystems
impl SystemSet for TuiSystems
Source§fn system_type(&self) -> Option<TypeId>
fn system_type(&self) -> Option<TypeId>
Some if this system set is a SystemTypeSet.Source§fn is_anonymous(&self) -> bool
fn is_anonymous(&self) -> bool
true if this system set is an AnonymousSet.Auto Trait Implementations§
impl Freeze for TuiSystems
impl RefUnwindSafe for TuiSystems
impl Send for TuiSystems
impl Sync for TuiSystems
impl Unpin for TuiSystems
impl UnsafeUnpin for TuiSystems
impl UnwindSafe for TuiSystems
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,
impl<T> ConditionalSend for Twhere
T: Send,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
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 moreSource§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
Source§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
Source§impl<S> IntoScheduleConfigs<Interned<dyn SystemSet>, ()> for Swhere
S: SystemSet,
impl<S> IntoScheduleConfigs<Interned<dyn SystemSet>, ()> for Swhere
S: SystemSet,
Source§fn into_configs(self) -> ScheduleConfigs<Interned<dyn SystemSet>>
fn into_configs(self) -> ScheduleConfigs<Interned<dyn SystemSet>>
ScheduleConfigs.Source§fn in_set(self, set: impl SystemSet) -> ScheduleConfigs<T>
fn in_set(self, set: impl SystemSet) -> ScheduleConfigs<T>
set.Source§fn before<M>(self, set: impl IntoSystemSet<M>) -> ScheduleConfigs<T>
fn before<M>(self, set: impl IntoSystemSet<M>) -> ScheduleConfigs<T>
Source§fn after<M>(self, set: impl IntoSystemSet<M>) -> ScheduleConfigs<T>
fn after<M>(self, set: impl IntoSystemSet<M>) -> ScheduleConfigs<T>
Source§fn before_ignore_deferred<M>(
self,
set: impl IntoSystemSet<M>,
) -> ScheduleConfigs<T>
fn before_ignore_deferred<M>( self, set: impl IntoSystemSet<M>, ) -> ScheduleConfigs<T>
set. Read moreSource§fn after_ignore_deferred<M>(
self,
set: impl IntoSystemSet<M>,
) -> ScheduleConfigs<T>
fn after_ignore_deferred<M>( self, set: impl IntoSystemSet<M>, ) -> ScheduleConfigs<T>
set. Read moreSource§fn before_weak<M>(self, set: impl IntoSystemSet<M>) -> ScheduleConfigs<T>
fn before_weak<M>(self, set: impl IntoSystemSet<M>) -> ScheduleConfigs<T>
set that self actually conflicts with, leaving the rest
unordered. Read moreSource§fn after_weak<M>(self, set: impl IntoSystemSet<M>) -> ScheduleConfigs<T>
fn after_weak<M>(self, set: impl IntoSystemSet<M>) -> ScheduleConfigs<T>
set that self actually conflicts with, leaving the rest
unordered. Read moreSource§fn distributive_run_if<M>(
self,
condition: impl SystemCondition<M> + Clone,
) -> ScheduleConfigs<T>
fn distributive_run_if<M>( self, condition: impl SystemCondition<M> + Clone, ) -> ScheduleConfigs<T>
Source§fn run_if<M>(self, condition: impl SystemCondition<M>) -> ScheduleConfigs<T>
fn run_if<M>(self, condition: impl SystemCondition<M>) -> ScheduleConfigs<T>
Source§fn ambiguous_with<M>(self, set: impl IntoSystemSet<M>) -> ScheduleConfigs<T>
fn ambiguous_with<M>(self, set: impl IntoSystemSet<M>) -> ScheduleConfigs<T>
set.Source§fn ambiguous_with_all(self) -> ScheduleConfigs<T>
fn ambiguous_with_all(self) -> ScheduleConfigs<T>
Source§fn chain(self) -> ScheduleConfigs<T>
fn chain(self) -> ScheduleConfigs<T>
Source§fn chain_ignore_deferred(self) -> ScheduleConfigs<T>
fn chain_ignore_deferred(self) -> ScheduleConfigs<T>
Source§fn chain_weak(self) -> ScheduleConfigs<T>
fn chain_weak(self) -> ScheduleConfigs<T>
Source§impl<S> IntoSystemSet<()> for Swhere
S: SystemSet,
impl<S> IntoSystemSet<()> for Swhere
S: SystemSet,
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Template for T
impl<T> Template for T
Source§fn build_template(
&self,
_context: &mut TemplateContext<'_, '_>,
) -> Result<<T as Template>::Output, BevyError>
fn build_template( &self, _context: &mut TemplateContext<'_, '_>, ) -> Result<<T as Template>::Output, BevyError>
entity context to produce a Template::Output.Source§fn clone_template(&self) -> T
fn clone_template(&self) -> T
Clone.Source§impl<T> TypeData for T
impl<T> TypeData for T
Source§fn clone_type_data(&self) -> Box<dyn TypeData>
fn clone_type_data(&self) -> Box<dyn TypeData>
self.