[][src]Struct nannou::ui::prelude::widget::List

pub struct List<D, S> {
    pub common: CommonBuilder,
    pub style: Style,
    pub item_instantiation: ItemInstantiation,
    // some fields omitted
}

A helper widget, useful for instantiating a sequence of widgets in a vertical list.

The List widget simplifies this process by:

  • Generating widget::Ids.
  • Simplifying the positioning and sizing of items.
  • Optimised widget instantiation by only instantiating visible items. This is very useful for lists containing many items, i.e. a FileNavigator over a directory with thousands of files.

Fields

common: CommonBuilder

Common widget building params for the List.

style: Style

Unique styling for the List.

item_instantiation: ItemInstantiation

Whether all or only visible items should be instantiated.

Methods

impl<D> List<D, Dynamic> where
    D: Direction
[src]

pub fn new(num_items: usize) -> List<D, Dynamic>[src]

Begin building a new List.

impl List<Left, Dynamic>[src]

pub fn flow_left(num_items: usize) -> List<Left, Dynamic>[src]

Begin building a new List flowing from right to left.

impl List<Right, Dynamic>[src]

pub fn flow_right(num_items: usize) -> List<Right, Dynamic>[src]

Begin building a new List flowing from left to right.

impl List<Up, Dynamic>[src]

pub fn flow_up(num_items: usize) -> List<Up, Dynamic>[src]

Begin building a new List flowing from bottom to top.

impl List<Down, Dynamic>[src]

pub fn flow_down(num_items: usize) -> List<Down, Dynamic>[src]

Begin building a new List flowing from top to bottom.

impl<D, S> List<D, S> where
    D: Direction,
    S: ItemSize
[src]

pub fn from_item_size(num_items: usize, item_size: S) -> List<D, S>[src]

Begin building a new List given some direction and item size.

pub fn item_size(self, length: f64) -> List<D, Fixed>[src]

Specify a fixed item size, where size is a Scalar in the direction that the List is flowing. When a List is constructed with this method, all items will have a fixed, equal length.

impl<D> List<D, Fixed> where
    D: Direction
[src]

pub fn instantiate_all_items(self) -> List<D, Fixed>[src]

Indicates that an Item should be instantiated for every element in the list, regardless of whether or not the Item would be visible.

This is the default (and only) behaviour for Lists with dynamic item sizes. This is because a List cannot know the total length of its combined items in advanced when each item is dynamically sized and their size is not given until they are set.

Note: This may cause significantly heavier CPU load for lists containing many items (100+). We only recommend using this when absolutely necessary as large lists may cause unnecessary bloating within the widget graph, and in turn result in greater traversal times.

pub fn instantiate_only_visible_items(self) -> List<D, Fixed>[src]

Indicates that only Items that are visible should be instantiated. This ensures that we avoid bloating the widget graph with unnecessary nodes and in turn keep traversal times to a minimum.

This is the default behaviour for Lists with fixed item sizes.

impl<D, S> List<D, S> where
    D: Direction,
    S: ItemSize
[src]

pub fn scrollbar_next_to(self) -> List<D, S>[src]

Specifies that the List should be scrollable and should provide a Scrollbar to the right of the items.

pub fn scrollbar_on_top(self) -> List<D, S>[src]

Specifies that the List should be scrollable and should provide a Scrollbar that hovers above the right edge of the items and automatically hides when the user is not scrolling.

pub fn scrollbar_thickness(self, w: f64) -> List<D, S>[src]

The width of the Scrollbar.

pub fn scrollbar_color(self, color: Color) -> List<D, S>[src]

The color of the Scrollbar.

Trait Implementations

impl<D, S> Clone for List<D, S> where
    D: Clone,
    S: Clone
[src]

impl<D, S> Common for List<D, S>[src]

impl<D, S> Widget for List<D, S> where
    D: Direction,
    S: ItemSize
[src]

type State = State

State to be stored within the Uis widget cache. Read more

type Style = Style

Every widget is required to have its own associated Style type. This type is intended to contain high-level styling information for the widget that can be optionally specified by a user of the widget. Read more

type Event = (Items<D, S>, Option<Scrollbar<<D as Direction>::Axis>>)

The type of event yielded by the widget, returned via the Widget::set function. Read more

Auto Trait Implementations

impl<D, S> RefUnwindSafe for List<D, S> where
    D: RefUnwindSafe,
    S: RefUnwindSafe

impl<D, S> Send for List<D, S> where
    D: Send,
    S: Send

impl<D, S> Sync for List<D, S> where
    D: Sync,
    S: Sync

impl<D, S> Unpin for List<D, S> where
    D: Unpin,
    S: Unpin

impl<D, S> UnwindSafe for List<D, S> where
    D: UnwindSafe,
    S: UnwindSafe

Blanket Implementations

impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
    D: AdaptFrom<S, Swp, Dwp, T>,
    Dwp: WhitePoint,
    Swp: WhitePoint,
    T: Component + Float
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> ConvertInto<U> for T where
    U: ConvertFrom<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<W> Positionable for W where
    W: Widget
[src]

impl<T> SetParameter for T

impl<T> SetParameter for T

impl<W> Sizeable for W where
    W: Widget
[src]

fn get_x_dimension(&self, ui: &Ui) -> Dimension[src]

We attempt to retrieve the x Dimension for the widget via the following:

  • Check for specified value at maybe_x_dimension
  • Otherwise, use the default returned by Widget::default_x_dimension.

fn get_y_dimension(&self, ui: &Ui) -> Dimension[src]

We attempt to retrieve the y Dimension for the widget via the following:

  • Check for specified value at maybe_y_dimension
  • Otherwise, use the default returned by Widget::default_y_dimension.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,