pub struct AssetPicker { /* private fields */ }Expand description
Pick an emoji, a box style or a spinner. Returns the emoji, or the style’s or spinner’s name.
Implementations§
Source§impl AssetPicker
impl AssetPicker
pub fn new(prompt: impl Into<String>, kind: AssetKind) -> AssetPicker
pub fn kind(&self) -> AssetKind
pub fn preview(self, layout: PreviewLayout) -> Self
Sourcepub fn default(self, name: &str) -> Self
pub fn default(self, name: &str) -> Self
The asset with this name (an emoji’s shortcode name, a style’s or spinner’s name) is focused first, and returned without a terminal.
pub fn theme(self, theme: Theme) -> Self
Sourcepub fn with_mouse(self, on: bool) -> Self
pub fn with_mouse(self, on: bool) -> Self
Report the mouse: see Select::with_mouse.
pub fn action(&self) -> Option<&str>
pub fn items(&self) -> &[Item<String>]
Trait Implementations§
Source§impl Component for AssetPicker
impl Component for AssetPicker
Source§fn prompt(
&mut self,
io: &mut dyn LineIo,
) -> Result<Option<String>, NotInteractive>
fn prompt( &mut self, io: &mut dyn LineIo, ) -> Result<Option<String>, NotInteractive>
Without a terminal: a name, the best fuzzy match answering. The list is too long to print, so it is not listed.
type Output = String
Source§fn handle(&mut self, event: &Event, context: &Context<'_>) -> Flow<String>
fn handle(&mut self, event: &Event, context: &Context<'_>) -> Flow<String>
Handle one event. Ctrl+C never arrives here: the event loop ends the
component with
Outcome::Interrupted.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 default_value(&self) -> Option<String>
fn default_value(&self) -> Option<String>
The value to return when the terminal is not interactive and the
policy asks for defaults.
None: there is none.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 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 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 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.Auto Trait Implementations§
impl !Freeze for AssetPicker
impl !RefUnwindSafe for AssetPicker
impl !Sync for AssetPicker
impl !UnwindSafe for AssetPicker
impl Send for AssetPicker
impl Unpin for AssetPicker
impl UnsafeUnpin for AssetPicker
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.