-package org.simantics.views.swt.loader;\r
-\r
-import org.simantics.databoard.Bindings;\r
-import org.simantics.datatypes.literal.Font;\r
-import org.simantics.datatypes.literal.RGB;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.VirtualGraph;\r
-import org.simantics.db.WriteGraph;\r
-import org.simantics.db.common.request.WriteRequest;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.layer0.util.Simantics;\r
-import org.simantics.db.layer0.variable.Variable;\r
-import org.simantics.scenegraph.ParentNode;\r
-import org.simantics.scenegraph.loader.ScenegraphLoader;\r
-import org.simantics.utils.ui.widgets.TrackedModifyEvent;\r
-import org.simantics.utils.ui.widgets.TrackedModifyListener;\r
-import org.simantics.views.ViewUtils;\r
-import org.simantics.views.ontology.ViewsResources;\r
-import org.simantics.views.swt.client.base.ISWTViewNode;\r
-import org.simantics.views.swt.client.impl.SWTTrackedText;\r
-\r
-public class TrackedTextLoader implements ScenegraphLoader {\r
-\r
- final private Resource configuration;\r
- \r
- public TrackedTextLoader(Resource configuration) {\r
- this.configuration = configuration;\r
- }\r
- \r
- @Override\r
- public ISWTViewNode create(ParentNode<ISWTViewNode> parent, final Variable context) throws DatabaseException {\r
- \r
- SWTTrackedText node = parent.addNode(SWTTrackedText.class);\r
- \r
- node.setLayoutData(LoaderUtils.getGridData(configuration));\r
- node.setStyle(LoaderUtils.getStyle(configuration));\r
- \r
- LoaderUtils.listen(configuration, context, ViewsResources.URIs.TextContainer_HasText, node.getTextFunction());\r
- LoaderUtils.listen(configuration, context, ViewsResources.URIs.Control_HasForeground, RGB.Integer.BINDING, node.getForegroundFunction());\r
- LoaderUtils.listen(configuration, context, ViewsResources.URIs.TrackedText_HasInvalidBackground, RGB.Integer.BINDING, node.getInvalidBackgroundFunction());\r
- LoaderUtils.listen(configuration, context, ViewsResources.URIs.TrackedText_HasInactiveBackground, RGB.Integer.BINDING, node.getInactiveBackgroundFunction());\r
- LoaderUtils.listen(configuration, context, ViewsResources.URIs.TrackedText_HasHoverBackground, RGB.Integer.BINDING, node.getHoverBackgroundFunction());\r
- LoaderUtils.listen(configuration, context, ViewsResources.URIs.TrackedText_HasEditingBackground, RGB.Integer.BINDING, node.getEditingBackgroundFunction());\r
- LoaderUtils.listen(configuration, context, ViewsResources.URIs.Control_HasFont, Font.BINDING, node.getFontFunction());\r
- \r
- LoaderUtils.listen(configuration, context, ViewsResources.URIs.TextReceiver_Modifier, node.getModifierFunction());\r
- LoaderUtils.listen(configuration, context, ViewsResources.URIs.TextReceiver_Validator, node.getValidatorFunction());\r
- \r
- node.addModifyListener(new TrackedModifyListener() {\r
- \r
- @Override\r
- public void modifyText(TrackedModifyEvent e) {\r
- \r
- final String text = e.getText();\r
- \r
- Simantics.getSession().async(new WriteRequest(Simantics.getSession().getService(VirtualGraph.class)) {\r
-\r
- @Override\r
- public void perform(WriteGraph graph) throws DatabaseException {\r
- ViewsResources VIEW = ViewsResources.getInstance(graph);\r
- System.err.println("setParameter " + context.getURI(graph) + " -> " + text);\r
- ViewUtils.setParameter(graph, context, VIEW.TrackedText_Content, text, Bindings.STRING);\r
- }\r
- \r
- });\r
- \r
- }\r
- \r
- });\r
- \r
- return node;\r
- \r
- }\r
- \r
-}\r
+package org.simantics.views.swt.loader;
+
+import org.simantics.databoard.Bindings;
+import org.simantics.datatypes.literal.Font;
+import org.simantics.datatypes.literal.RGB;
+import org.simantics.db.Resource;
+import org.simantics.db.VirtualGraph;
+import org.simantics.db.WriteGraph;
+import org.simantics.db.common.request.WriteRequest;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.util.Simantics;
+import org.simantics.db.layer0.variable.Variable;
+import org.simantics.scenegraph.ParentNode;
+import org.simantics.scenegraph.loader.ScenegraphLoader;
+import org.simantics.utils.ui.widgets.TrackedModifyEvent;
+import org.simantics.utils.ui.widgets.TrackedModifyListener;
+import org.simantics.views.ViewUtils;
+import org.simantics.views.ontology.ViewsResources;
+import org.simantics.views.swt.client.base.ISWTViewNode;
+import org.simantics.views.swt.client.impl.SWTTrackedText;
+
+public class TrackedTextLoader implements ScenegraphLoader {
+
+ final private Resource configuration;
+
+ public TrackedTextLoader(Resource configuration) {
+ this.configuration = configuration;
+ }
+
+ @Override
+ public ISWTViewNode create(ParentNode<ISWTViewNode> parent, final Variable context) throws DatabaseException {
+
+ SWTTrackedText node = parent.addNode(SWTTrackedText.class);
+
+ node.setLayoutData(LoaderUtils.getGridData(configuration));
+ node.setStyle(LoaderUtils.getStyle(configuration));
+
+ LoaderUtils.listen(configuration, context, ViewsResources.URIs.TextContainer_HasText, node.getTextFunction());
+ LoaderUtils.listen(configuration, context, ViewsResources.URIs.Control_HasForeground, RGB.Integer.BINDING, node.getForegroundFunction());
+ LoaderUtils.listen(configuration, context, ViewsResources.URIs.TrackedText_HasInvalidBackground, RGB.Integer.BINDING, node.getInvalidBackgroundFunction());
+ LoaderUtils.listen(configuration, context, ViewsResources.URIs.TrackedText_HasInactiveBackground, RGB.Integer.BINDING, node.getInactiveBackgroundFunction());
+ LoaderUtils.listen(configuration, context, ViewsResources.URIs.TrackedText_HasHoverBackground, RGB.Integer.BINDING, node.getHoverBackgroundFunction());
+ LoaderUtils.listen(configuration, context, ViewsResources.URIs.TrackedText_HasEditingBackground, RGB.Integer.BINDING, node.getEditingBackgroundFunction());
+ LoaderUtils.listen(configuration, context, ViewsResources.URIs.Control_HasFont, Font.BINDING, node.getFontFunction());
+
+ LoaderUtils.listen(configuration, context, ViewsResources.URIs.TextReceiver_Modifier, node.getModifierFunction());
+ LoaderUtils.listen(configuration, context, ViewsResources.URIs.TextReceiver_Validator, node.getValidatorFunction());
+
+ node.addModifyListener(new TrackedModifyListener() {
+
+ @Override
+ public void modifyText(TrackedModifyEvent e) {
+
+ final String text = e.getText();
+
+ Simantics.getSession().async(new WriteRequest(Simantics.getSession().getService(VirtualGraph.class)) {
+
+ @Override
+ public void perform(WriteGraph graph) throws DatabaseException {
+ ViewsResources VIEW = ViewsResources.getInstance(graph);
+ System.err.println("setParameter " + context.getURI(graph) + " -> " + text);
+ ViewUtils.setParameter(graph, context, VIEW.TrackedText_Content, text, Bindings.STRING);
+ }
+
+ });
+
+ }
+
+ });
+
+ return node;
+
+ }
+
+}