Skip to main content

SelectorBar

Struct SelectorBar 

Source
pub struct SelectorBar<'a, Id, Message, Theme = Theme, Renderer = Renderer>
where Theme: Catalog + Catalog,
{ /* private fields */ }
Available on crate feature selector_bar only.
Expand description

A SelectorBar provides single selection from a collection of Items highlighted by an indicator.

§Example

#[derive(Clone)]
enum Message {
   TabSelected(u32),
}

fn view(&self) -> Element<'_, Message, Theme> {
    let tabs = (0..5).map(|i| item(i, text!("Tab {}", i + 1)));
    selector_bar(tabs, self.selected_tab, Message::TabSelected).into()
}

Implementations§

Source§

impl<'a, Id, Message, Theme, Renderer> SelectorBar<'a, Id, Message, Theme, Renderer>
where Id: Eq, Theme: Catalog + Catalog,

Source

pub fn new( items: impl IntoIterator<Item = Item<'a, Id, Message, Theme, Renderer>>, selected_id: Id, on_select: impl Fn(Id) -> Message + 'a, ) -> Self

Creates a new SelectorBar which the provided Items.

Source

pub fn width(self, width: impl Into<Length>) -> Self

Sets the width of the SelectorBar.

Source

pub fn height(self, height: impl Into<Length>) -> Self

Sets the height of the SelectorBar.

Source

pub fn spacing(self, amount: impl Into<Pixels>) -> Self

Sets the spacing between Items.

Source

pub fn padding(self, padding: impl Into<Padding>) -> Self

Sets the Padding of the SelectorBar.

Source

pub fn style(self, style: impl Fn(&Theme) -> Style + 'a) -> Self
where <Theme as Catalog>::Class<'a>: From<StyleFn<'a, Theme>>,

Sets the style of the SelectorBar.

Trait Implementations§

Source§

impl<'a, Id, Message, Theme, Renderer> From<SelectorBar<'a, Id, Message, Theme, Renderer>> for Element<'a, Message, Theme, Renderer>
where Id: 'static + Clone + Debug + Default + PartialEq, Message: 'a, Theme: 'a + Catalog + Catalog, Renderer: 'a + Renderer,

Source§

fn from(bar: SelectorBar<'a, Id, Message, Theme, Renderer>) -> Self

Converts to this type from the input type.
Source§

impl<'a, Id, Message, Theme, Renderer> Widget<Message, Theme, Renderer> for SelectorBar<'a, Id, Message, Theme, Renderer>
where Id: 'static + Clone + Default + PartialEq, Theme: Catalog + Catalog, Renderer: Renderer,

Source§

fn tag(&self) -> Tag

Returns the Tag of the Widget.
Source§

fn state(&self) -> State

Returns the State of the Widget.
Source§

fn children(&self) -> Vec<Tree>

Returns the state Tree of the children of the Widget.
Source§

fn diff(&self, tree: &mut Tree)

Reconciles the Widget with the provided Tree.
Source§

fn size(&self) -> Size<Length>

Returns the Size of the Widget in lengths.
Source§

fn layout( &mut self, tree: &mut Tree, renderer: &Renderer, limits: &Limits, ) -> Node

Returns the layout::Node of the Widget. Read more
Source§

fn operate( &mut self, tree: &mut Tree, layout: Layout<'_>, renderer: &Renderer, operation: &mut dyn Operation, )

Applies an Operation to the Widget.
Source§

fn update( &mut self, tree: &mut Tree, event: &Event, layout: Layout<'_>, cursor: Cursor, renderer: &Renderer, clipboard: &mut dyn Clipboard, shell: &mut Shell<'_, Message>, viewport: &Rectangle, )

Processes a runtime Event. Read more
Source§

fn mouse_interaction( &self, tree: &Tree, layout: Layout<'_>, cursor: Cursor, viewport: &Rectangle, renderer: &Renderer, ) -> Interaction

Returns the current mouse::Interaction of the Widget. Read more
Source§

fn draw( &self, tree: &Tree, renderer: &mut Renderer, theme: &Theme, style: &Style, layout: Layout<'_>, cursor: Cursor, viewport: &Rectangle, )

Draws the Widget using the associated Renderer.
Source§

fn overlay<'b>( &'b mut self, tree: &'b mut Tree, layout: Layout<'b>, renderer: &Renderer, viewport: &Rectangle, translation: Vector, ) -> Option<Element<'b, Message, Theme, Renderer>>

Returns the overlay of the Widget, if there is any.
Source§

fn size_hint(&self) -> Size<Length>

Returns a Size hint for laying out the Widget. Read more

Auto Trait Implementations§

§

impl<'a, Id, Message, Theme = Theme, Renderer = ()> !RefUnwindSafe for SelectorBar<'a, Id, Message, Theme, Renderer>

§

impl<'a, Id, Message, Theme = Theme, Renderer = ()> !Send for SelectorBar<'a, Id, Message, Theme, Renderer>

§

impl<'a, Id, Message, Theme = Theme, Renderer = ()> !Sync for SelectorBar<'a, Id, Message, Theme, Renderer>

§

impl<'a, Id, Message, Theme = Theme, Renderer = ()> !UnwindSafe for SelectorBar<'a, Id, Message, Theme, Renderer>

§

impl<'a, Id, Message, Theme, Renderer> Freeze for SelectorBar<'a, Id, Message, Theme, Renderer>
where Id: Freeze, <Theme as Catalog>::Class<'a>: Freeze,

§

impl<'a, Id, Message, Theme, Renderer> Unpin for SelectorBar<'a, Id, Message, Theme, Renderer>
where Id: Unpin, <Theme as Catalog>::Class<'a>: Unpin, <Theme as Catalog>::Class<'a>: Unpin,

§

impl<'a, Id, Message, Theme, Renderer> UnsafeUnpin for SelectorBar<'a, Id, Message, Theme, Renderer>
where Id: UnsafeUnpin, <Theme as Catalog>::Class<'a>: UnsafeUnpin,

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.