pub struct LineGauge<'a> { /* private fields */ }Expand description
A compact widget to display a progress bar over a single thin line.
This can be useful to indicate the progression of a task, like a download.
A LineGauge renders a line filled with symbols defined by LineGauge::filled_symbol and
LineGauge::unfilled_symbol according to the value given to LineGauge::ratio.
Unlike Gauge, only the width can be defined by the rendering Rect. The
height is always 1.
The associated label is always left-aligned. If not set with LineGauge::label, the label is
the percentage of the bar filled.
You can also set the symbols used to draw the bar with LineGauge::line_set.
To style the gauge line use LineGauge::filled_style and LineGauge::unfilled_style which
let you pick a color for foreground (i.e. line) and background of the filled and unfilled part
of gauge respectively.
§Examples:
use ratatui::style::{Style, Stylize};
use ratatui::symbols;
use ratatui::widgets::{Block, LineGauge};
LineGauge::default()
.block(Block::bordered().title("Progress"))
.filled_style(Style::new().white().on_black().bold())
.filled_symbol(symbols::line::THICK_HORIZONTAL)
.ratio(0.4);§See also
Gaugefor bigger, higher precision and more configurable progress bar
Implementations§
Source§impl<'a> LineGauge<'a>
impl<'a> LineGauge<'a>
Sourcepub fn ratio(self, ratio: f64) -> LineGauge<'a>
pub fn ratio(self, ratio: f64) -> LineGauge<'a>
Sets the bar progression from a ratio (float).
ratio is the ratio between filled bar over empty bar (i.e. 3/4 completion is 0.75).
This is more easily seen as a floating point percentage (e.g. 42% = 0.42).
§Panics
This method panics if ratio is not between 0 and 1 inclusively.
Sourcepub const fn line_set(self, set: Set<'a>) -> LineGauge<'a>
👎Deprecated since 0.30.0: use filled_symbol() and unfilled_symbol() instead
pub const fn line_set(self, set: Set<'a>) -> LineGauge<'a>
filled_symbol() and unfilled_symbol() insteadSets the characters to use for the line.
§See also
See symbols::line::Set for more information. Predefined sets are also available, see
NORMAL, DOUBLE and
THICK.
Sourcepub const fn filled_symbol(self, symbol: &'a str) -> LineGauge<'a>
pub const fn filled_symbol(self, symbol: &'a str) -> LineGauge<'a>
Sets the symbol for the filled part of the gauge.
Sourcepub const fn unfilled_symbol(self, symbol: &'a str) -> LineGauge<'a>
pub const fn unfilled_symbol(self, symbol: &'a str) -> LineGauge<'a>
Sets the symbol for the unfilled part of the gauge.
Sourcepub fn label<T>(self, label: T) -> LineGauge<'a>
pub fn label<T>(self, label: T) -> LineGauge<'a>
Sets the label to display.
With LineGauge, labels are only on the left, see Gauge for a centered label.
If the label is not defined, it is the percentage filled.
Sourcepub fn style<S>(self, style: S) -> LineGauge<'a>
pub fn style<S>(self, style: S) -> LineGauge<'a>
Sets the widget style.
style accepts any type that is convertible to Style (e.g. Style, Color, or
your own type that implements Into<Style>).
This will style everything except the bar itself, so basically the block (if any) and background.
Sourcepub fn gauge_style<S>(self, style: S) -> LineGauge<'a>
👎Deprecated since 0.27.0: use filled_style() instead
pub fn gauge_style<S>(self, style: S) -> LineGauge<'a>
filled_style() insteadSets the style of the bar.
style accepts any type that is convertible to Style (e.g. Style, Color, or
your own type that implements Into<Style>).
Sourcepub fn filled_style<S>(self, style: S) -> LineGauge<'a>
pub fn filled_style<S>(self, style: S) -> LineGauge<'a>
Sets the style of filled part of the bar.
style accepts any type that is convertible to Style (e.g. Style, Color, or
your own type that implements Into<Style>).
Sourcepub fn unfilled_style<S>(self, style: S) -> LineGauge<'a>
pub fn unfilled_style<S>(self, style: S) -> LineGauge<'a>
Sets the style of the unfilled part of the bar.
style accepts any type that is convertible to Style (e.g. Style, Color, or
your own type that implements Into<Style>).
Trait Implementations§
impl<'a> StructuralPartialEq for LineGauge<'a>
Auto Trait Implementations§
impl<'a> Freeze for LineGauge<'a>
impl<'a> RefUnwindSafe for LineGauge<'a>
impl<'a> Send for LineGauge<'a>
impl<'a> Sync for LineGauge<'a>
impl<'a> Unpin for LineGauge<'a>
impl<'a> UnwindSafe for LineGauge<'a>
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle.Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other into Self, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
T.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, U> Stylize<'_, T> for Uwhere
U: Styled<Item = T>,
impl<T, U> Stylize<'_, T> for Uwhere
U: Styled<Item = T>,
fn bg<C>(self, color: C) -> T
fn fg<C>(self, color: C) -> T
fn add_modifier(self, modifier: Modifier) -> T
fn remove_modifier(self, modifier: Modifier) -> T
fn reset(self) -> T
Source§fn on_magenta(self) -> T
fn on_magenta(self) -> T
magenta.Source§fn on_dark_gray(self) -> T
fn on_dark_gray(self) -> T
dark_gray.Source§fn on_light_red(self) -> T
fn on_light_red(self) -> T
light_red.Source§fn light_green(self) -> T
fn light_green(self) -> T
light_green.Source§fn on_light_green(self) -> T
fn on_light_green(self) -> T
light_green.Source§fn light_yellow(self) -> T
fn light_yellow(self) -> T
light_yellow.Source§fn on_light_yellow(self) -> T
fn on_light_yellow(self) -> T
light_yellow.Source§fn light_blue(self) -> T
fn light_blue(self) -> T
light_blue.Source§fn on_light_blue(self) -> T
fn on_light_blue(self) -> T
light_blue.Source§fn light_magenta(self) -> T
fn light_magenta(self) -> T
light_magenta.Source§fn on_light_magenta(self) -> T
fn on_light_magenta(self) -> T
light_magenta.Source§fn light_cyan(self) -> T
fn light_cyan(self) -> T
light_cyan.Source§fn on_light_cyan(self) -> T
fn on_light_cyan(self) -> T
light_cyan.Source§fn not_italic(self) -> T
fn not_italic(self) -> T
italic modifier.Source§fn underlined(self) -> T
fn underlined(self) -> T
underlined modifier.Source§fn not_underlined(self) -> T
fn not_underlined(self) -> T
underlined modifier.Source§fn slow_blink(self) -> T
fn slow_blink(self) -> T
slow_blink modifier.Source§fn not_slow_blink(self) -> T
fn not_slow_blink(self) -> T
slow_blink modifier.Source§fn rapid_blink(self) -> T
fn rapid_blink(self) -> T
rapid_blink modifier.Source§fn not_rapid_blink(self) -> T
fn not_rapid_blink(self) -> T
rapid_blink modifier.Source§fn not_reversed(self) -> T
fn not_reversed(self) -> T
reversed modifier.hidden modifier.hidden modifier.Source§fn crossed_out(self) -> T
fn crossed_out(self) -> T
crossed_out modifier.Source§fn not_crossed_out(self) -> T
fn not_crossed_out(self) -> T
crossed_out modifier.Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read more