[−][src]Struct conrod_core::widget::list::List
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.
Implementations
impl<D> List<D, Dynamic> where
D: Direction,
[src]
D: Direction,
impl List<Left, Dynamic>
[src]
pub fn flow_left(num_items: usize) -> Self
[src]
Begin building a new List
flowing from right to left.
impl List<Right, Dynamic>
[src]
pub fn flow_right(num_items: usize) -> Self
[src]
Begin building a new List
flowing from left to right.
impl List<Up, Dynamic>
[src]
impl List<Down, Dynamic>
[src]
pub fn flow_down(num_items: usize) -> Self
[src]
Begin building a new List
flowing from top to bottom.
impl<D, S> List<D, S> where
D: Direction,
S: ItemSize,
[src]
D: Direction,
S: ItemSize,
pub fn from_item_size(num_items: usize, item_size: S) -> Self
[src]
Begin building a new List
given some direction and item size.
pub fn item_size(self, length: Scalar) -> 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]
D: Direction,
pub fn instantiate_all_items(self) -> Self
[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 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]
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]
D: Direction,
S: ItemSize,
pub fn scrollbar_next_to(self) -> Self
[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) -> Self
[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: Scalar) -> Self
[src]
The width of the Scrollbar
.
pub fn scrollbar_color(self, color: Color) -> Self
[src]
The color of the Scrollbar
.
Trait Implementations
impl<D: Clone, S: Clone> Clone for List<D, S>
[src]
impl<D, S> Common for List<D, S>
[src]
fn common(&self) -> &CommonBuilder
[src]
fn common_mut(&mut self) -> &mut CommonBuilder
[src]
impl<D, S> Widget for List<D, S> where
D: Direction,
S: ItemSize,
[src]
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 style(&self) -> Self::Style
[src]
fn update(self, args: UpdateArgs<'_, '_, '_, '_, Self>) -> Self::Event
[src]
fn default_x_position(&self, ui: &Ui) -> Position
[src]
fn default_y_position(&self, ui: &Ui) -> Position
[src]
fn default_x_dimension(&self, ui: &Ui) -> Dimension
[src]
fn default_y_dimension(&self, ui: &Ui) -> Dimension
[src]
fn drag_area(
&self,
_dim: Dimensions,
_style: &Self::Style,
_theme: &Theme
) -> Option<Rect>
[src]
&self,
_dim: Dimensions,
_style: &Self::Style,
_theme: &Theme
) -> Option<Rect>
fn kid_area(&self, args: KidAreaArgs<'_, Self>) -> KidArea
[src]
fn is_over(&self) -> IsOverFn
[src]
fn parent(self, parent_id: Id) -> Self
[src]
fn no_parent(self) -> Self
[src]
fn place_on_kid_area(self, b: bool) -> Self
[src]
fn graphics_for(self, id: Id) -> Self
[src]
fn floating(self, is_floating: bool) -> Self
[src]
fn crop_kids(self) -> Self
[src]
fn scroll_kids(self) -> Self
[src]
fn scroll_kids_vertically(self) -> Self
[src]
fn scroll_kids_horizontally(self) -> Self
[src]
fn and<F>(self, build: F) -> Self where
F: FnOnce(Self) -> Self,
[src]
F: FnOnce(Self) -> Self,
fn and_mut<F>(self, mutate: F) -> Self where
F: FnOnce(&mut Self),
[src]
F: FnOnce(&mut Self),
fn and_if<F>(self, cond: bool, build: F) -> Self where
F: FnOnce(Self) -> Self,
[src]
F: FnOnce(Self) -> Self,
fn and_then<T, F>(self, maybe: Option<T>, build: F) -> Self where
F: FnOnce(Self, T) -> Self,
[src]
F: FnOnce(Self, T) -> Self,
fn set<'a, 'b>(self, id: Id, ui_cell: &'a mut UiCell<'b>) -> Self::Event
[src]
Auto Trait Implementations
impl<D, S> RefUnwindSafe for List<D, S> where
D: RefUnwindSafe,
S: RefUnwindSafe,
D: RefUnwindSafe,
S: RefUnwindSafe,
impl<D, S> Send for List<D, S> where
D: Send,
S: Send,
D: Send,
S: Send,
impl<D, S> Sync for List<D, S> where
D: Sync,
S: Sync,
D: Sync,
S: Sync,
impl<D, S> Unpin for List<D, S> where
D: Unpin,
S: Unpin,
D: Unpin,
S: Unpin,
impl<D, S> UnwindSafe for List<D, S> where
D: UnwindSafe,
S: UnwindSafe,
D: UnwindSafe,
S: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<W> Positionable for W where
W: Widget,
[src]
W: Widget,
fn x_position(Self, Position) -> W
[src]
fn y_position(Self, Position) -> W
[src]
fn get_x_position(&Self, &Ui) -> Position
[src]
fn get_y_position(&Self, &Ui) -> Position
[src]
fn depth(Self, f32) -> W
[src]
fn get_depth(&Self) -> f32
[src]
fn x(self, x: Scalar) -> Self
[src]
fn y(self, y: Scalar) -> Self
[src]
fn xy(self, point: Point) -> Self
[src]
fn x_y(self, x: Scalar, y: Scalar) -> Self
[src]
fn x_position_relative(self, x: Relative) -> Self
[src]
fn y_position_relative(self, y: Relative) -> Self
[src]
fn x_y_position_relative(self, x: Relative, y: Relative) -> Self
[src]
fn x_position_relative_to(self, other: Id, x: Relative) -> Self
[src]
fn y_position_relative_to(self, other: Id, y: Relative) -> Self
[src]
fn x_y_position_relative_to(self, other: Id, x: Relative, y: Relative) -> Self
[src]
fn x_relative(self, x: Scalar) -> Self
[src]
fn y_relative(self, y: Scalar) -> Self
[src]
fn xy_relative(self, point: Point) -> Self
[src]
fn x_y_relative(self, x: Scalar, y: Scalar) -> Self
[src]
fn x_relative_to(self, other: Id, x: Scalar) -> Self
[src]
fn y_relative_to(self, other: Id, y: Scalar) -> Self
[src]
fn xy_relative_to(self, other: Id, xy: Point) -> Self
[src]
fn x_y_relative_to(self, other: Id, x: Scalar, y: Scalar) -> Self
[src]
fn x_direction(self, direction: Direction, x: Scalar) -> Self
[src]
fn y_direction(self, direction: Direction, y: Scalar) -> Self
[src]
fn down(self, y: Scalar) -> Self
[src]
fn up(self, y: Scalar) -> Self
[src]
fn left(self, x: Scalar) -> Self
[src]
fn right(self, x: Scalar) -> Self
[src]
fn x_direction_from(self, other: Id, direction: Direction, x: Scalar) -> Self
[src]
fn y_direction_from(self, other: Id, direction: Direction, y: Scalar) -> Self
[src]
fn down_from(self, other: Id, y: Scalar) -> Self
[src]
fn up_from(self, other: Id, y: Scalar) -> Self
[src]
fn left_from(self, other: Id, x: Scalar) -> Self
[src]
fn right_from(self, other: Id, x: Scalar) -> Self
[src]
fn x_align(self, align: Align) -> Self
[src]
fn y_align(self, align: Align) -> Self
[src]
fn align_left(self) -> Self
[src]
fn align_middle_x(self) -> Self
[src]
fn align_right(self) -> Self
[src]
fn align_top(self) -> Self
[src]
fn align_middle_y(self) -> Self
[src]
fn align_bottom(self) -> Self
[src]
fn x_align_to(self, other: Id, align: Align) -> Self
[src]
fn y_align_to(self, other: Id, align: Align) -> Self
[src]
fn align_left_of(self, other: Id) -> Self
[src]
fn align_middle_x_of(self, other: Id) -> Self
[src]
fn align_right_of(self, other: Id) -> Self
[src]
fn align_top_of(self, other: Id) -> Self
[src]
fn align_middle_y_of(self, other: Id) -> Self
[src]
fn align_bottom_of(self, other: Id) -> Self
[src]
fn x_place_on(self, other: Id, place: Place) -> Self
[src]
fn y_place_on(self, other: Id, place: Place) -> Self
[src]
fn middle_of(self, other: Id) -> Self
[src]
fn top_left_of(self, other: Id) -> Self
[src]
fn top_left_with_margin_on(self, other: Id, mgn: Scalar) -> Self
[src]
fn top_left_with_margins_on(self, other: Id, top: Scalar, left: Scalar) -> Self
[src]
fn top_right_of(self, other: Id) -> Self
[src]
fn top_right_with_margin_on(self, other: Id, mgn: Scalar) -> Self
[src]
fn top_right_with_margins_on(
self,
other: Id,
top: Scalar,
right: Scalar
) -> Self
[src]
self,
other: Id,
top: Scalar,
right: Scalar
) -> Self
fn bottom_left_of(self, other: Id) -> Self
[src]
fn bottom_left_with_margin_on(self, other: Id, mgn: Scalar) -> Self
[src]
fn bottom_left_with_margins_on(
self,
other: Id,
bottom: Scalar,
left: Scalar
) -> Self
[src]
self,
other: Id,
bottom: Scalar,
left: Scalar
) -> Self
fn bottom_right_of(self, other: Id) -> Self
[src]
fn bottom_right_with_margin_on(self, other: Id, mgn: Scalar) -> Self
[src]
fn bottom_right_with_margins_on(
self,
other: Id,
bottom: Scalar,
right: Scalar
) -> Self
[src]
self,
other: Id,
bottom: Scalar,
right: Scalar
) -> Self
fn mid_top_of(self, other: Id) -> Self
[src]
fn mid_top_with_margin_on(self, other: Id, mgn: Scalar) -> Self
[src]
fn mid_bottom_of(self, other: Id) -> Self
[src]
fn mid_bottom_with_margin_on(self, other: Id, mgn: Scalar) -> Self
[src]
fn mid_left_of(self, other: Id) -> Self
[src]
fn mid_left_with_margin_on(self, other: Id, mgn: Scalar) -> Self
[src]
fn mid_right_of(self, other: Id) -> Self
[src]
fn mid_right_with_margin_on(self, other: Id, mgn: Scalar) -> Self
[src]
fn x_place(self, place: Place) -> Self
[src]
fn y_place(self, place: Place) -> Self
[src]
fn middle(self) -> Self
[src]
fn top_left(self) -> Self
[src]
fn top_left_with_margin(self, mgn: Scalar) -> Self
[src]
fn top_left_with_margins(self, top: Scalar, left: Scalar) -> Self
[src]
fn top_right(self) -> Self
[src]
fn top_right_with_margin(self, mgn: Scalar) -> Self
[src]
fn top_right_with_margins(self, top: Scalar, right: Scalar) -> Self
[src]
fn bottom_left(self) -> Self
[src]
fn bottom_left_with_margin(self, mgn: Scalar) -> Self
[src]
fn bottom_left_with_margins(self, bottom: Scalar, left: Scalar) -> Self
[src]
fn bottom_right(self) -> Self
[src]
fn bottom_right_with_margin(self, mgn: Scalar) -> Self
[src]
fn bottom_right_with_margins(self, bottom: Scalar, right: Scalar) -> Self
[src]
fn mid_top(self) -> Self
[src]
fn mid_top_with_margin(self, mgn: Scalar) -> Self
[src]
fn mid_bottom(self) -> Self
[src]
fn mid_bottom_with_margin(self, mgn: Scalar) -> Self
[src]
fn mid_left(self) -> Self
[src]
fn mid_left_with_margin(self, mgn: Scalar) -> Self
[src]
fn mid_right(self) -> Self
[src]
fn mid_right_with_margin(self, mgn: Scalar) -> Self
[src]
impl<W> Sizeable for W where
W: Widget,
[src]
W: Widget,
fn x_dimension(Self, Dimension) -> W
[src]
fn y_dimension(Self, Dimension) -> W
[src]
fn get_x_dimension(&Self, &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) -> 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.
fn w(self, w: Scalar) -> Self
[src]
fn h(self, h: Scalar) -> Self
[src]
fn wh(self, wh: Dimensions) -> Self
[src]
fn w_h(self, width: Scalar, height: Scalar) -> Self
[src]
fn w_of(self, idx: Id) -> Self
[src]
fn padded_w_of(self, idx: Id, pad: Scalar) -> Self
[src]
fn h_of(self, idx: Id) -> Self
[src]
fn padded_h_of(self, idx: Id, pad: Scalar) -> Self
[src]
fn wh_of(self, idx: Id) -> Self
[src]
fn padded_wh_of(self, idx: Id, pad: Scalar) -> Self
[src]
fn kid_area_w_of(self, idx: Id) -> Self
[src]
fn padded_kid_area_w_of(self, idx: Id, pad: Scalar) -> Self
[src]
fn kid_area_h_of(self, idx: Id) -> Self
[src]
fn padded_kid_area_h_of(self, idx: Id, pad: Scalar) -> Self
[src]
fn kid_area_wh_of(self, idx: Id) -> Self
[src]
fn padded_kid_area_wh_of(self, idx: Id, pad: Scalar) -> Self
[src]
fn get_w(&self, ui: &Ui) -> Option<Scalar>
[src]
fn get_h(&self, ui: &Ui) -> Option<Scalar>
[src]
fn get_wh(&self, ui: &Ui) -> Option<Dimensions>
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,