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
impl SidePanel
Sourcepub fn left(id: impl Into<Id>) -> Self
pub fn left(id: impl Into<Id>) -> Self
The id should be globally unique, e.g. Id::new("my_left_panel")
.
Sourcepub fn right(id: impl Into<Id>) -> Self
pub fn right(id: impl Into<Id>) -> Self
The id should be globally unique, e.g. Id::new("my_right_panel")
.
Sourcepub fn new(side: Side, id: impl Into<Id>) -> Self
pub fn new(side: Side, id: impl Into<Id>) -> Self
The id should be globally unique, e.g. Id::new("my_panel")
.
Sourcepub fn resizable(self, resizable: bool) -> Self
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:
- Wrapping text (
Ui::horizontal_wrapped
). - A
crate::ScrollArea
. - A
crate::Separator
. - A
crate::TextEdit
. - …
Sourcepub fn show_separator_line(self, show_separator_line: bool) -> Self
pub fn show_separator_line(self, show_separator_line: bool) -> Self
Show a separator line, even when not interacting with it?
Default: true
.
Sourcepub fn default_width(self, default_width: f32) -> Self
pub fn default_width(self, default_width: f32) -> Self
The initial wrapping width of the SidePanel
, including margins.
Sourcepub fn width_range(self, width_range: impl Into<Rangef>) -> Self
pub fn width_range(self, width_range: impl Into<Rangef>) -> Self
The allowable width range for the panel, including margins.
Sourcepub fn exact_width(self, width: f32) -> Self
pub fn exact_width(self, width: f32) -> Self
Enforce this exact width, including margins.
Source§impl SidePanel
impl SidePanel
Sourcepub fn show_inside<R>(
self,
ui: &mut Ui,
add_contents: impl FnOnce(&mut Ui) -> R,
) -> InnerResponse<R>
pub fn show_inside<R>( self, ui: &mut Ui, add_contents: impl FnOnce(&mut Ui) -> R, ) -> InnerResponse<R>
Show the panel inside a Ui
.
Sourcepub fn show<R>(
self,
ctx: &Context,
add_contents: impl FnOnce(&mut Ui) -> R,
) -> InnerResponse<R>
pub fn show<R>( self, ctx: &Context, add_contents: impl FnOnce(&mut Ui) -> R, ) -> InnerResponse<R>
Show the panel at the top level.
Sourcepub fn show_animated<R>(
self,
ctx: &Context,
is_expanded: bool,
add_contents: impl FnOnce(&mut Ui) -> R,
) -> Option<InnerResponse<R>>
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.
Sourcepub fn show_animated_inside<R>(
self,
ui: &mut Ui,
is_expanded: bool,
add_contents: impl FnOnce(&mut Ui) -> R,
) -> Option<InnerResponse<R>>
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.
Sourcepub 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>>
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.
Sourcepub 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>
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§
impl Freeze for SidePanel
impl RefUnwindSafe for SidePanel
impl Send for SidePanel
impl Sync for SidePanel
impl Unpin for SidePanel
impl UnwindSafe for SidePanel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more