pub struct TextInputState<P = TextInputProvider>where
P: TextInputDataProvider,{ /* private fields */ }Expand description
Single-line text input widget state.
Wraps a single-field TextFormState. Editing, cursor, and movement methods
from the form are available directly, and the form can be reached explicitly
via TextInputState::form / TextInputState::form_mut.
With the validation and computed features enabled, the corresponding
helper methods are re-exposed as inherent methods on this type.
Implementations§
Source§impl<P> TextInputState<P>where
P: TextInputDataProvider,
impl<P> TextInputState<P>where
P: TextInputDataProvider,
pub fn with_provider(provider: P) -> TextInputState<P>
pub fn from_text<S>(text: S) -> TextInputState<P>
pub fn text(&self) -> String
pub fn set_text<S>(&mut self, text: S)
pub fn set_placeholder<S>(&mut self, s: S)
pub fn suggestion_suffix(&self) -> Option<&str>
pub fn set_suggestion_suffix<S>(&mut self, suffix: S)
pub fn clear_suggestion_suffix(&mut self)
pub fn accept_suggestion_suffix(&mut self) -> TextInputEventOutcome
pub fn set_overflow_indicator(&mut self, ch: char)
pub fn paste(&mut self, text: &str) -> TextInputEventOutcome
Sourcepub fn update_cursor_style(&self) -> Result<(), Error>
pub fn update_cursor_style(&self) -> Result<(), Error>
Update terminal cursor style for this single-line input.
Follows the editor’s current mode so that Helix/Vim-style modal editing produces the correct cursor: a steady block in normal mode, a beam in insert mode, and a blinking block for selections.
pub fn handle_event(&mut self, event: Event) -> TextInputEventOutcome
pub fn input(&mut self, key: KeyEvent) -> TextInputEventOutcome
pub fn cursor(&self, area: Rect, block: Option<&Block<'_>>) -> (u16, u16)
Source§impl<P> TextInputState<P>where
P: TextInputDataProvider,
impl<P> TextInputState<P>where
P: TextInputDataProvider,
Sourcepub fn form(&self) -> &TextFormState<P>
pub fn form(&self) -> &TextFormState<P>
Borrow the underlying TextFormState.
Sourcepub fn form_mut(&mut self) -> &mut TextFormState<P>
pub fn form_mut(&mut self) -> &mut TextFormState<P>
Mutably borrow the underlying TextFormState.
pub fn current_field(&self) -> usize
pub fn cursor_position(&self) -> usize
pub fn current_text(&self) -> &str
pub fn mode(&self) -> AppMode
pub fn ui_state(&self) -> &EditorState
pub fn data_provider(&self) -> &P
pub fn data_provider_mut(&mut self) -> &mut P
pub fn move_left(&mut self) -> Result<(), Error>
pub fn move_right(&mut self) -> Result<(), Error>
pub fn move_line_start(&mut self)
pub fn move_line_end(&mut self)
pub fn set_cursor_position(&mut self, position: usize)
pub fn enter_edit_mode(&mut self)
pub fn exit_edit_mode(&mut self) -> Result<(), Error>
pub fn insert_char(&mut self, ch: char) -> Result<(), Error>
pub fn insert_text(&mut self, text: &str) -> Result<(), Error>
pub fn set_current_field_value(&mut self, value: String)
pub fn delete_backward(&mut self) -> Result<(), Error>
pub fn delete_forward(&mut self) -> Result<(), Error>
Sourcepub fn move_word_next(&mut self)
pub fn move_word_next(&mut self)
Move to the start of the next word.
Sourcepub fn move_word_prev(&mut self)
pub fn move_word_prev(&mut self)
Move to the start of the previous word.
Sourcepub fn move_word_end(&mut self)
pub fn move_word_end(&mut self)
Move to the end of the current/next word.
Sourcepub fn move_word_end_prev(&mut self)
pub fn move_word_end_prev(&mut self)
Move to the end of the previous word.
Sourcepub fn move_big_word_next(&mut self)
pub fn move_big_word_next(&mut self)
Move to the start of the next WORD (whitespace-delimited, vim W).
Sourcepub fn move_big_word_prev(&mut self)
pub fn move_big_word_prev(&mut self)
Move to the start of the previous WORD (vim B).
Sourcepub fn move_big_word_end(&mut self)
pub fn move_big_word_end(&mut self)
Move to the end of the current/next WORD (vim E).
Sourcepub fn move_big_word_end_prev(&mut self)
pub fn move_big_word_end_prev(&mut self)
Move to the end of the previous WORD (vim gE).
Sourcepub fn enter_append_mode(&mut self)
pub fn enter_append_mode(&mut self)
Enter edit mode with the cursor positioned for append (vim a).
Sourcepub fn current_display_text(&self) -> String
pub fn current_display_text(&self) -> String
The current field’s display text (mask/formatter-aware when the
validation feature is enabled; otherwise the raw text).
Sourcepub fn display_cursor_position(&self) -> usize
pub fn display_cursor_position(&self) -> usize
Cursor position in display coordinates (accounts for a display mask).
Source§impl<P> TextInputState<P>where
P: TextInputDataProvider,
Validation helpers, re-exposed from the underlying TextFormState so they are
part of TextInputState’s own public API.
impl<P> TextInputState<P>where
P: TextInputDataProvider,
Validation helpers, re-exposed from the underlying TextFormState so they are
part of TextInputState’s own public API.
pub fn set_validation_enabled(&mut self, enabled: bool)
pub fn is_validation_enabled(&self) -> bool
pub fn set_field_validation( &mut self, field_index: usize, config: ValidationConfig, )
pub fn remove_field_validation(&mut self, field_index: usize)
pub fn validate_current_field(&mut self) -> ValidationResult
pub fn validate_field(&mut self, field_index: usize) -> Option<ValidationResult>
pub fn clear_validation_results(&mut self)
pub fn validation_summary(&self) -> ValidationSummary
pub fn can_switch_fields(&self) -> bool
pub fn field_switch_block_reason(&self) -> Option<String>
pub fn last_switch_block(&self) -> Option<&str>
pub fn current_limits_status_text(&self) -> Option<String>
pub fn current_formatter_warning(&self) -> Option<String>
pub fn external_validation_of( &self, field_index: usize, ) -> ExternalValidationState
pub fn clear_all_external_validation(&mut self)
pub fn clear_external_validation(&mut self, field_index: usize)
pub fn set_external_validation( &mut self, field_index: usize, state: ExternalValidationState, )
pub fn set_external_validation_callback<F>(&mut self, callback: F)
Source§impl<P> TextInputState<P>where
P: TextInputDataProvider,
Computed-field helpers, re-exposed from the underlying TextFormState.
impl<P> TextInputState<P>where
P: TextInputDataProvider,
Computed-field helpers, re-exposed from the underlying TextFormState.
pub fn register_computed_provider<C>(&mut self, provider: &C)where
C: ComputedProvider,
pub fn set_computed_provider<C>(&mut self, provider: C)where
C: ComputedProvider,
pub fn recompute_fields<C>(&mut self, provider: &mut C, field_indices: &[usize])where
C: ComputedProvider,
pub fn recompute_all_fields<C>(&mut self, provider: &mut C)where
C: ComputedProvider,
pub fn on_field_changed<C>(&mut self, provider: &mut C, changed_field: usize)where
C: ComputedProvider,
pub fn effective_field_value(&self, field_index: usize) -> String
Source§impl<P> TextInputState<P>where
P: TextInputDataProvider,
Undo/redo, re-exposed from the underlying TextFormState.
impl<P> TextInputState<P>where
P: TextInputDataProvider,
Undo/redo, re-exposed from the underlying TextFormState.
Source§impl<P> TextInputState<P>where
P: TextInputDataProvider,
Dropdown suggestions, re-exposed from the underlying TextFormState so that
TextInput, TextArea, and TextFormState all share one suggestions
mechanism. Render the dropdown with
canvas::suggestions::render::render_suggestions_dropdown(.., self.form()).
impl<P> TextInputState<P>where
P: TextInputDataProvider,
Dropdown suggestions, re-exposed from the underlying TextFormState so that
TextInput, TextArea, and TextFormState all share one suggestions
mechanism. Render the dropdown with
canvas::suggestions::render::render_suggestions_dropdown(.., self.form()).
This is distinct from the lightweight inline-suffix completion
(TextInputState::set_suggestion_suffix), which TextInput also offers.
pub fn open_suggestions(&mut self, field_index: usize)
pub fn check_suggestion_trigger(&mut self)
pub fn trigger_suggestions(&mut self) -> Option<(usize, String)>
pub fn apply_suggestions(&mut self, items: Vec<SuggestionItem>)
pub fn update_suggestions(&mut self, items: Vec<SuggestionItem>)
pub fn dismiss_suggestions(&mut self)
pub fn cancel_suggestions(&mut self)
pub fn suggestions_next(&mut self)
pub fn suggestions_prev(&mut self)
pub fn apply_suggestion(&mut self) -> Option<String>
pub fn is_suggestions_active(&self) -> bool
pub fn is_suggestions_loading(&self) -> bool
pub fn dropdown_suggestions(&self) -> &[SuggestionItem]
Methods from Deref<Target = TextFormState<P>>§
pub fn core(&self) -> &EditorCore<D>
pub fn fixed_field_count(&self) -> usize
pub fn handle_event(&mut self, event: Event) -> TextFormEventOutcome
pub fn paste(&mut self, text: &str) -> TextFormEventOutcome
pub fn input(&mut self, key: KeyEvent) -> TextFormEventOutcome
pub fn handle_key_event(&mut self, evt: KeyEvent) -> KeyEventOutcome
Sourcepub fn is_sequence_pending(&self) -> bool
pub fn is_sequence_pending(&self) -> bool
Whether a multi-key command (key sequence, count, or pending operator) is in flight, so a host should keep routing keys here rather than letting an outer keymap claim the next stroke.
pub fn update_cursor_style(&self) -> Result<(), Error>
pub fn cursor(&self, area: Rect, block: Option<&Block<'_>>) -> (u16, u16)
pub fn use_keybinding_preset(&mut self, preset: BuiltinCanvasKeybindingPreset)
pub fn set_keybindings(&mut self, keybindings: CanvasKeyBindings)
pub fn clear_current_field(&mut self)
pub fn clear_field(&mut self, field_index: usize)
pub fn clear_current_and_following_fields(&mut self, count: usize)
pub fn change_current_field(&mut self)
pub fn delete_to_field_end(&mut self)
pub fn execute(&mut self, action: CanvasAction) -> ActionResult
pub fn undo(&mut self) -> bool
pub fn redo(&mut self) -> bool
Methods from Deref<Target = EditorCore<D>>§
Sourcepub fn execute(&mut self, action: CanvasAction) -> ActionResult
pub fn execute(&mut self, action: CanvasAction) -> ActionResult
Execute a CanvasAction on this editor instance.
Sourcepub fn set_keybindings(&mut self, keybindings: CanvasKeyBindings)
pub fn set_keybindings(&mut self, keybindings: CanvasKeyBindings)
Set the keybindings for this editor instance.
Sourcepub fn set_keybinding_preset(&mut self, preset: BuiltinCanvasKeybindingPreset)
pub fn set_keybinding_preset(&mut self, preset: BuiltinCanvasKeybindingPreset)
Install a built-in keybinding preset and its editing paradigm.
Sourcepub fn has_keybindings(&self) -> bool
pub fn has_keybindings(&self) -> bool
Check if this editor has keybindings configured.
Sourcepub fn set_key_sequence_timeout_ms(&mut self, timeout_ms: u64)
pub fn set_key_sequence_timeout_ms(&mut self, timeout_ms: u64)
Set the timeout for multi-key sequences (in milliseconds)
pub fn current_text(&self) -> &str
pub fn current_field(&self) -> usize
pub fn cursor_position(&self) -> usize
pub fn mode(&self) -> AppMode
pub fn is_suggestions_active(&self) -> bool
pub fn ui_state(&self) -> &EditorState
pub fn data_provider(&self) -> &D
pub fn data_provider_mut(&mut self) -> &mut D
pub fn suggestions(&self) -> &[SuggestionItem]
pub fn validation_state(&self) -> &ValidationState
pub fn cleanup_cursor(&self) -> Result<(), Error>
Sourcepub fn current_display_text(&self) -> String
pub fn current_display_text(&self) -> String
Get current field text for display.
Sourcepub fn display_text_for_field(&self, field_index: usize) -> String
pub fn display_text_for_field(&self, field_index: usize) -> String
Get effective display text for any field index (Feature 4 + masks).
Sourcepub fn display_cursor_position(&self) -> usize
pub fn display_cursor_position(&self) -> usize
Map raw cursor to display position (formatter/mask aware).
Sourcepub fn open_line_below(&mut self) -> Result<(), Error>
pub fn open_line_below(&mut self) -> Result<(), Error>
Open new line below (vim o)
Sourcepub fn open_line_above(&mut self) -> Result<(), Error>
pub fn open_line_above(&mut self) -> Result<(), Error>
Open new line above (vim O)
Sourcepub fn insert_char(&mut self, ch: char) -> Result<(), Error>
pub fn insert_char(&mut self, ch: char) -> Result<(), Error>
Handle character insertion (mask/limit-aware)
Sourcepub fn insert_text(&mut self, text: &str) -> Result<(), Error>
pub fn insert_text(&mut self, text: &str) -> Result<(), Error>
Insert plain text at the current cursor position.
This intentionally treats the input as a character stream and reuses
insert_char so validation, masking, and suggestions continue to flow
through the existing editing logic.
Sourcepub fn delete_backward(&mut self) -> Result<(), Error>
pub fn delete_backward(&mut self) -> Result<(), Error>
Delete backward (backspace)
Sourcepub fn delete_forward(&mut self) -> Result<(), Error>
pub fn delete_forward(&mut self) -> Result<(), Error>
Delete forward (Delete key)
Sourcepub fn enter_append_mode(&mut self)
pub fn enter_append_mode(&mut self)
Enter edit mode with cursor positioned for append (vim ‘a’)
Sourcepub fn set_current_field_value(&mut self, value: String)
pub fn set_current_field_value(&mut self, value: String)
Set current field value (validates under feature flag)
Sourcepub fn set_field_value(&mut self, field_index: usize, value: String)
pub fn set_field_value(&mut self, field_index: usize, value: String)
Set specific field value by index (validates under feature flag)
Sourcepub fn clear_current_field(&mut self)
pub fn clear_current_field(&mut self)
Clear the current field
Sourcepub fn undo(&mut self) -> bool
pub fn undo(&mut self) -> bool
Undo the most recent edit (or run). Returns false if there is nothing
to undo.
Sourcepub fn redo(&mut self) -> bool
pub fn redo(&mut self) -> bool
Redo the most recently undone edit. Returns false if there is nothing
to redo.
Sourcepub fn clear_history(&mut self)
pub fn clear_history(&mut self)
Clear all undo/redo history.
Sourcepub fn set_history_limit(&mut self, limit: usize)
pub fn set_history_limit(&mut self, limit: usize)
Set the maximum number of retained undo steps (oldest dropped first).
Sourcepub fn set_history_enabled(&mut self, enabled: bool)
pub fn set_history_enabled(&mut self, enabled: bool)
Enable or disable undo/redo history capture (enabled by default).
While disabled, edits do not record checkpoints, so apps that don’t want undo — or want to avoid the per-edit snapshot cost — can switch it off. Existing history is cleared when disabling.
Sourcepub fn is_history_enabled(&self) -> bool
pub fn is_history_enabled(&self) -> bool
Whether undo/redo history capture is currently enabled.
Sourcepub fn update_inline_completion(&mut self)
pub fn update_inline_completion(&mut self)
Update UI state’s completion text from current selection
Sourcepub fn open_suggestions(&mut self, field_index: usize)
pub fn open_suggestions(&mut self, field_index: usize)
Open the suggestions UI for field_index
Sourcepub fn trigger_suggestions(&mut self) -> Option<(usize, String)>
pub fn trigger_suggestions(&mut self) -> Option<(usize, String)>
Trigger suggestions - opens UI and returns request info for client to fetch data. Client should fetch data and call apply_suggestions(). Returns Some((field_index, query)) if suggestions can be triggered, None otherwise.
Sourcepub fn apply_suggestions(&mut self, items: Vec<SuggestionItem>)
pub fn apply_suggestions(&mut self, items: Vec<SuggestionItem>)
Apply fetched suggestions from client - opens UI with the provided items.
Sourcepub fn update_suggestions(&mut self, items: Vec<SuggestionItem>)
pub fn update_suggestions(&mut self, items: Vec<SuggestionItem>)
Update suggestions with new query results - adjusts selection if needed.
Sourcepub fn dismiss_suggestions(&mut self)
pub fn dismiss_suggestions(&mut self)
Dismiss suggestions - closes UI and clears data.
Sourcepub fn check_suggestion_trigger(&mut self)
pub fn check_suggestion_trigger(&mut self)
Check suggestion trigger condition and update suggestions accordingly. This is called automatically when entering insert mode or changing text.
Sourcepub fn handle_escape_readonly(&mut self)
pub fn handle_escape_readonly(&mut self)
Handle Escape key in normal mode (closes suggestions if active)
pub fn cancel_suggestions(&mut self)
pub fn suggestions_next(&mut self)
pub fn suggestions_prev(&mut self)
pub fn apply_suggestion(&mut self) -> Option<String>
pub fn set_validation_enabled(&mut self, enabled: bool)
pub fn is_validation_enabled(&self) -> bool
pub fn set_field_validation( &mut self, field_index: usize, config: ValidationConfig, )
pub fn remove_field_validation(&mut self, field_index: usize)
pub fn validate_current_field(&mut self) -> ValidationResult
pub fn validate_field(&mut self, field_index: usize) -> Option<ValidationResult>
pub fn clear_validation_results(&mut self)
pub fn validation_summary(&self) -> ValidationSummary
pub fn can_switch_fields(&self) -> bool
pub fn field_switch_block_reason(&self) -> Option<String>
pub fn last_switch_block(&self) -> Option<&str>
pub fn current_limits_status_text(&self) -> Option<String>
pub fn current_formatter_warning(&self) -> Option<String>
pub fn external_validation_of( &self, field_index: usize, ) -> ExternalValidationState
pub fn clear_all_external_validation(&mut self)
pub fn clear_external_validation(&mut self, field_index: usize)
pub fn set_external_validation( &mut self, field_index: usize, state: ExternalValidationState, )
pub fn set_external_validation_callback<F>(&mut self, callback: F)
pub fn register_computed_provider<C>(&mut self, provider: &C)where
C: ComputedProvider,
pub fn set_computed_provider<C>(&mut self, provider: C)where
C: ComputedProvider,
pub fn recompute_fields<C>(&mut self, provider: &mut C, field_indices: &[usize])where
C: ComputedProvider,
pub fn recompute_all_fields<C>(&mut self, provider: &mut C)where
C: ComputedProvider,
pub fn on_field_changed<C>(&mut self, provider: &mut C, changed_field: usize)where
C: ComputedProvider,
pub fn effective_field_value(&self, field_index: usize) -> String
Sourcepub fn exit_edit_mode(&mut self) -> Result<(), Error>
pub fn exit_edit_mode(&mut self) -> Result<(), Error>
Exit insert mode to normal mode
Sourcepub fn enter_edit_mode(&mut self)
pub fn enter_edit_mode(&mut self)
Enter insert mode
pub fn enter_highlight_mode(&mut self)
pub fn enter_highlight_line_mode(&mut self)
pub fn exit_highlight_mode(&mut self)
pub fn is_highlight_mode(&self) -> bool
pub fn selection_state(&self) -> &SelectionState
pub fn move_left_with_selection(&mut self)
pub fn move_right_with_selection(&mut self)
pub fn move_up_with_selection(&mut self)
pub fn move_down_with_selection(&mut self)
pub fn move_word_next_with_selection(&mut self)
pub fn move_word_end_with_selection(&mut self)
pub fn move_word_prev_with_selection(&mut self)
pub fn move_word_end_prev_with_selection(&mut self)
pub fn move_big_word_next_with_selection(&mut self)
pub fn move_big_word_end_with_selection(&mut self)
pub fn move_big_word_prev_with_selection(&mut self)
pub fn move_big_word_end_prev_with_selection(&mut self)
pub fn move_line_start_with_selection(&mut self)
pub fn move_line_end_with_selection(&mut self)
Sourcepub fn move_left(&mut self) -> Result<(), Error>
pub fn move_left(&mut self) -> Result<(), Error>
Move cursor left within current field (mask-aware)
Sourcepub fn move_right(&mut self) -> Result<(), Error>
pub fn move_right(&mut self) -> Result<(), Error>
Move cursor right within current field (mask-aware)
Sourcepub fn move_line_start(&mut self)
pub fn move_line_start(&mut self)
Move to start of current field (vim 0)
Sourcepub fn move_line_end(&mut self)
pub fn move_line_end(&mut self)
Move to end of current field (vim $)
Sourcepub fn set_cursor_position(&mut self, position: usize)
pub fn set_cursor_position(&mut self, position: usize)
Set cursor to exact position (for f/F/t/T etc.)
Sourcepub fn move_word_next(&mut self)
pub fn move_word_next(&mut self)
Move to start of next word (vim w) - can cross field boundaries
Sourcepub fn move_word_prev(&mut self)
pub fn move_word_prev(&mut self)
Move to start of previous word (vim b) - can cross field boundaries
Sourcepub fn move_word_end(&mut self)
pub fn move_word_end(&mut self)
Move to end of current/next word (vim e) - can cross field boundaries
Sourcepub fn move_word_end_prev(&mut self)
pub fn move_word_end_prev(&mut self)
Move to end of previous word (vim ge) - can cross field boundaries
Sourcepub fn move_big_word_next(&mut self)
pub fn move_big_word_next(&mut self)
Move to start of next big_word (vim W) - can cross field boundaries
Sourcepub fn move_big_word_prev(&mut self)
pub fn move_big_word_prev(&mut self)
Move to start of previous big_word (vim B) - can cross field boundaries
Sourcepub fn move_big_word_end(&mut self)
pub fn move_big_word_end(&mut self)
Move to end of current/next big_word (vim E) - can cross field boundaries
Sourcepub fn move_big_word_end_prev(&mut self)
pub fn move_big_word_end_prev(&mut self)
Move to end of previous big_word (vim gE) - can cross field boundaries
pub fn transition_to_field(&mut self, new_field: usize) -> Result<(), Error>
Sourcepub fn move_first_line(&mut self) -> Result<(), Error>
pub fn move_first_line(&mut self) -> Result<(), Error>
Move to first line (vim gg)
Sourcepub fn move_last_line(&mut self) -> Result<(), Error>
pub fn move_last_line(&mut self) -> Result<(), Error>
Move to last line (vim G)
Sourcepub fn move_up(&mut self) -> bool
pub fn move_up(&mut self) -> bool
Move to previous field (vim k / up) Returns true if moved, false if already at top
Sourcepub fn move_down(&mut self) -> bool
pub fn move_down(&mut self) -> bool
Move to next field (vim j / down) Returns true if moved, false if already at bottom
Sourcepub fn move_to_next_field(&mut self) -> Result<(), Error>
pub fn move_to_next_field(&mut self) -> Result<(), Error>
Move to next field cyclic
pub fn prev_field(&mut self) -> bool
pub fn next_field(&mut self) -> bool
Trait Implementations§
Source§impl<P> CanvasTextInputHost for TextInputState<P>where
P: TextInputDataProvider,
impl<P> CanvasTextInputHost for TextInputState<P>where
P: TextInputDataProvider,
fn mode(&self) -> AppMode
fn text(&self) -> String
fn has_keybindings(&self) -> bool
fn install_keybindings(&mut self, bindings: CanvasKeyBindings)
Source§fn is_sequence_pending(&self) -> bool
fn is_sequence_pending(&self) -> bool
fn input_key(&mut self, key: KeyEvent) -> CanvasKeyDispatchOutcome
Source§fn accept_suggestion_suffix(&mut self) -> bool
fn accept_suggestion_suffix(&mut self) -> bool
Source§fn paste(&mut self, text: &str) -> bool
fn paste(&mut self, text: &str) -> bool
fn set_suggestion_suffix(&mut self, suffix: String)
fn clear_suggestion_suffix(&mut self)
fn exit_edit_mode(&mut self)
fn dispatch_canvas_action(&mut self, action: CanvasAction) -> HostActionOutcome
Source§impl<P> Default for TextInputState<P>where
P: TextInputDataProvider + Default,
impl<P> Default for TextInputState<P>where
P: TextInputDataProvider + Default,
Source§fn default() -> TextInputState<P>
fn default() -> TextInputState<P>
Source§impl<P> Deref for TextInputState<P>where
P: TextInputDataProvider,
impl<P> Deref for TextInputState<P>where
P: TextInputDataProvider,
Source§type Target = TextFormState<P>
type Target = TextFormState<P>
Source§impl<P> DerefMut for TextInputState<P>where
P: TextInputDataProvider,
impl<P> DerefMut for TextInputState<P>where
P: TextInputDataProvider,
Auto Trait Implementations§
impl<P = TextInputProvider> !RefUnwindSafe for TextInputState<P>
impl<P = TextInputProvider> !UnwindSafe for TextInputState<P>
impl<P> Freeze for TextInputState<P>where
P: Freeze,
impl<P> Send for TextInputState<P>where
P: Send,
impl<P> Sync for TextInputState<P>where
P: Sync,
impl<P> Unpin for TextInputState<P>where
P: Unpin,
impl<P> UnsafeUnpin for TextInputState<P>where
P: UnsafeUnpin,
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> 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