diff options
author | Tom Schindl | 2016-11-28 14:16:54 +0000 |
---|---|---|
committer | Tom Schindl | 2016-11-28 14:16:54 +0000 |
commit | 1073f2508d5e2b8e16aac6b652af7f4946ec7dc9 (patch) | |
tree | 04b57391e2b195fd8060a70f3ccfa41e595d7a2c | |
parent | 21845b5cc2713db7af7d5d2c46e2ed6dcd68e56d (diff) | |
download | org.eclipse.efxclipse-1073f2508d5e2b8e16aac6b652af7f4946ec7dc9.tar.gz org.eclipse.efxclipse-1073f2508d5e2b8e16aac6b652af7f4946ec7dc9.tar.xz org.eclipse.efxclipse-1073f2508d5e2b8e16aac6b652af7f4946ec7dc9.zip |
refs #12
Change-Id: Ie06d554bc3ea3a0d351e2fddc674cf52b2171a6c
2 files changed, 24 insertions, 6 deletions
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/widget/WSash.java b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/widget/WSash.java index a3c1a1335..249fe2c41 100755 --- a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/widget/WSash.java +++ b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/widget/WSash.java @@ -18,7 +18,7 @@ import org.eclipse.jdt.annotation.NonNull; /** * Widget abstraction for sash - * + * * @param <N> * the native widget */ @@ -65,8 +65,14 @@ public interface WSash<N> extends WLayoutedWidget<MPartSashContainer> { public static final String FIXED_LAYOUT_GRAB_VERTICAL = "fx_layout_grab_vertical"; //$NON-NLS-1$ /** + * A child of a sash tagged with {@link #TAG_NO_AUTO_RESIZE} will not resize + * if its parent is growing shrinking + */ + public static final String TAG_NO_AUTO_RESIZE = "fx_no_auto_resize"; //$NON-NLS-1$ + + /** * Append a widget - * + * * @param widget * the widget */ @@ -79,7 +85,7 @@ public interface WSash<N> extends WLayoutedWidget<MPartSashContainer> { /** * Append a list of widgets - * + * * @param list * the list of widgets */ @@ -87,7 +93,7 @@ public interface WSash<N> extends WLayoutedWidget<MPartSashContainer> { /** * Insert items at the given index - * + * * @param index * the index * @param list @@ -97,12 +103,12 @@ public interface WSash<N> extends WLayoutedWidget<MPartSashContainer> { /** * Remove item - * + * * @param widget * the widget */ public void removeItem(@NonNull WLayoutedWidget<MPartSashContainerElement> widget); - + /** * Update the layout */ diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefSashRenderer.java b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefSashRenderer.java index c33e9b624..b6690e967 100755 --- a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefSashRenderer.java +++ b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefSashRenderer.java @@ -53,6 +53,7 @@ public class DefSashRenderer extends BaseSashRenderer<Node> { if (container.getTags().contains(WSash.TAG_FIXED_LAYOUT)) { return WFixedSashImpl.class; } else if(Boolean.getBoolean("efxclipse.eclipse.compat.sash")) { //$NON-NLS-1$ + System.err.println("======> CUSTOM IMPL"); return WResizableSashImpl_2.class; } else { return WResizableSashImpl.class; @@ -314,9 +315,18 @@ public class DefSashRenderer extends BaseSashRenderer<Node> { return getWidget(); } + private static void setResizableWithParent(WLayoutedWidget widget) { + MUIElement domElement = widget.getDomElement(); + if( domElement != null ) { + System.err.println(domElement); + SplitPane.setResizableWithParent((Node)widget.getStaticLayoutNode(), ! domElement.getTags().contains(WSash.TAG_NO_AUTO_RESIZE)); + } + } + @Override public void addItem(WLayoutedWidget<MPartSashContainerElement> widget) { SplitPane p = getWidget(); + setResizableWithParent(widget); p.getItems().add((Node) widget.getStaticLayoutNode()); this.items.add(widget); updateDividers(); @@ -327,6 +337,7 @@ public class DefSashRenderer extends BaseSashRenderer<Node> { SplitPane p = getWidget(); List<Node> l = new ArrayList<Node>(); for (WLayoutedWidget<MPartSashContainerElement> i : list) { + setResizableWithParent(i); l.add((Node) i.getStaticLayoutNode()); } p.getItems().addAll(index, l); @@ -339,6 +350,7 @@ public class DefSashRenderer extends BaseSashRenderer<Node> { SplitPane p = getWidget(); List<Node> l = new ArrayList<Node>(); for (WLayoutedWidget<MPartSashContainerElement> i : list) { + setResizableWithParent(i); l.add((Node) i.getStaticLayoutNode()); } p.getItems().addAll(l); |