Panel

Struct Panel 

Source
pub struct Panel {
    side: PanelSide,
    id: Id,
    frame: Option<Frame>,
    resizable: bool,
    show_separator_line: bool,
    default_size: Option<f32>,
    size_range: Rangef,
}
Expand description

A panel that covers an entire side (left, right, 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::Panel::left("my_left_panel").show_inside(ui, |ui| {
   ui.label("Hello World!");
});

Fields§

§side: PanelSide§id: Id§frame: Option<Frame>§resizable: bool§show_separator_line: bool§default_size: Option<f32>

The size is defined as being either the width for a Vertical Panel or the height for a Horizontal Panel.

§size_range: Rangef

The size is defined as being either the width for a Vertical Panel or the height for a Horizontal Panel.

Implementations§

Source§

impl Panel

Source

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

Create a left panel.

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

Source

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

Create a right panel.

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

Source

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

Create a top panel.

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

By default this is NOT resizable.

Source

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

Create a bottom panel.

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

By default this is NOT resizable.

Source

fn new(side: PanelSide, id: impl Into<Id>) -> Self

Create a panel.

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 true.

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_size(self, default_size: f32) -> Self

The initial wrapping width of the Panel, including margins.

Source

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

Minimum size of the panel, including margins.

Source

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

Maximum size of the panel, including margins.

Source

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

The allowable size range for the panel, including margins.

Source

pub fn exact_size(self, size: f32) -> Self

Enforce this exact size, including margins.

Source

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

Change the background color, margins, etc.

Source§

impl Panel

Source

pub fn default_width(self, default_size: f32) -> Self

👎Deprecated: Renamed default_size
Source

pub fn min_width(self, min_size: f32) -> Self

👎Deprecated: Renamed min_size
Source

pub fn max_width(self, max_size: f32) -> Self

👎Deprecated: Renamed max_size
Source

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

👎Deprecated: Renamed size_range
Source

pub fn exact_width(self, size: f32) -> Self

👎Deprecated: Renamed exact_size
Source

pub fn default_height(self, default_size: f32) -> Self

👎Deprecated: Renamed default_size
Source

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

👎Deprecated: Renamed min_size
Source

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

👎Deprecated: Renamed max_size
Source

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

👎Deprecated: Renamed size_range
Source

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

👎Deprecated: Renamed exact_size
Source§

impl Panel

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>

👎Deprecated: Use show_inside() instead

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

👎Deprecated: Use show_animated_inside() instead

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

👎Deprecated: Use show_animated_between_inside() instead

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.

Source§

impl Panel

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

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

fn prepare_resizable_panel(&self, panel_sizer: &mut PanelSizer<'_>, ui: &Ui)

Source

fn resize_panel(&self, panel_sizer: &PanelSizer<'_>, ui: &Ui) -> (bool, bool)

Source

fn cursor_icon(&self, panel_sizer: &PanelSizer<'_>) -> CursorIcon

Source

fn get_animated_panel(self, ctx: &Context, is_expanded: bool) -> Option<Self>

Get the real or fake panel to animate if is_expanded is true.

Source

fn get_animated_between_panel( ctx: &Context, is_expanded: bool, collapsed_panel: Self, expanded_panel: Self, ) -> Self

Get either the collapsed or expended panel to animate.

Source

fn animated_size(ctx: &Context, panel: &Self) -> f32

Auto Trait Implementations§

§

impl Freeze for Panel

§

impl RefUnwindSafe for Panel

§

impl Send for Panel

§

impl Sync for Panel

§

impl Unpin for Panel

§

impl UnwindSafe for Panel

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, S> SimdFrom<T, S> for T
where S: Simd,

Source§

fn simd_from(value: T, _simd: S) -> T

Source§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

Source§

fn simd_into(self, simd: S) -> T

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.