Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Schindl2016-11-28 14:16:54 +0000
committerTom Schindl2016-11-28 14:16:54 +0000
commit1073f2508d5e2b8e16aac6b652af7f4946ec7dc9 (patch)
tree04b57391e2b195fd8060a70f3ccfa41e595d7a2c
parent21845b5cc2713db7af7d5d2c46e2ed6dcd68e56d (diff)
downloadorg.eclipse.efxclipse-1073f2508d5e2b8e16aac6b652af7f4946ec7dc9.tar.gz
org.eclipse.efxclipse-1073f2508d5e2b8e16aac6b652af7f4946ec7dc9.tar.xz
org.eclipse.efxclipse-1073f2508d5e2b8e16aac6b652af7f4946ec7dc9.zip
refs #12
-rwxr-xr-xbundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/widget/WSash.java18
-rwxr-xr-xbundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefSashRenderer.java12
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);

Back to the top