--- /dev/null
+package org.simantics.document.swt.core.widget;\r
+\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.swt.widgets.Label;\r
+import org.simantics.datatypes.literal.Font;\r
+import org.simantics.datatypes.literal.RGB;\r
+import org.simantics.document.server.JSONObject;\r
+import org.simantics.document.swt.core.SWTDocument;\r
+import org.simantics.document.swt.core.SWTDocumentUtils;\r
+import org.simantics.document.swt.core.base.LeafWidgetManager;\r
+\r
+public class LabelWidget extends LeafWidgetManager<Label> {\r
+\r
+ @Override\r
+ protected void doUpdateProperties(SWTDocument document, Label control, JSONObject object) {\r
+\r
+ if(control.isDisposed()) return;\r
+ \r
+ String text = object.getJSONField("text");\r
+\r
+ RGB.Integer background = object.getBeanJSONFieldDefault("background", RGB.Integer.BINDING, new RGB.Integer(255,255,255));\r
+ RGB.Integer foreground = object.getBeanJSONFieldDefault("foreground", RGB.Integer.BINDING, new RGB.Integer(0,0,0));\r
+ Font font = object.getBeanJSONFieldDefault("font", Font.BINDING, new Font("Arial",10,"Normal"));\r
+ String alignment = object.getValue("alignment");\r
+ if(alignment == null) alignment = "left";\r
+ \r
+ control.setText(text);\r
+ control.setBackground(document.getColor(background));\r
+ control.setForeground(document.getColor(foreground));\r
+ control.setFont(document.getFont(font));\r
+ \r
+ control.setAlignment(SWTDocumentUtils.getAlignment(alignment));\r
+ \r
+ }\r
+\r
+ @Override\r
+ protected Label doCreateControl(SWTDocument document, Composite parent, JSONObject object) {\r
+ Label label = new Label(parent, SWT.NONE);\r
+ return label;\r
+ }\r
+ \r
+}\r