Skip to main content

Select

Struct Select 

Source
pub struct Select {
    pub states: SelectStates,
    /* private fields */
}
Expand description

Select represents a select field, like in HTML. The size for the component must be 3 (border + selected) + the quantity of rows you want to display other options when opened (at least 3).

Similar to Radio, Select is a single-choice selector, but the difference is that it does not show the selector unless the “Tab” is open, and only shows the currently selected choice.

Fields§

§states: SelectStates

Implementations§

Source§

impl Select

Source

pub fn foreground(self, fg: Color) -> Self

Set the main foreground color. This may get overwritten by individual text styles.

Source

pub fn background(self, bg: Color) -> Self

Set the main background color. This may get overwritten by individual text styles.

Source

pub fn modifiers(self, m: TextModifiers) -> Self

Set the main text modifiers. This may get overwritten by individual text styles.

Source

pub fn style(self, style: Style) -> Self

Set the main style. This may get overwritten by individual text styles.

This option will overwrite any previous foreground, background and modifiers!

Source

pub fn inactive(self, s: Style) -> Self

Set a custom style for the border when the component is unfocused.

Source

pub fn borders(self, b: Borders) -> Self

Add a border to the component.

Source

pub fn title<T: Into<Title>>(self, title: T) -> Self

Add a title to the component.

Source

pub fn rewind(self, r: bool) -> Self

Set whether wraparound should be possible (down on the last choice wraps around to 0, and the other way around).

Source

pub fn highlight_str<S: Into<LineStatic>>(self, s: S) -> Self

Set the Symbol and Style for the indicator of the current line.

Source

pub fn highlight_style(self, s: Style) -> Self

Set a custom highlight style that is patched ontop of the normal style.

By default the highlight style is just Style::new().add_modifier(Modifier::REVERSED).

Source

pub fn choices<S: Into<String>>( self, choices: impl IntoIterator<Item = S>, ) -> Self

Set the choices that should be possible.

Source

pub fn value(self, i: usize) -> Self

Set the initially selected choice.

Trait Implementations§

Source§

impl Component for Select

Source§

fn view(&mut self, render: &mut Frame<'_>, area: Rect)

Based on the current properties and states, renders the component in the provided area frame. Render can also mutate the component state if this is required
Source§

fn query<'a>(&'a self, attr: Attribute) -> Option<QueryResult<'a>>

Query attribute of component properties. Read more
Source§

fn attr(&mut self, attr: Attribute, value: AttrValue)

Set attribute to properties. query describes the name, while attr the value it’ll take
Source§

fn state(&self) -> State

Get current state from component
Source§

fn perform(&mut self, cmd: Cmd) -> CmdResult

Perform a command on the component. The command will may change the component state. The method returns the result of the command applied (what changed if any)
Source§

impl Default for Select

Source§

fn default() -> Select

Returns the “default value” for a type. Read more

Auto Trait Implementations§

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
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.