Struct conrod::widget::list::List [−][src]
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::Id
s. - 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]
impl<D> List<D, Dynamic> where
D: Direction,
impl List<Left, Dynamic>
[src]
impl List<Left, Dynamic>
pub fn flow_left(num_items: usize) -> Self
[src]
pub fn flow_left(num_items: usize) -> Self
Begin building a new List
flowing from right to left.
impl List<Right, Dynamic>
[src]
impl List<Right, Dynamic>
pub fn flow_right(num_items: usize) -> Self
[src]
pub fn flow_right(num_items: usize) -> Self
Begin building a new List
flowing from left to right.
impl List<Up, Dynamic>
[src]
impl List<Up, Dynamic>
impl List<Down, Dynamic>
[src]
impl List<Down, Dynamic>
pub fn flow_down(num_items: usize) -> Self
[src]
pub fn flow_down(num_items: usize) -> Self
Begin building a new List
flowing from top to bottom.
impl<D, S> List<D, S> where
D: Direction,
S: ItemSize,
[src]
impl<D, S> List<D, S> where
D: Direction,
S: ItemSize,
pub fn from_item_size(num_items: usize, item_size: S) -> Self
[src]
pub fn from_item_size(num_items: usize, item_size: S) -> Self
Begin building a new List
given some direction and item size.
pub fn item_size(self, length: Scalar) -> List<D, Fixed>
[src]
pub fn item_size(self, length: Scalar) -> List<D, Fixed>
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]
impl<D> List<D, Fixed> where
D: Direction,
pub fn instantiate_all_items(self) -> Self
[src]
pub fn instantiate_all_items(self) -> Self
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 List
s 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) -> Self
[src]
pub fn instantiate_only_visible_items(self) -> Self
Indicates that only Item
s 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 List
s with fixed item sizes.
impl<D, S> List<D, S> where
D: Direction,
S: ItemSize,
[src]
impl<D, S> List<D, S> where
D: Direction,
S: ItemSize,
pub fn scrollbar_next_to(self) -> Self
[src]
pub fn scrollbar_next_to(self) -> Self
Specifies that the List
should be scrollable and should provide a Scrollbar
to the
right of the items.
pub fn scrollbar_on_top(self) -> Self
[src]
pub fn scrollbar_on_top(self) -> Self
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: Scalar) -> Self
[src]
pub fn scrollbar_thickness(self, w: Scalar) -> Self
The width of the Scrollbar
.
pub fn scrollbar_color(self, color: Color) -> Self
[src]
pub fn scrollbar_color(self, color: Color) -> Self
The color of the Scrollbar
.
Trait Implementations
impl<D: Clone, S: Clone> Clone for List<D, S>
[src]
impl<D: Clone, S: Clone> Clone for List<D, S>
fn clone(&self) -> List<D, S>
[src]
fn clone(&self) -> List<D, S>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<D, S> Widget for List<D, S> where
D: Direction,
S: ItemSize,
[src]
impl<D, S> Widget for List<D, S> where
D: Direction,
S: ItemSize,
type State = State
State to be stored within the Ui
s 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::Axis>>)
The type of event yielded by the widget, returned via the Widget::set
function. Read more
fn init_state(&self, id_gen: Generator) -> Self::State
[src]
fn init_state(&self, id_gen: Generator) -> Self::State
Return the initial State of the Widget. Read more
fn style(&self) -> Self::Style
[src]
fn style(&self) -> Self::Style
Return the styling of the widget. Read more
fn update(self, args: UpdateArgs<Self>) -> Self::Event
[src]
fn update(self, args: UpdateArgs<Self>) -> Self::Event
Update our Widget's unique Widget::State via the State wrapper type (the state
field within the UpdateArgs). Read more
fn default_x_position(&self, ui: &Ui) -> Position
[src]
fn default_x_position(&self, ui: &Ui) -> Position
The default Position for the widget along the x axis. Read more
fn default_y_position(&self, ui: &Ui) -> Position
[src]
fn default_y_position(&self, ui: &Ui) -> Position
The default Position for the widget along the y axis. Read more
fn default_x_dimension(&self, ui: &Ui) -> Dimension
[src]
fn default_x_dimension(&self, ui: &Ui) -> Dimension
The default width for the Widget. Read more
fn default_y_dimension(&self, ui: &Ui) -> Dimension
[src]
fn default_y_dimension(&self, ui: &Ui) -> Dimension
The default height of the widget. Read more
fn drag_area(
&self,
_dim: Dimensions,
_style: &Self::Style,
_theme: &Theme
) -> Option<Rect>
[src]
fn drag_area(
&self,
_dim: Dimensions,
_style: &Self::Style,
_theme: &Theme
) -> Option<Rect>
If the widget is draggable, implement this method and return the position and dimensions of the draggable space. The position should be relative to the center of the widget. Read more
fn kid_area(&self, args: KidAreaArgs<Self>) -> KidArea
[src]
fn kid_area(&self, args: KidAreaArgs<Self>) -> KidArea
The area on which child widgets will be placed when using the Place
Position
methods.
fn is_over(&self) -> IsOverFn
[src]
fn is_over(&self) -> IsOverFn
Returns either of the following: Read more
fn parent(self, parent_id: Id) -> Self
[src]
fn parent(self, parent_id: Id) -> Self
Set the parent widget for this Widget by passing the WidgetId of the parent. Read more
fn no_parent(self) -> Self
[src]
fn no_parent(self) -> Self
Specify that this widget has no parent widgets.
fn place_on_kid_area(self, b: bool) -> Self
[src]
fn place_on_kid_area(self, b: bool) -> Self
Set whether or not the Widget should be placed on the kid_area. Read more
fn graphics_for(self, id: Id) -> Self
[src]
fn graphics_for(self, id: Id) -> Self
Indicates that the Widget is used as a non-interactive graphical element for some other widget. Read more
fn floating(self, is_floating: bool) -> Self
[src]
fn floating(self, is_floating: bool) -> Self
Set whether or not the widget is floating (the default is false
). A typical example of a floating widget would be a pop-up or alert window. Read more
fn crop_kids(self) -> Self
[src]
fn crop_kids(self) -> Self
Indicates that all widgets who are children of this widget should be cropped to the kid_area
of this widget. Read more
fn scroll_kids(self) -> Self
[src]
fn scroll_kids(self) -> Self
Makes the widget's KidArea
scrollable. Read more
fn scroll_kids_vertically(self) -> Self
[src]
fn scroll_kids_vertically(self) -> Self
Makes the widget's KidArea
scrollable. Read more
fn scroll_kids_horizontally(self) -> Self
[src]
fn scroll_kids_horizontally(self) -> Self
Set whether or not the widget's KidArea
is scrollable (the default is false). Read more
fn and<F>(self, build: F) -> Self where
F: FnOnce(Self) -> Self,
[src]
fn and<F>(self, build: F) -> Self where
F: FnOnce(Self) -> Self,
A builder method that "lifts" the Widget through the given build
function. Read more
fn and_mut<F>(self, mutate: F) -> Self where
F: FnOnce(&mut Self),
[src]
fn and_mut<F>(self, mutate: F) -> Self where
F: FnOnce(&mut Self),
A builder method that mutates the Widget with the given mutate
function. Read more
fn and_if<F>(self, cond: bool, build: F) -> Self where
F: FnOnce(Self) -> Self,
[src]
fn and_if<F>(self, cond: bool, build: F) -> Self where
F: FnOnce(Self) -> Self,
A method that conditionally builds the Widget with the given build
function. Read more
fn and_then<T, F>(self, maybe: Option<T>, build: F) -> Self where
F: FnOnce(Self, T) -> Self,
[src]
fn and_then<T, F>(self, maybe: Option<T>, build: F) -> Self where
F: FnOnce(Self, T) -> Self,
A method that optionally builds the Widget with the given build
function. Read more
fn set<'a, 'b>(self, id: Id, ui_cell: &'a mut UiCell<'b>) -> Self::Event
[src]
fn set<'a, 'b>(self, id: Id, ui_cell: &'a mut UiCell<'b>) -> Self::Event
Note: There should be no need to override this method. Read more