]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.document.swt.core/src/org/simantics/document/swt/core/SWTViews.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.document.swt.core / src / org / simantics / document / swt / core / SWTViews.java
diff --git a/bundles/org.simantics.document.swt.core/src/org/simantics/document/swt/core/SWTViews.java b/bundles/org.simantics.document.swt.core/src/org/simantics/document/swt/core/SWTViews.java
new file mode 100644 (file)
index 0000000..5ca0c35
--- /dev/null
@@ -0,0 +1,91 @@
+package org.simantics.document.swt.core;\r
+\r
+import java.util.HashMap;\r
+import java.util.Map;\r
+\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.swt.widgets.Control;\r
+import org.simantics.document.server.JSONObject;\r
+import org.simantics.document.server.client.CommandMapping;\r
+import org.simantics.document.server.client.CommandMappingImpl;\r
+import org.simantics.document.server.client.WidgetMapping;\r
+import org.simantics.document.server.client.WidgetMappingImpl;\r
+import org.simantics.document.swt.core.base.ScrolledCompositeContent;\r
+import org.simantics.document.swt.core.widget.BrowserWidget;\r
+import org.simantics.document.swt.core.widget.ButtonWidget;\r
+import org.simantics.document.swt.core.widget.ComboWidget;\r
+import org.simantics.document.swt.core.widget.CommandEventWidget;\r
+import org.simantics.document.swt.core.widget.Explorer;\r
+import org.simantics.document.swt.core.widget.FillComposite;\r
+import org.simantics.document.swt.core.widget.GridCell;\r
+import org.simantics.document.swt.core.widget.GridComposite;\r
+import org.simantics.document.swt.core.widget.LabelWidget;\r
+import org.simantics.document.swt.core.widget.SCLTextEditor;\r
+import org.simantics.document.swt.core.widget.ScrolledCompositeWidget;\r
+import org.simantics.document.swt.core.widget.TrackedTextWidget;\r
+\r
+public class SWTViews {\r
+\r
+       private static WidgetMappingImpl mapping = null;\r
+       \r
+       public static WidgetMapping getMapping() {\r
+               \r
+               if(mapping == null) {\r
+                       mapping = new WidgetMappingImpl();\r
+                       mapping.register("Root", new FillComposite());\r
+                       mapping.register("GridComposite", new GridComposite());\r
+                       mapping.register("ScrolledComposite", new ScrolledCompositeWidget());\r
+                       mapping.register("GridCell", new GridCell());\r
+                       mapping.register("Label", new LabelWidget());\r
+                       mapping.register("Button", new ButtonWidget());\r
+                       mapping.register("TrackedText", new TrackedTextWidget());\r
+                       mapping.register("Combo", new ComboWidget());\r
+                       mapping.register("Explorer", new Explorer());\r
+                       mapping.register("CommandEvent", new CommandEventWidget());\r
+                       mapping.register("Browser", new BrowserWidget());\r
+                       mapping.register("SCLTextEditor", new SCLTextEditor());\r
+               }\r
+               \r
+               return mapping;\r
+               \r
+       }\r
+       \r
+    private static CommandMappingImpl commandMapping = null;\r
+    \r
+    public static CommandMapping getCommandMapping() {\r
+        \r
+        if(commandMapping == null) {\r
+            \r
+            commandMapping = new CommandMappingImpl();\r
+            commandMapping.register("Button", new ButtonWidget.ButtonCommandManager());\r
+            \r
+        }\r
+        \r
+        return commandMapping;\r
+        \r
+    }\r
+\r
+       public static void notifyScrolledComposite(Control c) {\r
+               if(c instanceof ScrolledCompositeContent) {\r
+                       ScrolledCompositeContent content = (ScrolledCompositeContent)c;\r
+                       content.refreshSize();\r
+                       return;\r
+               }\r
+               Composite parent = c.getParent();\r
+               if(parent == null) return;\r
+               notifyScrolledComposite(parent);\r
+       }\r
+       \r
+       public static Map<String, Object> encoded = new HashMap<String, Object>();\r
+       \r
+       public static String encode(JSONObject object, String property, Object data) {\r
+           String key = object.getId() + "#" + property;\r
+           encoded.put(key, data);\r
+           return key;\r
+       }\r
+       \r
+       public static Object decode(String key) {\r
+           return encoded.get(key);\r
+       }\r
+       \r
+}\r