Struct SidePanel

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

A panel that covers the entire left or right side of a Ui or screen.

The order in which you add panels matter! The first panel you add will always be the outermost, and the last you add will always be the innermost.

⚠ Always add any CentralPanel last.

See the module level docs for more details.

egui::SidePanel::left("my_left_panel").show(ctx, |ui| {
   ui.label("Hello World!");
});

See also TopBottomPanel.

Implementations§

Source§

impl SidePanel

Source

pub fn left(id: impl Into<Id>) -> Self

The id should be globally unique, e.g. Id::new("my_left_panel").

Source

pub fn right(id: impl Into<Id>) -> Self

The id should be globally unique, e.g. Id::new("my_right_panel").

Source

pub fn new(side: Side, id: impl Into<Id>) -> Self

The id should be globally unique, e.g. Id::new("my_panel").

Source

pub fn resizable(self, resizable: bool) -> Self

Can panel be resized by dragging the edge of it?

Default is true.

If you want your panel to be resizable you also need to make the ui use the available space.

This can be done by using Ui::take_available_space, or using a widget in it that takes up more space as you resize it, such as:

Source

pub fn show_separator_line(self, show_separator_line: bool) -> Self

Show a separator line, even when not interacting with it?

Default: true.

Source

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

The initial wrapping width of the SidePanel, including margins.

Source

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

Minimum width of the panel, including margins.

Source

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

Maximum width of the panel, including margins.

Source

pub fn width_range(self, width_range: impl Into<Rangef>) -> Self

The allowable width range for the panel, including margins.

Source

pub fn exact_width(self, width: f32) -> Self

Enforce this exact width, including margins.

Source

pub fn frame(self, frame: Frame) -> Self

Change the background color, margins, etc.

Source§

impl SidePanel

Source

pub fn show_inside<R>( self, ui: &mut Ui, add_contents: impl FnOnce(&mut Ui) -> R, ) -> InnerResponse<R>

Show the panel inside a Ui.

Source

pub fn show<R>( self, ctx: &Context, add_contents: impl FnOnce(&mut Ui) -> R, ) -> InnerResponse<R>

Show the panel at the top level.

Source

pub fn show_animated<R>( self, ctx: &Context, is_expanded: bool, add_contents: impl FnOnce(&mut Ui) -> R, ) -> Option<InnerResponse<R>>

Show the panel if is_expanded is true, otherwise don’t show it, but with a nice animation between collapsed and expanded.

Source

pub fn show_animated_inside<R>( self, ui: &mut Ui, is_expanded: bool, add_contents: impl FnOnce(&mut Ui) -> R, ) -> Option<InnerResponse<R>>

Show the panel if is_expanded is true, otherwise don’t show it, but with a nice animation between collapsed and expanded.

Source

pub fn show_animated_between<R>( ctx: &Context, is_expanded: bool, collapsed_panel: Self, expanded_panel: Self, add_contents: impl FnOnce(&mut Ui, f32) -> R, ) -> Option<InnerResponse<R>>

Show either a collapsed or a expanded panel, with a nice animation between.

Source

pub fn show_animated_between_inside<R>( ui: &mut Ui, is_expanded: bool, collapsed_panel: Self, expanded_panel: Self, add_contents: impl FnOnce(&mut Ui, f32) -> R, ) -> InnerResponse<R>

Show either a collapsed or a expanded panel, with a nice animation between.

Auto Trait Implementations§

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> 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, 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.