]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.views.swt.client/src/org/simantics/views/swt/client/impl/SWTSashForm.java
Several Wiki documentation view improvements.
[simantics/platform.git] / bundles / org.simantics.views.swt.client / src / org / simantics / views / swt / client / impl / SWTSashForm.java
1 package org.simantics.views.swt.client.impl;\r
2 \r
3 import org.eclipse.swt.custom.SashForm;\r
4 import org.eclipse.swt.widgets.Control;\r
5 import org.eclipse.swt.widgets.Sash;\r
6 import org.simantics.views.ViewUtils.LayoutBean;\r
7 import org.simantics.views.swt.client.base.SWTViewUtils;\r
8 import org.simantics.views.swt.client.base.SingleSWTViewNode;\r
9 \r
10 public class SWTSashForm extends SingleSWTViewNode<SashForm> {\r
11         \r
12         private static final long serialVersionUID = 7932335224632082902L;\r
13         \r
14         public LayoutBean layout;\r
15         public int[] weights;\r
16         public Integer orientation;\r
17         \r
18         @Override\r
19         public void createControls(org.eclipse.swt.widgets.Composite parent) {\r
20                 \r
21         control = new SashForm(parent, style);\r
22         \r
23         createChildComposites();\r
24         \r
25         setProperties();\r
26         \r
27         }\r
28 \r
29         final public void synchronizeLayout(LayoutBean layout) {\r
30                 if(layout != null) control.setLayout(SWTViewUtils.toLayout(layout));\r
31         }\r
32 \r
33         final public void synchronizeWeights(int[] weights) {\r
34                 if(weights != null) {\r
35                         int childCount = 0; \r
36                         for(Control c : control.getChildren()) {\r
37                                 if (c instanceof Sash) continue;\r
38                                 childCount++;\r
39                         }\r
40                         if(weights.length != childCount) throw new IllegalStateException("Got " + weights.length + " weights, but had " + childCount + " children.");\r
41                         control.setWeights(weights);\r
42                 }\r
43         }\r
44         final public void synchronizeOrientation(Integer orientation) {\r
45                 if(orientation != null) control.setOrientation(orientation);\r
46         }\r
47         \r
48 }\r