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

source

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

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

source

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

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

source

pub fn new(side: TopBottomSide, 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 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:

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_height(self, default_height: f32) -> Self

The initial height of the TopBottomPanel, including margins. Defaults to crate::style::Spacing::interact_size.y, plus frame margins.

source

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

Minimum height of the panel, including margins.

source

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

Maximum height of the panel, including margins.

source

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

The allowable height range for the panel, including margins.

source

pub fn exact_height(self, height: f32) -> Self

Enforce this exact height, including margins.

source

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

Change the background color, margins, etc.

source§

impl TopBottomPanel

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

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.