Skip to main content

Tabs

Struct Tabs 

Source
pub struct Tabs { /* private fields */ }
Expand description

A tab bar with one content view per tab; only the selected one is built. Arrow keys move between tabs and open them; Home and End jump to the ends.

With item instead of tab, it is only the bar, and what selected changes is up to the app.

use ravenrs_reactive::State;
use ravenrs_widgets::{ButtonSize, Tabs, TabsVariant, Ui};

let view = State::new(0);
let bar = Tabs::new(view.binding())
    .variant(TabsVariant::Segmented)
    .size(ButtonSize::Small)
    .item("Password")
    .item("Link by e-mail");
let mut ui = Ui::new(bar, ravenrs_style::Theme::raven_dark());
ui.update();

Implementations§

Source§

impl Tabs

Source

pub fn new(selected: Binding<usize>) -> Self

Empty tabs; selected holds the zero-based index of the open tab.

Source

pub fn tab(self, label: impl Into<String>, content: impl View + 'static) -> Self

Adds a tab with this label and content.

Source

pub fn item(self, label: impl Into<String>) -> Self

Adds a tab with this label and no content, for an app that shows what goes with it elsewhere.

Source

pub fn variant(self, variant: TabsVariant) -> Self

How the bar looks (TabsVariant::Underline by default).

Source

pub fn size(self, size: ButtonSize) -> Self

The bar’s size, on the scale of the buttons (Medium by default).

Source

pub fn disabled(self, disabled: bool) -> Self

Keeps the open tab from changing, such as while waiting for an answer that belongs to it. The bar fades and the tabs ignore input.

Trait Implementations§

Source§

impl Debug for Tabs

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl View for Tabs

Source§

fn build(&self, cx: &mut BuildCx<'_>) -> NodeId

Creates this view’s node for the current build.
Source§

fn type_name(&self) -> &'static str

The name the diagnostics panel shows this view’s cost under.

Auto Trait Implementations§

§

impl !RefUnwindSafe for Tabs

§

impl !Send for Tabs

§

impl !Sync for Tabs

§

impl !UnwindSafe for Tabs

§

impl Freeze for Tabs

§

impl Unpin for Tabs

§

impl UnsafeUnpin for Tabs

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
§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.
Source§

impl<V> ViewExt for V
where V: View,

Source§

fn padding(self, padding: impl Into<Insets>) -> Styled<Self>

Adds padding inside the box, in logical pixels.
Source§

fn background(self, fill: impl Into<Fill>) -> Styled<Self>

Paints a background behind the content.
Source§

fn frame(self, width: Option<f32>, height: Option<f32>) -> Styled<Self>

Fixes the width and/or height in logical pixels; None keeps the content size.
Source§

fn width(self, width: f32) -> Styled<Self>

Fixes the width in logical pixels.
Source§

fn height(self, height: f32) -> Styled<Self>

Fixes the height in logical pixels.
Source§

fn grow(self, grow: f32) -> Styled<Self>

Takes a share of the free space in the parent stack.
Source§

fn stretch(self) -> Styled<Self>

Stretches across the parent stack’s cross axis.
Source§

fn centered(self) -> Styled<Self>

Centers the content inside the box.
Source§

fn tooltip(self, text: impl Into<String>) -> Tooltip<Self>

Shows text above the view while the pointer is over it; see Tooltip.
Source§

fn opacity(self, opacity: f32) -> Faded<Self>

Draws the view and everything in it at this opacity, from 0.0 to 1.0, easing to it when it changes. Layout and input stay as they are; see Faded.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more