Struct Sides

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

Put some widgets on the left and right sides of a ui.

The result will look like this:

                       parent Ui
 ______________________________________________________
|                    |           |                     |  ^
| -> left widgets -> |    gap    | <- right widgets <- |  | height
|____________________|           |_____________________|  v
|                                                      |
|                                                      |

The width of the gap is dynamic, based on the max width of the parent Ui. When the parent is being auto-sized (Ui::is_sizing_pass) the gap will be as small as possible.

If the parent is not wide enough to fit all widgets, the parent will be expanded to the right.

The left widgets are added left-to-right. The right widgets are added right-to-left.

Which side is first depends on the configuration:

egui::containers::Sides::new().show(ui,
    |ui| {
        ui.label("Left");
    },
    |ui| {
        ui.label("Right");
    }
);

Implementations§

Source§

impl Sides

Source

pub fn new() -> Self

Source

pub fn height(self, height: f32) -> Self

The minimum height of the sides.

The content will be centered vertically within this height. The default height is crate::Spacing::interact_size.y.

Source

pub fn spacing(self, spacing: f32) -> Self

The horizontal spacing between the left and right UIs.

This is the minimum gap. The default is crate::Spacing::item_spacing.x.

Source

pub fn shrink_left(self) -> Self

Try to shrink widgets on the left side.

Right widgets will be added first. The left Uis max rect will be limited to the remaining space.

Source

pub fn shrink_right(self) -> Self

Try to shrink widgets on the right side.

Left widgets will be added first. The right Uis max rect will be limited to the remaining space.

Source

pub fn extend(self) -> Self

Extend the left and right sides to fill the available space.

This is the default behavior. The left widgets will be added first, followed by the right widgets.

Source

pub fn wrap_mode(self, wrap_mode: TextWrapMode) -> Self

The text wrap mode for the shrinking side.

Does nothing if Self::extend is used (the default).

Source

pub fn truncate(self) -> Self

Truncate the text on the shrinking side.

This is a shortcut for Self::wrap_mode. Does nothing if Self::extend is used (the default).

Source

pub fn wrap(self) -> Self

Wrap the text on the shrinking side.

This is a shortcut for Self::wrap_mode. Does nothing if Self::extend is used (the default).

Source

pub fn show<RetL, RetR>( self, ui: &mut Ui, add_left: impl FnOnce(&mut Ui) -> RetL, add_right: impl FnOnce(&mut Ui) -> RetR, ) -> (RetL, RetR)

Trait Implementations§

Source§

impl Clone for Sides

Source§

fn clone(&self) -> Sides

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Sides

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Sides

Source§

fn default() -> Sides

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

impl Copy for Sides

Auto Trait Implementations§

§

impl Freeze for Sides

§

impl RefUnwindSafe for Sides

§

impl Send for Sides

§

impl Sync for Sides

§

impl Unpin for Sides

§

impl UnwindSafe for Sides

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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> SerializableAny for T
where T: 'static + Any + Clone + for<'a> Send + Sync,