Struct egui::containers::panel::SidePanel
source · 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
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
ScrollArea
. - A
Separator
. - A
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
.
sourcefn show_inside_dyn<'c, R>(
self,
ui: &mut Ui,
add_contents: Box<dyn FnOnce(&mut Ui) -> R + 'c>,
) -> InnerResponse<R>
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
.
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.
sourcefn show_dyn<'c, R>(
self,
ctx: &Context,
add_contents: Box<dyn FnOnce(&mut Ui) -> R + 'c>,
) -> InnerResponse<R>
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.
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.