Struct rerun::external::eframe::egui::TopBottomPanel
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§
§impl TopBottomPanel
impl TopBottomPanel
pub fn top(id: impl Into<Id>) -> TopBottomPanel
pub fn top(id: impl Into<Id>) -> TopBottomPanel
The id should be globally unique, e.g. Id::new("my_top_panel")
.
pub fn bottom(id: impl Into<Id>) -> TopBottomPanel
pub fn bottom(id: impl Into<Id>) -> TopBottomPanel
The id should be globally unique, e.g. Id::new("my_bottom_panel")
.
pub fn new(side: TopBottomSide, id: impl Into<Id>) -> TopBottomPanel
pub fn new(side: TopBottomSide, id: impl Into<Id>) -> TopBottomPanel
The id should be globally unique, e.g. Id::new("my_panel")
.
pub fn resizable(self, resizable: bool) -> TopBottomPanel
pub fn resizable(self, resizable: bool) -> TopBottomPanel
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
crate::ScrollArea
. - A
crate::Separator
. - A
crate::TextEdit
. - …
pub fn show_separator_line(self, show_separator_line: bool) -> TopBottomPanel
pub fn show_separator_line(self, show_separator_line: bool) -> TopBottomPanel
Show a separator line, even when not interacting with it?
Default: true
.
pub fn default_height(self, default_height: f32) -> TopBottomPanel
pub fn default_height(self, default_height: f32) -> TopBottomPanel
The initial height of the TopBottomPanel
, including margins.
Defaults to crate::style::Spacing::interact_size
.y, plus frame margins.
pub fn min_height(self, min_height: f32) -> TopBottomPanel
pub fn min_height(self, min_height: f32) -> TopBottomPanel
Minimum height of the panel, including margins.
pub fn max_height(self, max_height: f32) -> TopBottomPanel
pub fn max_height(self, max_height: f32) -> TopBottomPanel
Maximum height of the panel, including margins.
pub fn height_range(self, height_range: impl Into<Rangef>) -> TopBottomPanel
pub fn height_range(self, height_range: impl Into<Rangef>) -> TopBottomPanel
The allowable height range for the panel, including margins.
pub fn exact_height(self, height: f32) -> TopBottomPanel
pub fn exact_height(self, height: f32) -> TopBottomPanel
Enforce this exact height, including margins.
pub fn frame(self, frame: Frame) -> TopBottomPanel
pub fn frame(self, frame: Frame) -> TopBottomPanel
Change the background color, margins, etc.
§impl TopBottomPanel
impl TopBottomPanel
pub 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
.
pub 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.
pub 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.
pub 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.
pub fn show_animated_between<R>(
ctx: &Context,
is_expanded: bool,
collapsed_panel: TopBottomPanel,
expanded_panel: TopBottomPanel,
add_contents: impl FnOnce(&mut Ui, f32) -> R
) -> Option<InnerResponse<R>>
pub fn show_animated_between<R>( ctx: &Context, is_expanded: bool, collapsed_panel: TopBottomPanel, expanded_panel: TopBottomPanel, add_contents: impl FnOnce(&mut Ui, f32) -> R ) -> Option<InnerResponse<R>>
Show either a collapsed or a expanded panel, with a nice animation between.
pub fn show_animated_between_inside<R>(
ui: &mut Ui,
is_expanded: bool,
collapsed_panel: TopBottomPanel,
expanded_panel: TopBottomPanel,
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: TopBottomPanel, expanded_panel: TopBottomPanel, 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 TopBottomPanel
impl RefUnwindSafe for TopBottomPanel
impl Send for TopBottomPanel
impl Sync for TopBottomPanel
impl Unpin for TopBottomPanel
impl UnwindSafe for TopBottomPanel
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> CheckedAs for T
impl<T> CheckedAs for T
source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moresource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request