Skip to main content

Textarea

Struct Textarea 

Source
pub struct Textarea {
    pub states: TextareaStates,
    /* private fields */
}
Expand description

A Textarea represents multi-line, multi-style, automatically wrapped text, with container and scroll support.

If scroll is not necessary, use Paragrapg instead.

If single-style, single-line text is wanted, use Label. If multi-style, single-line text is wanted, use Span.

Fields§

§states: TextareaStates

Implementations§

Source§

impl Textarea

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 step(self, step: usize) -> Self

Set the scroll stepping to use on Cmd::Scroll(Direction::Up) or Cmd::Scroll(Direction::Down).

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 text_rows<T>(self, text: impl IntoIterator<Item = T>) -> Self
where T: Into<LineStatic>,

Set the Text content via a array or iterator.

§Example
Textarea::default()
    .text_rows([
        Line::raw("line1"),
        Line::raw("line2")
    ]);
Source

pub fn text(self, text: impl Into<TextStatic>) -> Self

Set the Text content via a single struct.

§Example
Textarea::default()
    .text(Line::raw("line"));
Textarea::default()
    .text(Text::raw("another line"));

Trait Implementations§

Source§

impl Component for Textarea

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 Textarea

Source§

fn default() -> Textarea

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.