1 package org.simantics.document.swt.core.widget;
\r
3 import org.eclipse.jface.layout.GridLayoutFactory;
\r
4 import org.eclipse.swt.SWT;
\r
5 import org.eclipse.swt.widgets.Composite;
\r
6 import org.simantics.datatypes.literal.RGB;
\r
7 import org.simantics.document.server.JSONObject;
\r
8 import org.simantics.document.swt.core.SWTDocument;
\r
9 import org.simantics.document.swt.core.base.HasWidgetsWidgetManager;
\r
10 import org.simantics.document.swt.core.bean.MarginsBean;
\r
12 public class GridComposite extends HasWidgetsWidgetManager<Composite> {
\r
15 protected void doUpdateProperties(SWTDocument document, Composite control, JSONObject object) {
\r
19 protected Composite doCreateControl(SWTDocument document, Composite parent, JSONObject object) {
\r
21 MarginsBean extendedMargins = object.getBeanJSONFieldDefault("extendedMargins", MarginsBean.BINDING, new MarginsBean(0, 0, 0, 0));
\r
22 RGB.Integer background = object.getBeanJSONFieldDefault("background", RGB.Integer.BINDING, new RGB.Integer(255,0, 0));
\r
23 Integer numColumns = object.getJSONFieldDefault("numColumns", 1);
\r
25 Composite result = new Composite(parent, SWT.NONE);
\r
26 GridLayoutFactory.fillDefaults().
\r
27 numColumns(numColumns).
\r
28 extendedMargins(extendedMargins.left, extendedMargins.right, extendedMargins.top, extendedMargins.bottom).
\r
31 result.setBackground(document.getColor(background));
\r