EnterStringPage

Struct EnterStringPage 

Source
pub struct EnterStringPage<'a, T> {
    pub basic: BasicPage,
    pub buffer: String,
    /* private fields */
}
Expand description

Page that allows to enter an ascii string composed of fixed set of characters.

Interaction is as follows:

  • entering the page -> previous collected characters are shown

  • entering the page first time -> factory default collected characters are shown

  • next - selects the next character from the set of allowed characters

  • previous - selects the previous character from the set of allowed characthers

  • action - appends the selected character to the so far collected characters

  • back - removes (most right character from the collected characters)

  • home - leaves the page with UP-navigation

If previous button does not exist, next starts at the beginning after reaching the end.

Back can be emulated with next and action if not available. Home can be emulated with next and action if not available.

Fields§

§basic: BasicPage§buffer: String

Implementations§

Source§

impl<'a, T: Copy + FromStr + Display> EnterStringPage<'a, T>
where <T as FromStr>::Err: Debug,

Source

pub fn new( basic: BasicPage, allowed_characters: &'static str, back: Option<&'static str>, up: Option<&'static str>, value: &'a CellSetting<T>, ) -> Self

Source

pub fn action_string(&self) -> &'static str

Process the action input

Action is one of:

  • Add the selected character to internal buffer
  • Remove last from internal buffer
  • Finish the page and return to upper page.
    • Side effect: Update the value it page cares for

h2. Args

Trait Implementations§

Source§

impl<T> PageBaseInterface for EnterStringPage<'_, T>

Source§

fn update<'a>( &mut self, _title_of_subpages: Option<Box<dyn Iterator<Item = &'a str> + 'a>>, ) -> Result<PageNavigation, PageError>

Trigger a page-internal update and causes page-internal state modification Read more
Source§

fn title(&self) -> &str

Every page has a title - default is empty &str
Source§

impl<T: Copy + FromStr + Display> PageInteractionInterface for EnterStringPage<'_, T>
where <T as FromStr>::Err: Debug,

Source§

fn dispatch(&mut self, interaction: Interaction) -> PageNavigation

Handle page interaction Read more

Auto Trait Implementations§

§

impl<'a, T> Freeze for EnterStringPage<'a, T>

§

impl<'a, T> !RefUnwindSafe for EnterStringPage<'a, T>

§

impl<'a, T> !Send for EnterStringPage<'a, T>

§

impl<'a, T> !Sync for EnterStringPage<'a, T>

§

impl<'a, T> Unpin for EnterStringPage<'a, T>

§

impl<'a, T> !UnwindSafe for EnterStringPage<'a, T>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.