diff options
-rw-r--r-- | plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/widgets/SashComposite.java | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/widgets/SashComposite.java b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/widgets/SashComposite.java index dc978aa399..a45330089c 100644 --- a/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/widgets/SashComposite.java +++ b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/widgets/SashComposite.java @@ -71,10 +71,6 @@ public abstract class SashComposite extends Composite control2.setLayoutData(control2Data); init(); - if (!vertical) - { - swap(); - } } public boolean isVertical() @@ -87,7 +83,16 @@ public abstract class SashComposite extends Composite if (this.vertical != vertical) { this.vertical = vertical; - swap(); + + Sash newSash = createSash(this); + newSash.moveBelow(control1); + newSash.setLayoutData(sash.getLayoutData()); + + sash.setLayoutData(null); + sash.dispose(); + sash = newSash; + + init(); layout(); } } @@ -123,6 +128,11 @@ public abstract class SashComposite extends Composite control2Data.right = new FormAttachment(100, 0); control2Data.top = new FormAttachment(0, 0); control2Data.bottom = new FormAttachment(100, 0); + + if (!vertical) + { + swap(); + } } protected void swap() |