[−][src]Struct unsegen::widget::builtin::promptline::PromptLine
A widget implementing "readline"-like functionality.
Basically a more sophisticated version of LineEdit
with history.
Fields
line: LineEdit
Implementations
impl PromptLine
[src]
pub fn with_prompt(prompt: String) -> Self
[src]
Construct a PromptLine with the given symbol that will be displayed left of the LineEdit
for user interaction.
pub fn set_prompt(&mut self, prompt: String)
[src]
Change the symbol left of the user editable section.
pub fn previous_line(&self, n: usize) -> Option<&str>
[src]
Get the n
'th line from the history.
pub fn active_line(&self) -> &str
[src]
Get the current content of the LineEdit
pub fn finish_line(&mut self) -> &str
[src]
Mark the current content as "accepted", e.g., if the user has entered and submitted a command.
This adds the current line to the front of the history buffer.
Methods from Deref<Target = LineEdit>
pub fn get(&self) -> &str
[src]
Get the current content.
pub fn set(&mut self, text: impl Into<String>)
[src]
Set (and overwrite) the current content. The cursor will be placed at the very end of the line.
pub fn move_cursor_to_end_of_line(&mut self)
[src]
Move the cursor to the end, i.e., behind the last grapheme cluster.
pub fn move_cursor_to_beginning_of_line(&mut self)
[src]
Move the cursor to the beginning, i.e., onto the first grapheme cluster.
pub fn move_cursor_right(&mut self) -> Result<(), ()>
[src]
Move the cursor one grapheme cluster to the right if possible.
pub fn move_cursor_left(&mut self) -> Result<(), ()>
[src]
Move the cursor one grapheme cluster to the left if possible.
pub fn insert(&mut self, text: &str)
[src]
Insert text directly before the current cursor position
pub fn cursor_pos(&self) -> usize
[src]
Returns the byte position of the cursor in the current text (obtainable by get
)
pub fn set_cursor_pos(&mut self, pos: usize) -> Result<(), ()>
[src]
Set the cursor by specifying its position as the byte position in the displayed string.
If the byte position does not correspond to (the start of) a grapheme cluster in the string or the end of the string, an error is returned and the cursor position is left unchanged.
Examples:
use unsegen::widget::builtin::LineEdit; let mut l = LineEdit::new(); l.set("löl"); assert!(l.set_cursor_pos(0).is_ok()); // |löl assert!(l.set_cursor_pos(1).is_ok()); // l|öl assert!(l.set_cursor_pos(2).is_err()); assert!(l.set_cursor_pos(3).is_ok()); // lö|l assert!(l.set_cursor_pos(4).is_ok()); // löl| assert!(l.set_cursor_pos(5).is_err());
Trait Implementations
impl Deref for PromptLine
[src]
impl DerefMut for PromptLine
[src]
impl Editable for PromptLine
[src]
fn delete_forwards(&mut self) -> OperationResult
[src]
fn delete_backwards(&mut self) -> OperationResult
[src]
fn go_to_beginning_of_line(&mut self) -> OperationResult
[src]
fn go_to_end_of_line(&mut self) -> OperationResult
[src]
fn clear(&mut self) -> OperationResult
[src]
impl Navigatable for PromptLine
[src]
fn move_up(&mut self) -> OperationResult
[src]
fn move_down(&mut self) -> OperationResult
[src]
fn move_left(&mut self) -> OperationResult
[src]
fn move_right(&mut self) -> OperationResult
[src]
impl Scrollable for PromptLine
[src]
fn scroll_forwards(&mut self) -> OperationResult
[src]
fn scroll_backwards(&mut self) -> OperationResult
[src]
fn scroll_to_beginning(&mut self) -> OperationResult
[src]
fn scroll_to_end(&mut self) -> OperationResult
[src]
impl Widget for PromptLine
[src]
fn space_demand(&self) -> Demand2D
[src]
fn draw(&self, window: Window<'_>, hints: RenderingHints)
[src]
impl Writable for PromptLine
[src]
fn write(&mut self, c: char) -> OperationResult
[src]
Auto Trait Implementations
impl RefUnwindSafe for PromptLine
impl Send for PromptLine
impl Sync for PromptLine
impl Unpin for PromptLine
impl UnwindSafe for PromptLine
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,