Struct TopBottomPanel

Source
pub struct TopBottomPanel { /* private fields */ }
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.

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 to make the ui use the available space.

This can be done by using Ui::take_available_space, or using 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

pub fn show<R>( self, ctx: &Context, add_contents: impl FnOnce(&mut Ui) -> R, ) -> 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.