Skip to main content

Ribbon

Struct Ribbon 

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

A horizontal collection of Groups which change their appearance and layout when the Ribbon is resized.

Implementations§

Source§

impl<'a, Id, Message, Theme, Renderer> Ribbon<'a, Id, Message, Theme, Renderer>
where Id: Clone + Eq, Message: 'a + Clone, Theme: 'a + Catalog + Catalog + Catalog + Catalog, <Theme as Catalog>::Class<'a>: From<StyleFn<'a, Theme>>, Renderer: 'a + Renderer + Renderer + Renderer, <Renderer as Renderer>::Font: From<Font>, <Renderer as Renderer>::Paragraph: Clone,

Source

pub fn new( groups: impl IntoIterator<Item = Group<'a, Id, Message, Theme, Renderer>>, ) -> Self

Creates a new Ribbon which the provided Groups.

Source

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

Sets the width of the Ribbon.

Source

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

Sets the height of the Ribbon.

Source

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

Sets the spacing between Groups.

Source

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

Sets the Padding of the Ribbon.

Source

pub fn open_group(self, id: Id) -> Self

Opens the Group as a dropdown when collapsed.

§Panics

Panics if no Group in the Ribbon has the provided id.

Source

pub fn on_group_dropdown_dismiss(self, on_dismiss: Message) -> Self

Sets the message that will be sent when the Group collapsed dropdown is dismissed.

Source

pub fn on_group_dropdown_dismiss_with( self, on_dismiss: impl Fn() -> Message + 'a, ) -> Self

Sets the message that will be sent when the Group collapsed dropdown is dismissed.

This is analogous to Ribbon::on_group_dropdown_dismiss, but using a closure to produce the message.

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

Trait Implementations§

Source§

impl<'a, Id, Message, Theme, Renderer> From<Ribbon<'a, Id, Message, Theme, Renderer>> for Element<'a, Message, Theme, Renderer>
where Id: 'a + Clone + Eq, Message: 'a + Clone, Theme: 'a + Catalog + Catalog + Catalog + Catalog, Renderer: 'a + Renderer + Renderer, <Renderer as Renderer>::Font: From<Font>, <Theme as Catalog>::Class<'a>: From<StyleFn<'a, Theme>>, <Renderer as Renderer>::Paragraph: Clone,

Source§

fn from(ribbon: Ribbon<'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 Ribbon<'a, Id, Message, Theme, Renderer>
where Id: Clone + Eq, Message: 'a + Clone, Theme: 'a + Catalog + Catalog + Catalog + Catalog, Renderer: 'a + Renderer + Renderer, <Renderer as Renderer>::Font: From<Font>, <Theme as Catalog>::Class<'a>: From<StyleFn<'a, Theme>>, <Renderer as Renderer>::Paragraph: Clone,

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) -> IcedSize<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 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 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 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 Ribbon<'a, Id, Message, Theme, Renderer>

§

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

§

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

§

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

§

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

§

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

§

impl<'a, Id, Message, Theme, Renderer> UnsafeUnpin for Ribbon<'a, Id, Message, Theme, Renderer>
where <Theme as Catalog>::Class<'a>: UnsafeUnpin, Message: 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.