Struct modalkit::editing::key::KeyManager
source · pub struct KeyManager<K, A, S>where
K: InputKey,{ /* private fields */ }
Expand description
Wraps keybindings so that they can be fed simulated keypresses from macros.
Implementations§
source§impl<K, A, S> KeyManager<K, A, S>where
K: InputKey,
impl<K, A, S> KeyManager<K, A, S>where
K: InputKey,
sourcepub fn new<B: BindingMachine<K, A, S, EditContext> + 'static>(
bindings: B
) -> Self
pub fn new<B: BindingMachine<K, A, S, EditContext> + 'static>( bindings: B ) -> Self
Create a new instance.
sourcepub fn macro_command<I: ApplicationInfo>(
&mut self,
act: &MacroAction,
ctx: &EditContext,
store: &mut Store<I>
) -> EditResult<EditInfo, I>where
K: InputKey<Error = MacroError>,
pub fn macro_command<I: ApplicationInfo>(
&mut self,
act: &MacroAction,
ctx: &EditContext,
store: &mut Store<I>
) -> EditResult<EditInfo, I>where
K: InputKey<Error = MacroError>,
Process a macro action.
Trait Implementations§
source§impl<K, A, S> BindingMachine<K, A, S, EditContext> for KeyManager<K, A, S>
impl<K, A, S> BindingMachine<K, A, S, EditContext> for KeyManager<K, A, S>
source§fn pop(&mut self) -> Option<(A, EditContext)>
fn pop(&mut self) -> Option<(A, EditContext)>
Fetch the next action produced by previously typed keys.
source§fn context(&mut self) -> EditContext
fn context(&mut self) -> EditContext
Get current output context after the most recent keypress.
source§fn show_dialog(&mut self, max_rows: usize, max_cols: usize) -> Vec<Cow<'_, str>>
fn show_dialog(&mut self, max_rows: usize, max_cols: usize) -> Vec<Cow<'_, str>>
Returns the message to display for the current interactive dialog, if there is one. Read more
source§fn show_mode(&self) -> Option<String>
fn show_mode(&self) -> Option<String>
Returns a user-friendly string to display for the current mode.
source§fn get_cursor_indicator(&self) -> Option<char>
fn get_cursor_indicator(&self) -> Option<char>
Returns a character to show for the cursor.
source§fn repeat(&mut self, seq: S, other: Option<EditContext>)
fn repeat(&mut self, seq: S, other: Option<EditContext>)
Repeat a recent sequence of tracked actions, and optionally override their original
contexts using InputState::merge. The repeated sequence will be inserted at
the beginning of the action queue, before any other pending actions. Read more
source§fn run_dialog(&mut self, dialog: Box<dyn Dialog<A>>)
fn run_dialog(&mut self, dialog: Box<dyn Dialog<A>>)
Start an interactive user dialog.
Auto Trait Implementations§
impl<K, A, S> Freeze for KeyManager<K, A, S>
impl<K, A, S> !RefUnwindSafe for KeyManager<K, A, S>
impl<K, A, S> !Send for KeyManager<K, A, S>
impl<K, A, S> !Sync for KeyManager<K, A, S>
impl<K, A, S> Unpin for KeyManager<K, A, S>where
K: Unpin,
impl<K, A, S> !UnwindSafe for KeyManager<K, A, S>
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<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>
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
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
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)
Convert
&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)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.