pub struct PluginView { /* private fields */ }Expand description
Implementations§
Source§impl PluginView
impl PluginView
Sourcepub fn new(
name: impl Into<String>,
component: Box<dyn PluginComponent>,
) -> PluginView
pub fn new( name: impl Into<String>, component: Box<dyn PluginComponent>, ) -> PluginView
Wrap component, listing its keys under name.
Sourcepub fn mount(
registry: &ExtensionRegistry,
name: &str,
) -> Result<PluginView, UnknownComponent>
pub fn mount( registry: &ExtensionRegistry, name: &str, ) -> Result<PluginView, UnknownComponent>
A fresh instance of the component registered as name in
registry.
Sourcepub fn rebind(self, action: &str, keys: impl IntoIterator<Item = Key>) -> Self
pub fn rebind(self, action: &str, keys: impl IntoIterator<Item = Key>) -> Self
Make keys do the plugin’s action instead of the keys it declared.
Trait Implementations§
Source§impl Component for PluginView
impl Component for PluginView
type Output = String
Source§fn handle(&mut self, value: &Event, context: &Context<'_>) -> Flow<String>
fn handle(&mut self, value: &Event, context: &Context<'_>) -> Flow<String>
Handle one event. Ctrl+C never arrives here: the event loop ends the
component with
Outcome::Interrupted.Source§fn tick(&self) -> Option<Duration>
fn tick(&self) -> Option<Duration>
How often the component wants
Event::Tick, for a spinner or a
countdown. None (the default): never.Source§fn mouse(&self) -> bool
fn mouse(&self) -> bool
Whether the component wants mouse events (#476): clicks, drags and
the wheel. Off by default, since reporting the mouse takes text
selection away from the terminal; a component turns it on when its
caller opts in, and
run then enables mouse reporting
for the session.Source§fn keymap(&self) -> Keymap
fn keymap(&self) -> Keymap
The bindings this component has right now, for a help overlay, a
shortcut list or status-bar hints to read (see
keymap). A container’s include its focused
child’s, before its own. The default declares none.Source§fn focusable(&self) -> bool
fn focusable(&self) -> bool
Whether the component takes focus in a container: Tab stops on it
and keys go to it. The default: yes. A label, or a component that
has finished, says no.
Source§fn start(&mut self, context: &Context<'_>) -> Flow<Self::Output>
fn start(&mut self, context: &Context<'_>) -> Flow<Self::Output>
Called once, before the component is first painted, with the
terminal’s size: for work that needs it, such as rendering content
at the width. Returning
Done or Cancel finishes the component
without waiting for an event. The default does nothing.Source§fn focus_step(&mut self, forward: bool) -> bool
fn focus_step(&mut self, forward: bool) -> bool
Move focus to the next (
forward) or previous focus stop inside
this component, for Tab and Shift+Tab. false when there is none
after the current one, so the container moves on to its next
child. The default, for a component that is one stop: false.Source§fn focus_enter(&mut self, forward: bool) -> bool
fn focus_enter(&mut self, forward: bool) -> bool
Take focus from outside: at the first stop inside when
forward,
at the last otherwise. false when nothing in it can take focus.
The default: whether the component is focusable.Source§fn default_value(&self) -> Option<Self::Output>
fn default_value(&self) -> Option<Self::Output>
The value to return when the terminal is not interactive and the
policy asks for defaults.
None: there is none.Auto Trait Implementations§
impl !RefUnwindSafe for PluginView
impl !Sync for PluginView
impl !UnwindSafe for PluginView
impl Freeze for PluginView
impl Send for PluginView
impl Unpin for PluginView
impl UnsafeUnpin for PluginView
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
Mutably borrows from an owned value. Read more
Source§impl<C> ComponentExt for Cwhere
C: Component,
impl<C> ComponentExt for Cwhere
C: Component,
Source§fn map<'a, M>(
self,
done: impl FnMut(Self::Output) -> Flow<M> + 'a,
) -> Map<'a, Self, M>where
Self: 'a,
fn map<'a, M>(
self,
done: impl FnMut(Self::Output) -> Flow<M> + 'a,
) -> Map<'a, Self, M>where
Self: 'a,
Turn this component’s answer into
M’s flow: Flow::Done(m) to
finish the whole composition with m, Flow::Continue to carry on
(the component stays, showing its answer, and focus moves past it).
Cancelling cancels the composition unless
on_cancel says otherwise.