]> gerrit.simantics Code Review - simantics/platform.git/blob - 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
1 package org.simantics.document.swt.core;\r
2 \r
3 import java.util.HashMap;\r
4 import java.util.Map;\r
5 \r
6 import org.eclipse.swt.widgets.Composite;\r
7 import org.eclipse.swt.widgets.Control;\r
8 import org.simantics.document.server.JSONObject;\r
9 import org.simantics.document.server.client.CommandMapping;\r
10 import org.simantics.document.server.client.CommandMappingImpl;\r
11 import org.simantics.document.server.client.WidgetMapping;\r
12 import org.simantics.document.server.client.WidgetMappingImpl;\r
13 import org.simantics.document.swt.core.base.ScrolledCompositeContent;\r
14 import org.simantics.document.swt.core.widget.BrowserWidget;\r
15 import org.simantics.document.swt.core.widget.ButtonWidget;\r
16 import org.simantics.document.swt.core.widget.ComboWidget;\r
17 import org.simantics.document.swt.core.widget.CommandEventWidget;\r
18 import org.simantics.document.swt.core.widget.Explorer;\r
19 import org.simantics.document.swt.core.widget.FillComposite;\r
20 import org.simantics.document.swt.core.widget.GridCell;\r
21 import org.simantics.document.swt.core.widget.GridComposite;\r
22 import org.simantics.document.swt.core.widget.LabelWidget;\r
23 import org.simantics.document.swt.core.widget.SCLTextEditor;\r
24 import org.simantics.document.swt.core.widget.ScrolledCompositeWidget;\r
25 import org.simantics.document.swt.core.widget.TrackedTextWidget;\r
26 \r
27 public class SWTViews {\r
28 \r
29         private static WidgetMappingImpl mapping = null;\r
30         \r
31         public static WidgetMapping getMapping() {\r
32                 \r
33                 if(mapping == null) {\r
34                         mapping = new WidgetMappingImpl();\r
35                         mapping.register("Root", new FillComposite());\r
36                         mapping.register("GridComposite", new GridComposite());\r
37                         mapping.register("ScrolledComposite", new ScrolledCompositeWidget());\r
38                         mapping.register("GridCell", new GridCell());\r
39                         mapping.register("Label", new LabelWidget());\r
40                         mapping.register("Button", new ButtonWidget());\r
41                         mapping.register("TrackedText", new TrackedTextWidget());\r
42                         mapping.register("Combo", new ComboWidget());\r
43                         mapping.register("Explorer", new Explorer());\r
44                         mapping.register("CommandEvent", new CommandEventWidget());\r
45                         mapping.register("Browser", new BrowserWidget());\r
46                         mapping.register("SCLTextEditor", new SCLTextEditor());\r
47                 }\r
48                 \r
49                 return mapping;\r
50                 \r
51         }\r
52         \r
53     private static CommandMappingImpl commandMapping = null;\r
54     \r
55     public static CommandMapping getCommandMapping() {\r
56         \r
57         if(commandMapping == null) {\r
58             \r
59             commandMapping = new CommandMappingImpl();\r
60             commandMapping.register("Button", new ButtonWidget.ButtonCommandManager());\r
61             \r
62         }\r
63         \r
64         return commandMapping;\r
65         \r
66     }\r
67 \r
68         public static void notifyScrolledComposite(Control c) {\r
69                 if(c instanceof ScrolledCompositeContent) {\r
70                         ScrolledCompositeContent content = (ScrolledCompositeContent)c;\r
71                         content.refreshSize();\r
72                         return;\r
73                 }\r
74                 Composite parent = c.getParent();\r
75                 if(parent == null) return;\r
76                 notifyScrolledComposite(parent);\r
77         }\r
78         \r
79         public static Map<String, Object> encoded = new HashMap<String, Object>();\r
80         \r
81         public static String encode(JSONObject object, String property, Object data) {\r
82             String key = object.getId() + "#" + property;\r
83             encoded.put(key, data);\r
84             return key;\r
85         }\r
86         \r
87         public static Object decode(String key) {\r
88             return encoded.get(key);\r
89         }\r
90         \r
91 }\r