Splitter
class in package klyn.gui.windows

    public class Splitter extends Container:

Widget
└ Container
└ Splitter

Two-pane resizable container.

A splitter lays out a first and second widget separated by a draggable handle. The handle position is exposed as a percentage through `ratio`, while the internal drag precision remains finer to keep resizing smooth. The native backend automatically displays the matching horizontal or vertical resize cursor while the pointer is over the handle. Setting either pane's `isManaged` property to `false` collapses that pane; the remaining pane then fills the splitter and the handle is disabled.

    left = TreeView()
    right = TabWidget()
    splitter = Splitter(Splitter.HORIZONTAL, left, right)
    splitter.ratio = 30
    right.isManaged = false
    splitter.applyLayout()  # left now occupies the complete splitter

Fields

Modifier and Type | Member | Description
--- | --- | ---
public static readonly | HORIZONTAL `HORIZONTAL as String = "horizontal"` | Horizontal splitter: panes are arranged left/right.
public static readonly | VERTICAL `VERTICAL as String = "vertical"` | Vertical splitter: panes are arranged top/bottom.

Properties

Modifier and Type | Member | Description
--- | --- | ---
public property | handleSize `handleSize as Int = 8` | Draggable handle thickness in pixels.
public property | minimumFirstPaneSize `minimumFirstPaneSize as Int = 220` | Minimum size kept for the first pane while dragging.
public property | minimumSecondPaneSize `minimumSecondPaneSize as Int = 520` | Minimum size kept for the second pane while dragging.
public property | orientation `orientation as String` | Split orientation, `horizontal` or `vertical`.
public property | ratio `ratio as Int:` | Approximate first-pane percentage, clamped between 15 and 85.

Inherited Properties
property Inherited Properties from Container: autoRelayout, childCount, layout, padding
property Inherited Properties from Widget: accentColor, backgroundColor, borderColor, bottom, canFocus, cornerRadius, cursor, font, foregroundColor, hasFocus, height, isEnabled, isHovered, isManaged, isTabStop, isVisible, layoutParams, margin, maxHeight, maxWidth, minHeight, minWidth, parent, preferredHeight, preferredWidth, resolvedStyleCache, resolvedStyleCacheAppearanceMode, resolvedStyleCacheFont, resolvedStyleCacheRevision, resolvedStyleCacheStateKey, resolvedStyleCacheStyleClass, resolvedStyleCacheZoomRevision, right, size, sizePolicy, styleClass, toolTip, width, window, x, y
Inherited Events
event Inherited Events from Widget: keyPressed, keyReleased, mouseMoved, mousePressed, mouseReleased, mouseWheel, paintRequested, resized
Constructors

Modifier and Type | Member | Description
--- | --- | ---
public | Splitter `Splitter(orientation as String = Splitter.HORIZONTAL, first as Widget = null, second as Widget = null):` | Creates a splitter with optional initial panes.

Methods

Modifier and Type | Member | Description
--- | --- | ---
public override | applyLayout `applyLayout(recursive as Boolean = true) as Void:` | No summary.
public | beginDragAt `beginDragAt(x as Int, y as Int) as Boolean:` | Starts dragging the splitter handle when the pointer is over it.
public | dragTo `dragTo(x as Int, y as Int) as Boolean:` | Moves the splitter handle during an active drag.
public | endDrag `endDrag() as Void:` | Ends the current splitter drag.
public override | paint `paint(painter as Painter) as Void:` | No summary.
public override | paintOverlay `paintOverlay(painter as Painter) as Void:` | No summary.
public override | setBounds `setBounds(x as Int, y as Int, width as Int, height as Int) as Void:` | No summary.
public | setFirst `setFirst(widget as Widget) as Void:` | Replaces the first pane.
public | setSecond `setSecond(widget as Widget) as Void:` | Replaces the second pane.

Inherited Methods
method Inherited Methods from Container: add, applyLayout, attachWindow, children, clear, remove, withLayout
method Inherited Methods from Widget: blur, containsPoint, emitKeyPressed, emitKeyReleased, emitMouseMoved, emitMousePressed, emitMouseReleased, emitMouseWheel, handleTabKey, notifyPaintRequested, paint, paintClipped, paintOverlay, repaint, requestFocus, resolvePreferredHeight, resolvePreferredWidth, resolvedFont, setBounds
Inherited Operators
operator Inherited Operators from Container: operator[](index as Int) as Widget:, operator[](index as UInt) as Widget: