Struct rat_input::masked_input::MaskedInputState
source · pub struct MaskedInputState {
pub cursor: Position,
pub area: Rect,
pub mouse: MouseFlags,
pub value: InputMaskCore,
pub non_exhaustive: NonExhaustive,
}Expand description
State of the input-mask.
Fields§
§cursor: PositionThe position of the cursor in screen coordinates. Can be directly used for [Frame::set_cursor()]
area: RectArea
mouse: MouseFlagsMouse selection in progress.
value: InputMaskCoreEditing core.
non_exhaustive: NonExhaustiveConstruct with ..Default::default()
Implementations§
source§impl MaskedInputState
impl MaskedInputState
pub fn new() -> Self
pub fn new_with_symbols(sym: NumberSymbols) -> Self
sourcepub fn set_offset(&mut self, offset: usize)
pub fn set_offset(&mut self, offset: usize)
Offset shown. This is corrected if the cursor wouldn’t be visible.
sourcepub fn set_cursor(&mut self, cursor: usize, extend_selection: bool)
pub fn set_cursor(&mut self, cursor: usize, extend_selection: bool)
Set the cursor position, reset selection.
sourcepub fn set_default_cursor(&mut self)
pub fn set_default_cursor(&mut self)
Place cursor at decimal separator, if any. 0 otherwise.
sourcepub fn set_display_mask<S: Into<String>>(&mut self, s: S)
pub fn set_display_mask<S: Into<String>>(&mut self, s: S)
Set the display mask. This text is used for parts that have no valid input yet. Part means consecutive characters of the input mask with the same mask type.
There is a default representation for each mask type if this is not set.
If the length differs from the mask, the difference will be ignored / filled with defaults.
sourcepub fn display_mask(&self) -> String
pub fn display_mask(&self) -> String
Display mask.
sourcepub fn set_mask<S: AsRef<str>>(&mut self, s: S) -> Result<(), Error>
pub fn set_mask<S: AsRef<str>>(&mut self, s: S) -> Result<(), Error>
Set the input mask. This overwrites the display mask and the value with a default representation of the mask.
The result value contains all punctuation and the value given as ‘display’ below. See compact_value().
-
0: can enter digit, display as 0 -
9: can enter digit, display as space -
#: digit, plus or minus sign, display as space -
+: sign. display ‘+’ for positive -
-: sign. display ’ ’ for positive -
.and,: decimal and grouping separators -
H: must enter a hex digit, display as 0 -
h: can enter a hex digit, display as space -
O: must enter an octal digit, display as 0 -
o: can enter an octal digit, display as space -
D: must enter a decimal digit, display as 0 -
d: can enter a decimal digit, display as space -
l: can enter letter, display as space -
a: can enter letter or digit, display as space -
c: can enter character or space, display as space -
_: anything, display as space -
:;-/: separator characters move the cursor when entered. -
\: escapes the following character and uses it as a separator. -
all other ascii characters a reserved.
sourcepub fn debug_mask(&self) -> String
pub fn debug_mask(&self) -> String
Mask with some debug information.
sourcepub fn set_num_symbols(&mut self, sym: NumberSymbols)
pub fn set_num_symbols(&mut self, sym: NumberSymbols)
Set symbols for number display.
These are only used for rendering and to map user input. The value itself uses “.”, “,” and “-”.
sourcepub fn default_value(&self) -> String
pub fn default_value(&self) -> String
Create a default value according to the mask.
sourcepub fn set_value<S: Into<String>>(&mut self, s: S)
pub fn set_value<S: Into<String>>(&mut self, s: S)
Set the value.
No checks if the value conforms to the mask. If the value is too short it will be filled with space. if the value is too long it will be truncated.
sourcepub fn value(&self) -> &str
pub fn value(&self) -> &str
Value with all punctuation and default values according to the mask type.
sourcepub fn value_parts(&self) -> Vec<String>
pub fn value_parts(&self) -> Vec<String>
Value split along any separators
sourcepub fn compact_value(&self) -> String
pub fn compact_value(&self) -> String
Value without optional whitespace and grouping separators. Might be easier to parse.
sourcepub fn has_selection(&self) -> bool
pub fn has_selection(&self) -> bool
Selection
sourcepub fn set_selection(&mut self, anchor: usize, cursor: usize)
pub fn set_selection(&mut self, anchor: usize, cursor: usize)
Selection
sourcepub fn select_all(&mut self)
pub fn select_all(&mut self)
Selection
sourcepub fn selection_str(&self) -> &str
pub fn selection_str(&self) -> &str
Selection
sourcepub fn set_offset_relative_cursor(
&mut self,
rpos: isize,
extend_selection: bool
)
pub fn set_offset_relative_cursor( &mut self, rpos: isize, extend_selection: bool )
Set the cursor position from a visual position relative to the origin.
sourcepub fn visual_cursor(&self) -> Position
pub fn visual_cursor(&self) -> Position
The current text cursor as a absolute screen position.
sourcepub fn prev_word_boundary(&self) -> usize
pub fn prev_word_boundary(&self) -> usize
Previous word boundary.
sourcepub fn next_word_boundary(&self) -> usize
pub fn next_word_boundary(&self) -> usize
Next word boundary.
sourcepub fn move_to_next(&mut self, extend_selection: bool)
pub fn move_to_next(&mut self, extend_selection: bool)
Move to the next char.
sourcepub fn move_to_prev(&mut self, extend_selection: bool)
pub fn move_to_prev(&mut self, extend_selection: bool)
Move to the previous char.
sourcepub fn insert_char(&mut self, c: char) -> Result<(), Error>
pub fn insert_char(&mut self, c: char) -> Result<(), Error>
Insert a char at the current position.
sourcepub fn remove_selection(&mut self, selection: Range<usize>) -> Result<(), Error>
pub fn remove_selection(&mut self, selection: Range<usize>) -> Result<(), Error>
Remove the selected range. The text will be replaced with the default value as defined by the mask.
sourcepub fn delete_prev_char(&mut self) -> Result<(), Error>
pub fn delete_prev_char(&mut self) -> Result<(), Error>
Delete the char before the cursor.
sourcepub fn delete_next_char(&mut self) -> Result<(), Error>
pub fn delete_next_char(&mut self) -> Result<(), Error>
Delete the char after the cursor.
Trait Implementations§
source§impl Clone for MaskedInputState
impl Clone for MaskedInputState
source§fn clone(&self) -> MaskedInputState
fn clone(&self) -> MaskedInputState
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more