X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2FTSplitPane.java;h=7c85278f88d0d6df3ff34f01064e2be57d25481d;hb=12b90437b5f22c2ae6e9b9b14c3b62b60f6143e5;hp=5a65736add6ae1296860c7306295cc45bbfb8d09;hpb=90d87fca1ee987e6650b90beafc7831cbca0a457;p=fanfix.git diff --git a/src/jexer/TSplitPane.java b/src/jexer/TSplitPane.java index 5a65736..7c85278 100644 --- a/src/jexer/TSplitPane.java +++ b/src/jexer/TSplitPane.java @@ -124,8 +124,6 @@ public class TSplitPane extends TWidget { // Resize me super.onResize(event); - // System.err.println("onResize(): " + toString()); - if (vertical && (split >= getWidth() - 2)) { center(); } else if (!vertical && (split >= getHeight() - 2)) { @@ -172,9 +170,6 @@ public class TSplitPane extends TWidget { this.mouse = mouse; if (inSplitMove && mouse.isMouse1()) { - // DEBUG - // System.err.println(toPrettyString()); - // Stop moving split inSplitMove = false; return; @@ -501,36 +496,29 @@ public class TSplitPane extends TWidget { * Layout the two child widgets. */ private void layoutChildren() { - - // System.err.println("layoutChildren(): " + toString()); - if (vertical) { if (left != null) { left.setDimensions(0, 0, split, getHeight()); left.onResize(new TResizeEvent(TResizeEvent.Type.WIDGET, left.getWidth(), left.getHeight())); - // System.err.println(" move/size left: " + left.toString()); } if (right != null) { right.setDimensions(split + 1, 0, getWidth() - split - 1, getHeight()); right.onResize(new TResizeEvent(TResizeEvent.Type.WIDGET, right.getWidth(), right.getHeight())); - // System.err.println(" move/size right: " + right.toString()); } } else { if (top != null) { top.setDimensions(0, 0, getWidth(), split); top.onResize(new TResizeEvent(TResizeEvent.Type.WIDGET, top.getWidth(), top.getHeight())); - // System.err.println(" move/size top: " + top.toString()); } if (bottom != null) { bottom.setDimensions(0, split + 1, getWidth(), getHeight() - split - 1); bottom.onResize(new TResizeEvent(TResizeEvent.Type.WIDGET, bottom.getWidth(), bottom.getHeight())); - // System.err.println(" move/size bottom: " + bottom.toString()); } } } @@ -587,15 +575,27 @@ public class TSplitPane extends TWidget { remove(false); if (keep == null) { + if (myParent instanceof TSplitPane) { + // TSplitPane has a left/right/top/bottom link to me + // somewhere, remove it. + ((TSplitPane) myParent).removeWidget(this); + } + // Nothing is left of either pane. Remove me and bail out. return null; } - keep.setParent(myParent, false); - keep.setDimensions(getX(), getY(), getWidth(), getHeight()); - keep.onResize(new TResizeEvent(TResizeEvent.Type.WIDGET, getWidth(), - getHeight())); - + if (myParent instanceof TSplitPane) { + // TSplitPane has a left/right/top/bottom link to me + // somewhere, replace me with keep. + ((TSplitPane) myParent).replaceWidget(this, keep); + } else { + keep.setParent(myParent, false); + keep.setDimensions(getX(), getY(), getWidth(), getHeight()); + keep.onResize(new TResizeEvent(TResizeEvent.Type.WIDGET, getWidth(), + getHeight())); + } + return keep; }