Struct egui::containers::panel::TopBottomPanel
source · pub struct TopBottomPanel {
side: TopBottomSide,
id: Id,
frame: Option<Frame>,
resizable: bool,
show_separator_line: bool,
default_height: Option<f32>,
height_range: Rangef,
}
Expand description
A panel that covers the entire top or bottom 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::TopBottomPanel::top("my_panel").show(ctx, |ui| {
ui.label("Hello World!");
});
See also SidePanel
.
Fields§
§side: TopBottomSide
§id: Id
§frame: Option<Frame>
§resizable: bool
§show_separator_line: bool
§default_height: Option<f32>
§height_range: Rangef
Implementations§
source§impl TopBottomPanel
impl TopBottomPanel
sourcepub fn top(id: impl Into<Id>) -> Self
pub fn top(id: impl Into<Id>) -> Self
The id should be globally unique, e.g. Id::new("my_top_panel")
.
sourcepub fn bottom(id: impl Into<Id>) -> Self
pub fn bottom(id: impl Into<Id>) -> Self
The id should be globally unique, e.g. Id::new("my_bottom_panel")
.
sourcepub fn new(side: TopBottomSide, id: impl Into<Id>) -> Self
pub fn new(side: TopBottomSide, 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 false
.
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_height(self, default_height: f32) -> Self
pub fn default_height(self, default_height: f32) -> Self
The initial height of the TopBottomPanel
, including margins.
Defaults to style::Spacing::interact_size
.y, plus frame margins.
sourcepub fn min_height(self, min_height: f32) -> Self
pub fn min_height(self, min_height: f32) -> Self
Minimum height of the panel, including margins.
sourcepub fn max_height(self, max_height: f32) -> Self
pub fn max_height(self, max_height: f32) -> Self
Maximum height of the panel, including margins.
sourcepub fn height_range(self, height_range: impl Into<Rangef>) -> Self
pub fn height_range(self, height_range: impl Into<Rangef>) -> Self
The allowable height range for the panel, including margins.
sourcepub fn exact_height(self, height: f32) -> Self
pub fn exact_height(self, height: f32) -> Self
Enforce this exact height, including margins.
source§impl TopBottomPanel
impl TopBottomPanel
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.