Struct Flexbox

Source
pub struct Flexbox { /* private fields */ }
Expand description

A container that can be used to display a list of items in a flexible way.

Implementations§

Source§

impl Flexbox

Source

pub fn new() -> Self

Create a new Flexbox with default options.

Source

pub fn push(&mut self, item: impl Into<FlexItem>)

Add a view to the end.

Source

pub fn clear(&mut self)

Remove all items.

Source

pub fn insert(&mut self, index: usize, item: impl Into<FlexItem>)

Insert a view at index.

§Panics

Panics if index > self.len().

Source

pub fn set_flex_grow(&mut self, index: usize, flex_grow: u8)

Set the grow factor of an item.

§Panics

Panics if index >= self.len().

Source

pub fn len(&self) -> usize

Returns the number of items in the flexbox.

Source

pub fn is_empty(&self) -> bool

Returns whether the flexbox is empty.

Source

pub fn remove(&mut self, index: usize)

Remove an item from the flexbox.

§Panics

Panics if index >= self.len().

Source

pub fn main_axis_gap(&self) -> u32

Gap between items on the main axis.

Source

pub fn set_main_axis_gap(&mut self, gap: u32)

Set the fixed gap between elements on the main axis.

Source

pub fn cross_axis_gap(&self) -> u32

Gap between the main axes.

Source

pub fn set_cross_axis_gap(&mut self, gap: u32)

Set the fixed gap between the main axes.

Source

pub fn justify_content(&self) -> JustifyContent

Get the justify-content option.

Source

pub fn set_justify_content(&mut self, justify_content: JustifyContent)

Set the justify-content option.

Source

pub fn align_items(&self) -> AlignItems

Get the align-items option.

Source

pub fn set_align_items(&mut self, item_alignment: AlignItems)

Set the align-items option.

Source

pub fn align_content(&self) -> AlignContent

Get the align-content option.

Source

pub fn set_align_content(&mut self, axes_alignment: AlignContent)

Set the align-content option.

Source

pub fn flex_direction(&self) -> FlexDirection

Get the flex-direction option.

Source

pub fn set_flex_direction(&mut self, direction: FlexDirection)

Set the direction of the main axis.

Source

pub fn flex_wrap(&self) -> FlexWrap

Get the flex-wrap option.

Source

pub fn set_flex_wrap(&mut self, wrap: FlexWrap)

Set the wrapping behavior.

Trait Implementations§

Source§

impl Default for Flexbox

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<T: Into<FlexItem>> From<Vec<T>> for Flexbox

Source§

fn from(value: Vec<T>) -> Self

Converts to this type from the input type.
Source§

impl View for Flexbox

Source§

fn draw(&self, printer: &Printer<'_, '_>)

Draw this view using the printer.

Source§

fn layout(&mut self, printer_size: Vec2)

Called when the final size has been determined. printer_size will be the actual size of the printer given to draw(). This should call layout on all child items with their respective sizes.

Source§

fn needs_relayout(&self) -> bool

Return true if this view needs a relayout before the next call to draw(). If the view’s layout is somehow cached, returning true here will cause layout() to be called so the new layout can be computed.

Source§

fn required_size(&mut self, constraint: Vec2) -> Vec2

Given constraint, return the minimal required size the printer for this view should be. constraint is the maximum possible size for the printer.

Source§

fn on_event(&mut self, event: Event) -> EventResult

Called when an event is received (key press, mouse event, …). Read more
Source§

fn focus_view( &mut self, selector: &Selector<'_>, ) -> Result<EventResult, ViewNotFound>

Moves the focus to the view identified by the given selector. Read more
Source§

fn call_on_any(&mut self, selector: &Selector<'_>, callback: AnyCb<'_>)

Runs a closure on the view identified by the given selector. Read more
Source§

fn take_focus(&mut self, _source: Direction) -> Result<EventResult, CannotFocus>

Attempt to give this view the focus. Read more
Source§

fn important_area(&self, _view_size: Vec2) -> Rect

What part of the view is important and should be visible? Read more
Source§

fn type_name(&self) -> &'static str

Returns the type of this view. Read more

Auto Trait Implementations§

§

impl Freeze for Flexbox

§

impl !RefUnwindSafe for Flexbox

§

impl !Send for Flexbox

§

impl !Sync for Flexbox

§

impl Unpin for Flexbox

§

impl !UnwindSafe for Flexbox

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> AnyView for T
where T: View,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Downcast self to a Any.

Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Downcast self to a mutable Any.

Source§

fn as_boxed_any(self: Box<T>) -> Box<dyn Any>

Returns a boxed any from a boxed 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> Finder for T
where T: View,

Source§

fn call_on_all<V, F>(&mut self, sel: &Selector<'_>, callback: F)
where V: View, F: FnMut(&mut V),

Runs a callback on all views identified by sel. Read more
Source§

fn call_on<V, F, R>(&mut self, sel: &Selector<'_>, callback: F) -> Option<R>
where V: View, F: FnOnce(&mut V) -> R,

Runs a callback on the view identified by sel. Read more
Source§

fn call_on_name<V, F, R>(&mut self, name: &str, callback: F) -> Option<R>
where V: View, F: FnOnce(&mut V) -> R,

Convenient method to use call_on with a view::Selector::Name.
Source§

fn find_name<V>( &mut self, name: &str, ) -> Option<OwningHandle<OwningRef<Rc<RefCell<V>>, RefCell<V>>, RefMut<'static, V>>>
where V: View,

Convenient method to find a view wrapped in an NamedView.
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> IntoBoxedView for T
where T: View,

Source§

fn into_boxed_view(self) -> Box<dyn View>

Returns a Box<View>.
Source§

impl<T> Nameable for T
where T: View,

Source§

fn with_name<S>(self, name: S) -> NamedView<Self>
where S: Into<String>,

Wraps this view into an NamedView with the given id. Read more
Source§

impl<T> Resizable for T
where T: View,

Source§

fn resized( self, width: SizeConstraint, height: SizeConstraint, ) -> ResizedView<Self>

Wraps self in a ResizedView with the given size constraints.
Source§

fn fixed_size<S>(self, size: S) -> ResizedView<Self>
where S: Into<XY<usize>>,

Wraps self into a fixed-size ResizedView.
Source§

fn fixed_width(self, width: usize) -> ResizedView<Self>

Wraps self into a fixed-width ResizedView.
Source§

fn fixed_height(self, height: usize) -> ResizedView<Self>

Wraps self into a fixed-width ResizedView.
Source§

fn full_screen(self) -> ResizedView<Self>

Wraps self into a full-screen ResizedView.
Source§

fn full_width(self) -> ResizedView<Self>

Wraps self into a full-width ResizedView.
Source§

fn full_height(self) -> ResizedView<Self>

Wraps self into a full-height ResizedView.
Source§

fn max_size<S>(self, size: S) -> ResizedView<Self>
where S: Into<XY<usize>>,

Wraps self into a limited-size ResizedView.
Source§

fn max_width(self, max_width: usize) -> ResizedView<Self>

Wraps self into a limited-width ResizedView.
Source§

fn max_height(self, max_height: usize) -> ResizedView<Self>

Wraps self into a limited-height ResizedView.
Source§

fn min_size<S>(self, size: S) -> ResizedView<Self>
where S: Into<XY<usize>>,

Wraps self into a ResizedView at least sized size.
Source§

fn min_width(self, min_width: usize) -> ResizedView<Self>

Wraps self in a ResizedView at least min_width wide.
Source§

fn min_height(self, min_height: usize) -> ResizedView<Self>

Wraps self in a ResizedView at least min_height tall.
Source§

impl<T> Scrollable for T
where T: View,

Source§

fn scrollable(self) -> ScrollView<Self>

Wraps self in a ScrollView.
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.
Source§

impl<T> With for T

Source§

fn wrap_with<U, F>(self, f: F) -> U
where F: FnOnce(Self) -> U,

Calls the given closure and return the result. Read more
Source§

fn with<F>(self, f: F) -> Self
where F: FnOnce(&mut Self),

Calls the given closure on self.
Source§

fn try_with<E, F>(self, f: F) -> Result<Self, E>
where F: FnOnce(&mut Self) -> Result<(), E>,

Calls the given closure on self.
Source§

fn with_if<F>(self, condition: bool, f: F) -> Self
where F: FnOnce(&mut Self),

Calls the given closure if condition == true.
Source§

impl<T> Erased for T