diff --git a/src/main/java/com/flowingcode/vaadin/addons/demo/SplitLayoutDemo.java b/src/main/java/com/flowingcode/vaadin/addons/demo/SplitLayoutDemo.java index 1f219c8..03ba67d 100644 --- a/src/main/java/com/flowingcode/vaadin/addons/demo/SplitLayoutDemo.java +++ b/src/main/java/com/flowingcode/vaadin/addons/demo/SplitLayoutDemo.java @@ -28,14 +28,12 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import org.apache.commons.lang3.StringUtils; @SuppressWarnings("serial") class SplitLayoutDemo extends Composite { private MultiSourceCodeViewer code; + private Component demo; private SourcePosition sourcePosition; public SplitLayoutDemo(Component demo, String sourceUrl, SourcePosition sourcePosition) { @@ -50,35 +48,31 @@ public SplitLayoutDemo(Component demo, List tabs) { properties.put("flow", Version.getFullVersion()); code = new MultiSourceCodeViewer(tabs, properties); - - this.sourcePosition = code.getSourcePosition(); - switch (this.sourcePosition) { - case PRIMARY: - getContent().addToPrimary(code); - getContent().addToSecondary(demo); - break; - case SECONDARY: - default: - getContent().addToPrimary(demo); - getContent().addToSecondary(code); - } + this.demo = demo; + setSourcePosition(code.getSourcePosition()); getContent().setSizeFull(); } - public void switchSourcePosition(SourcePosition position) { - if (!this.sourcePosition.equals(position)) { - toggleSourcePosition(); + private void setSourcePosition(SourcePosition position) { + if (!position.equals(sourcePosition)) { + getContent().removeAll(); + switch (position) { + case PRIMARY: + getContent().addToPrimary(code); + getContent().addToSecondary(demo); + break; + case SECONDARY: + default: + getContent().addToPrimary(demo); + getContent().addToSecondary(code); + } + sourcePosition = position; } } public void toggleSourcePosition() { - Component primary = getContent().getPrimaryComponent(); - Component secondary = getContent().getSecondaryComponent(); - getContent().removeAll(); - getContent().addToPrimary(secondary); - getContent().addToSecondary(primary); - this.sourcePosition = this.sourcePosition.toggle(); + setSourcePosition(sourcePosition.toggle()); } public void setOrientation(Orientation o) {