splitPane method
TilingPaneManager
splitPane({
- required String targetPaneId,
- required String splitId,
- required String splitPaneId,
- required PaneSplitDirection direction,
- double ratio = 0.5,
Splits the target pane into two children and returns a new manager.
Implementation
TilingPaneManager splitPane({
required String targetPaneId,
required String splitId,
required String splitPaneId,
required PaneSplitDirection direction,
double ratio = 0.5,
}) {
if (splitPaneId == targetPaneId) {
throw StateError('splitPaneId cannot equal targetPaneId');
}
final nextRatio = _clampRatio(ratio);
final nextRoot = _splitNode(
root,
targetPaneId,
splitId,
splitPaneId,
direction,
nextRatio,
);
if (nextRoot == root) {
throw StateError('target pane not found: $targetPaneId');
}
return TilingPaneManager._(
root: nextRoot,
focusedPaneId: focusedPaneId,
paneMinWidth: paneMinWidth,
paneMinHeight: paneMinHeight,
snapThreshold: snapThreshold,
);
}