Skip to content

Splitter

Creates resizable panes with pointer and keyboard-operated handles.

Loading interactive demo…

#Import

Import Splitter from quickgui.

use quickgui::*;

#Usage

let splitter = Splitter::new("workspace", &state);
splitter.root().flex_row()

#Anatomy

  • Splitter::root
  • Splitter::pane
  • Splitter::handle

#API reference

Expand an entry for its description and complete signature. A dash means no declaration default is documented.

Splitter

View source
pub fn new(root_id: impl Into<ElementId>, state: &SplitterState) -> Self
root_idpub const fn root_id(self) -> ElementId—

Configures root id for this part.

pub const fn root_id(self) -> ElementId
View source
statepub const fn state(self) -> SplitterState—

Configures state for this part.

pub const fn state(self) -> SplitterState
View source
pane_idpub fn pane_id(self, index: usize) -> ElementId—

Configures pane id for this part.

pub fn pane_id(self, index: usize) -> ElementId
View source
handle_idpub fn handle_id(self, index: usize) -> ElementId—

Configures handle id for this part.

pub fn handle_id(self, index: usize) -> ElementId
View source
panepub fn pane(self, index: usize) -> Option<SplitterPane>—

Describe one pane.

pub fn pane(self, index: usize) -> Option<SplitterPane>
View source
handlepub fn handle(self, index: usize) -> Option<SplitterHandle>—

Describe the handle that sits after pane `index`.

pub fn handle(self, index: usize) -> Option<SplitterHandle>
View source

Splitter::root_with

View source
pub fn root_with(self, root: Element) -> Element

Decorate an application-owned root without adding appearance. The root becomes a flex container on the split axis because pane order along that axis is the behavior itself. Colors, gaps, borders, and padding stay caller-owned.

Splitter::root

View source
pub fn root(self) -> Element

Create the unstyled root part. Use [`Self::root_with`] to supply an existing element.