]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.views.swt.client/src/org/simantics/views/swt/client/impl/SWTBrowser.java
6df6bdaad3e14cdb419fc7c0697aaf215897d211
[simantics/platform.git] / bundles / org.simantics.views.swt.client / src / org / simantics / views / swt / client / impl / SWTBrowser.java
1 package org.simantics.views.swt.client.impl;\r
2 \r
3 import org.eclipse.jface.layout.GridDataFactory;\r
4 import org.eclipse.jface.layout.GridLayoutFactory;\r
5 import org.eclipse.swt.browser.Browser;\r
6 import org.eclipse.swt.widgets.Composite;\r
7 import org.simantics.db.layer0.variable.Variable;\r
8 import org.simantics.utils.datastructures.map.Tuple;\r
9 import org.simantics.views.swt.client.base.SingleSWTViewNode;\r
10 \r
11 public class SWTBrowser extends SingleSWTViewNode<Browser> {\r
12         \r
13         private static final long serialVersionUID = -2704760050046054447L;\r
14         \r
15         public String                   document;\r
16         public Variable                                 variable;\r
17 \r
18         private Tuple                    lastAppliedParametrization;\r
19 \r
20         @Override\r
21         public void reset() {\r
22                 super.reset();\r
23                 lastAppliedParametrization = null;\r
24         }\r
25         \r
26         @Override\r
27         public void createControls(Composite parent) {\r
28 \r
29                 GridDataFactory.fillDefaults().grab(true, true).applyTo(parent);\r
30                 GridLayoutFactory.fillDefaults().applyTo(parent);\r
31 \r
32                 control = new Browser(parent, style);\r
33                 GridDataFactory.fillDefaults().grab(true, true).applyTo(control);\r
34 \r
35                 setProperties();\r
36 \r
37         }\r
38 \r
39         public void synchronizeVariable(Variable variable) {\r
40                 \r
41         }\r
42 \r
43         public void synchronizeDocument(final String document) {\r
44                 \r
45                 if(document != null) {\r
46                         \r
47                         final Variable variable = SWTBrowser.this.variable;\r
48                         if (variable == null) {\r
49                                 return;\r
50                         }\r
51 \r
52                         Tuple checkParam = new Tuple(document, variable);\r
53                         if (checkParam.equals(lastAppliedParametrization))\r
54                                 return;\r
55                         \r
56                         lastAppliedParametrization = checkParam;\r
57                                 \r
58                         final Browser control = this.control;\r
59                         if (control == null)\r
60                                 return;\r
61                         control.setText(document);\r
62                         \r
63                 }\r
64         }\r
65 \r
66 }\r