Skip to main content

DockLayout

Enum DockLayout 

Source
pub enum DockLayout {
    Tabs(Vec<WindowKey>),
    Split {
        direction: DockSplit,
        ratio: f32,
        first: Box<DockLayout>,
        second: Box<DockLayout>,
    },
}
Expand description

A complete declarative dock tree.

Variants§

§

Tabs(Vec<WindowKey>)

One leaf node containing zero or more tabbed windows.

An empty list intentionally leaves the leaf available as an empty docking target. Dear ImGui’s builder does not preserve the relative order of these windows.

§

Split

Split a node and recursively populate both resulting children.

Fields

§direction: DockSplit

Side occupied by first.

§ratio: f32

Fraction of the parent occupied by first.

§first: Box<DockLayout>

Layout placed on direction’s side.

§second: Box<DockLayout>

Layout placed in the remaining space.

Implementations§

Source§

impl DockLayout

Source

pub fn tabs(windows: impl IntoIterator<Item = impl Into<WindowKey>>) -> Self

Create one tab leaf from stable window keys.

Source

pub fn split( direction: DockSplit, ratio: f32, first: DockLayout, second: DockLayout, ) -> Self

Split a node into a directional child and the remaining child.

Source

pub fn validate(&self) -> Result<(), DockspaceError>

Validate the complete layout without touching Dear ImGui state.

Trait Implementations§

Source§

impl Clone for DockLayout

Source§

fn clone(&self) -> DockLayout

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DockLayout

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for DockLayout

Source§

fn eq(&self, other: &DockLayout) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for DockLayout

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.