Struct egui::containers::Window[][src]

pub struct Window<'open> { /* fields omitted */ }

Builder for a floating window which can be dragged, closed, collapsed, resized and scrolled (off by default).

You can customize:

  • title
  • default, minimum, maximum and/or fixed size
  • if the window has a scroll area (off by default)
  • if the window can be collapsed (minimized) to just the title bar (yes, by default)
  • if there should be a close button (none by default)
egui::Window::new("My Window").show(ctx, |ui| {
   ui.label("Hello World!");
});

Implementations

impl<'open> Window<'open>[src]

pub fn new(title: impl ToString) -> Self[src]

The window title is used as a unique Id and must be unique, and should not change. This is true even if you disable the title bar with .title_bar(false). If you need a changing title, you must call window.id(…) with a fixed id.

pub fn id(self, id: Id) -> Self[src]

Assign a unique id to the Window. Required if the title changes, or is shared with another window.

pub fn open(self, open: &'open mut bool) -> Self[src]

Call this to add a close-button to the window title bar.

  • If *open == false, the window will not be visible.
  • If *open == true, the window will have a close button.
  • If the close button is pressed, *open will be set to false.

pub fn enabled(self, enabled: bool) -> Self[src]

If false the window will be grayed out and non-interactive.

pub fn mutate(self, mutate: impl Fn(&mut Self)) -> Self[src]

Usage: Window::new(...).mutate(|w| w.resize = w.resize.auto_expand_width(true)) Not sure this is a good interface for this.

pub fn resize(self, mutate: impl Fn(Resize) -> Resize) -> Self[src]

Usage: Window::new(...).resize(|r| r.auto_expand_width(true)) Not sure this is a good interface for this.

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

Change the background color, margins, etc.

pub fn min_width(self, min_width: f32) -> Self[src]

Set minimum width of the window.

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

Set minimum height of the window.

pub fn current_pos(self, current_pos: impl Into<Pos2>) -> Self[src]

Set current position of the window. If the window is movable it is up to you to keep track of where it moved to!

pub fn default_pos(self, default_pos: impl Into<Pos2>) -> Self[src]

Set initial position of the window.

pub fn anchor(self, align: Align2, offset: impl Into<Vec2>) -> Self[src]

Set anchor and distance.

An anchor of Align2::RIGHT_TOP means “put the right-top corner of the window in the right-top corner of the screen”.

The offset is added to the position, so e.g. an offset of [-5.0, 5.0] would move the window left and down from the given anchor.

Anchoring also makes the window immovable.

It is an error to set both an anchor and a position.

pub fn default_size(self, default_size: impl Into<Vec2>) -> Self[src]

Set initial size of the window.

pub fn default_width(self, default_width: f32) -> Self[src]

Set initial width of the window.

pub fn default_height(self, default_height: f32) -> Self[src]

Set initial height of the window.

pub fn default_rect(self, rect: Rect) -> Self[src]

Set initial position and size of the window.

pub fn fixed_pos(self, pos: impl Into<Pos2>) -> Self[src]

Sets the window position and prevents it from being dragged around.

pub fn fixed_size(self, size: impl Into<Vec2>) -> Self[src]

Sets the window size and prevents it from being resized by dragging its edges.

pub fn fixed_rect(self, rect: Rect) -> Self[src]

Sets the window pos and size and prevents it from being moved and resized by dragging its edges.

pub fn resizable(self, resizable: bool) -> Self[src]

Can the user resize the window by dragging its edges? Note that even if you set this to false the window may still auto-resize.

pub fn collapsible(self, collapsible: bool) -> Self[src]

Can the window be collapsed by clicking on its title?

pub fn title_bar(self, title_bar: bool) -> Self[src]

Show title bar on top of the window? If false, the window will not be collapsible nor have a close-button.

pub fn auto_sized(self) -> Self[src]

Not resizable, just takes the size of its contents. Also disabled scrolling. Text will not wrap, but will instead make your window width expand.

pub fn scroll(self, scroll: bool) -> Self[src]

Enable/disable scrolling. false by default.

pub fn drag_bounds(self, bounds: Rect) -> Self[src]

Constrain the area up to which the window can be dragged.

impl<'open> Window<'open>[src]

pub fn show(
    self,
    ctx: &CtxRef,
    add_contents: impl FnOnce(&mut Ui)
) -> Option<Response>
[src]

Returns None if the windows is not open (if Window::open was called with &mut false.

Auto Trait Implementations

impl<'open> RefUnwindSafe for Window<'open>

impl<'open> Send for Window<'open>

impl<'open> Sync for Window<'open>

impl<'open> Unpin for Window<'open>

impl<'open> !UnwindSafe for Window<'open>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.