pub struct SidePanel {
    side: Side,
    id: Id,
    frame: Option<Frame>,
    resizable: bool,
    show_separator_line: bool,
    default_width: f32,
    width_range: Rangef,
}
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.

Fields§

§side: Side§id: Id§frame: Option<Frame>§resizable: bool§show_separator_line: bool§default_width: f32§width_range: Rangef

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

source

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

Minimum width of the panel.

source

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

Maximum width of the panel.

source

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

The allowable width range for the panel.

source

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

Enforce this exact width.

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

fn show_inside_dyn<'c, R>( self, ui: &mut Ui, add_contents: Box<dyn FnOnce(&mut Ui) -> R + 'c> ) -> 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

fn show_dyn<'c, R>( self, ctx: &Context, add_contents: Box<dyn FnOnce(&mut Ui) -> R + 'c> ) -> 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>,

§

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

§

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.