]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.views.swt/src/org/simantics/views/swt/ModelledDialogs.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.views.swt / src / org / simantics / views / swt / ModelledDialogs.java
index 0f46ad6dc41f6be287b5e230324c23999e2d498e..f8f17e0a4236d937eac2a4cf688b4072857804fe 100644 (file)
-package org.simantics.views.swt;\r
-\r
-import java.util.Collections;\r
-import java.util.Map;\r
-\r
-import org.eclipse.jface.dialogs.MessageDialog;\r
-import org.eclipse.jface.layout.GridDataFactory;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.layout.GridLayout;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.swt.widgets.Control;\r
-import org.eclipse.ui.PlatformUI;\r
-import org.simantics.Simantics;\r
-import org.simantics.databoard.Bindings;\r
-import org.simantics.databoard.binding.mutable.Variant;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.Session;\r
-import org.simantics.db.VirtualGraph;\r
-import org.simantics.db.WriteGraph;\r
-import org.simantics.db.common.primitiverequest.PossibleObject;\r
-import org.simantics.db.common.primitiverequest.RelatedValue2;\r
-import org.simantics.db.common.primitiverequest.ResourceByURI;\r
-import org.simantics.db.common.primitiverequest.SingleObject;\r
-import org.simantics.db.common.request.WriteResultRequest;\r
-import org.simantics.db.common.utils.Logger;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.layer0.variable.Variable;\r
-import org.simantics.db.layer0.variable.Variables;\r
-import org.simantics.layer0.Layer0;\r
-import org.simantics.scenegraph.loader.ScenegraphVariable;\r
-import org.simantics.scenegraph.ontology.ScenegraphResources;\r
-import org.simantics.utils.threads.SWTThread;\r
-import org.simantics.views.ontology.ViewsResources;\r
-import org.simantics.views.swt.client.base.SWTRoot;\r
-\r
-/**\r
- * @author Tuukka Lehtonen\r
- */\r
-public class ModelledDialogs {\r
-\r
-       public static void scheduleMessage(final String uri) {\r
-               scheduleMessage(uri, Collections.<String, Variant>emptyMap());\r
-       }\r
-\r
-       public static void scheduleMessage(final String uri, final Map<String, Variant> parameters) {\r
-\r
-               SWTThread.getThreadAccess().asyncExec(new Runnable() {\r
-\r
-                       @Override\r
-                       public void run() {\r
-                               openMessage(uri, parameters);\r
-                       }\r
-\r
-               });\r
-\r
-       }\r
-       \r
-       private static int getStyle(Resource type) throws DatabaseException {\r
-               ViewsResources VIEWS = ViewsResources.getInstance(Simantics.getSession());\r
-               if(VIEWS.MessageDialog_Type_Error.equals(type)) return MessageDialog.ERROR;\r
-               else if(VIEWS.MessageDialog_Type_Information.equals(type)) return MessageDialog.INFORMATION;\r
-               else if(VIEWS.MessageDialog_Type_Question.equals(type)) return MessageDialog.QUESTION;\r
-               else if(VIEWS.MessageDialog_Type_QuestionWithCancel.equals(type)) return MessageDialog.QUESTION_WITH_CANCEL;\r
-               else if(VIEWS.MessageDialog_Type_Confirm.equals(type)) return MessageDialog.CONFIRM;\r
-               else if(VIEWS.MessageDialog_Type_Warning.equals(type)) return MessageDialog.WARNING;\r
-               else throw new DatabaseException("MessageDialog model needs to define a dialog type");\r
-       }\r
-               \r
-       \r
-       public static int openMessage(final String uri) {\r
-               return openMessage(uri, Collections.<String, Variant>emptyMap());\r
-       }\r
-\r
-       private static SWTRoot createCustomArea(final Resource customArea, final Map<String, Variant> parameters) throws DatabaseException {\r
-               \r
-               if(customArea == null) return null;\r
-\r
-               final SWTViewLoaderProcess loader = new SWTViewLoaderProcess(null, null);\r
-               \r
-               Variable context = Simantics.getSession().sync(new WriteResultRequest<Variable>(Simantics.getSession().getService(VirtualGraph.class)) {\r
-\r
-                       @Override\r
-                       public Variable perform(WriteGraph graph) throws DatabaseException {\r
-\r
-                               Layer0 L0 = Layer0.getInstance(graph);\r
-                               ScenegraphResources SG = ScenegraphResources.getInstance(graph);\r
-                               Resource runtime = graph.newResource();\r
-                               graph.claim(runtime, L0.InstanceOf, null, SG.Runtime);\r
-                               Variable base = Variables.getVariable(graph, customArea);\r
-                               String uri = base.getURI(graph);\r
-                               graph.claimLiteral(runtime, SG.Runtime_HasVariable, uri, Bindings.STRING);\r
-\r
-                               return new ScenegraphVariable(base, customArea, runtime, loader.getRoot(), parameters);\r
-\r
-                       }\r
-\r
-               });\r
-\r
-               return loader.load(Simantics.getSession(), context);\r
-               \r
-       }\r
-       \r
-       public static int openMessage(final String uri, final Map<String, Variant> parameters) {\r
-\r
-               //assert SWTThread.getThreadAccess().currentThreadAccess();\r
-               \r
-               try {\r
-\r
-                       Session session = Simantics.getSession();\r
-                       ViewsResources VIEWS = ViewsResources.getInstance(session);\r
-                       final Resource configuration = session.sync(new ResourceByURI(uri));\r
-                       final Resource typeResource = session.sync(new SingleObject(configuration, VIEWS.MessageDialog_HasType));\r
-                       final int type = getStyle(typeResource);\r
-                       final String dialogTitle = session.sync(new RelatedValue2<String>(configuration, VIEWS.MessageDialog_title, Bindings.STRING));\r
-                       final String dialogMessage = session.sync(new RelatedValue2<String>(configuration, VIEWS.MessageDialog_message, Bindings.STRING));\r
-                       final String[] buttonLabels = session.sync(new RelatedValue2<String[]>(configuration, VIEWS.MessageDialog_buttonLabels, Bindings.STRING_ARRAY));\r
-                       final Integer defaultButton = session.sync(new RelatedValue2<Integer>(configuration, VIEWS.MessageDialog_defaultButton, Bindings.INTEGER));\r
-                       final Resource customArea = session.sync(new PossibleObject(configuration, VIEWS.MessageDialog_HasCustomArea));\r
-\r
-                       final SWTRoot root = createCustomArea(customArea, parameters);\r
-\r
-                       class Dialog extends MessageDialog {\r
-\r
-                               public Dialog() {\r
-                                       super(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), \r
-                                                       dialogTitle, null, \r
-                                                       dialogMessage, \r
-                                                       type, buttonLabels, defaultButton);\r
-                               }\r
-\r
-                               @Override\r
-                               protected boolean isResizable() {\r
-                                       return true;\r
-                               }\r
-\r
-                               @Override\r
-                               protected Control createCustomArea(Composite parent) {\r
-                                       if(root != null) {\r
-                                               Composite customArea = new Composite(parent, SWT.NONE);\r
-                                               customArea.setLayout(new GridLayout());\r
-                                               GridDataFactory.fillDefaults().grab(true, true).minSize(50, 50).applyTo(customArea);\r
-                                               root.createControls(customArea);\r
-                                               return customArea;\r
-                                       } else {\r
-                                               return super.createCustomArea(parent);\r
-                                       }\r
-                               }\r
-\r
-                       }\r
-\r
-                       return new Dialog().open();\r
-\r
-               } catch (DatabaseException e) {\r
-                       Logger.defaultLogError(e);\r
-               }\r
-               \r
-               return -1;\r
-\r
-       }\r
-       \r
-       \r
-       \r
-\r
-}\r
+package org.simantics.views.swt;
+
+import java.util.Collections;
+import java.util.Map;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.layout.GridDataFactory;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.PlatformUI;
+import org.simantics.Simantics;
+import org.simantics.databoard.Bindings;
+import org.simantics.databoard.binding.mutable.Variant;
+import org.simantics.db.Resource;
+import org.simantics.db.Session;
+import org.simantics.db.VirtualGraph;
+import org.simantics.db.WriteGraph;
+import org.simantics.db.common.primitiverequest.PossibleObject;
+import org.simantics.db.common.primitiverequest.RelatedValue2;
+import org.simantics.db.common.primitiverequest.ResourceByURI;
+import org.simantics.db.common.primitiverequest.SingleObject;
+import org.simantics.db.common.request.WriteResultRequest;
+import org.simantics.db.common.utils.Logger;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.variable.Variable;
+import org.simantics.db.layer0.variable.Variables;
+import org.simantics.layer0.Layer0;
+import org.simantics.scenegraph.loader.ScenegraphVariable;
+import org.simantics.scenegraph.ontology.ScenegraphResources;
+import org.simantics.utils.threads.SWTThread;
+import org.simantics.views.ontology.ViewsResources;
+import org.simantics.views.swt.client.base.SWTRoot;
+
+/**
+ * @author Tuukka Lehtonen
+ */
+public class ModelledDialogs {
+
+       public static void scheduleMessage(final String uri) {
+               scheduleMessage(uri, Collections.<String, Variant>emptyMap());
+       }
+
+       public static void scheduleMessage(final String uri, final Map<String, Variant> parameters) {
+
+               SWTThread.getThreadAccess().asyncExec(new Runnable() {
+
+                       @Override
+                       public void run() {
+                               openMessage(uri, parameters);
+                       }
+
+               });
+
+       }
+       
+       private static int getStyle(Resource type) throws DatabaseException {
+               ViewsResources VIEWS = ViewsResources.getInstance(Simantics.getSession());
+               if(VIEWS.MessageDialog_Type_Error.equals(type)) return MessageDialog.ERROR;
+               else if(VIEWS.MessageDialog_Type_Information.equals(type)) return MessageDialog.INFORMATION;
+               else if(VIEWS.MessageDialog_Type_Question.equals(type)) return MessageDialog.QUESTION;
+               else if(VIEWS.MessageDialog_Type_QuestionWithCancel.equals(type)) return MessageDialog.QUESTION_WITH_CANCEL;
+               else if(VIEWS.MessageDialog_Type_Confirm.equals(type)) return MessageDialog.CONFIRM;
+               else if(VIEWS.MessageDialog_Type_Warning.equals(type)) return MessageDialog.WARNING;
+               else throw new DatabaseException("MessageDialog model needs to define a dialog type");
+       }
+               
+       
+       public static int openMessage(final String uri) {
+               return openMessage(uri, Collections.<String, Variant>emptyMap());
+       }
+
+       private static SWTRoot createCustomArea(final Resource customArea, final Map<String, Variant> parameters) throws DatabaseException {
+               
+               if(customArea == null) return null;
+
+               final SWTViewLoaderProcess loader = new SWTViewLoaderProcess(null, null);
+               
+               Variable context = Simantics.getSession().sync(new WriteResultRequest<Variable>(Simantics.getSession().getService(VirtualGraph.class)) {
+
+                       @Override
+                       public Variable perform(WriteGraph graph) throws DatabaseException {
+
+                               Layer0 L0 = Layer0.getInstance(graph);
+                               ScenegraphResources SG = ScenegraphResources.getInstance(graph);
+                               Resource runtime = graph.newResource();
+                               graph.claim(runtime, L0.InstanceOf, null, SG.Runtime);
+                               Variable base = Variables.getVariable(graph, customArea);
+                               String uri = base.getURI(graph);
+                               graph.claimLiteral(runtime, SG.Runtime_HasVariable, uri, Bindings.STRING);
+
+                               return new ScenegraphVariable(base, customArea, runtime, loader.getRoot(), parameters);
+
+                       }
+
+               });
+
+               return loader.load(Simantics.getSession(), context);
+               
+       }
+       
+       public static int openMessage(final String uri, final Map<String, Variant> parameters) {
+
+               //assert SWTThread.getThreadAccess().currentThreadAccess();
+               
+               try {
+
+                       Session session = Simantics.getSession();
+                       ViewsResources VIEWS = ViewsResources.getInstance(session);
+                       final Resource configuration = session.sync(new ResourceByURI(uri));
+                       final Resource typeResource = session.sync(new SingleObject(configuration, VIEWS.MessageDialog_HasType));
+                       final int type = getStyle(typeResource);
+                       final String dialogTitle = session.sync(new RelatedValue2<String>(configuration, VIEWS.MessageDialog_title, Bindings.STRING));
+                       final String dialogMessage = session.sync(new RelatedValue2<String>(configuration, VIEWS.MessageDialog_message, Bindings.STRING));
+                       final String[] buttonLabels = session.sync(new RelatedValue2<String[]>(configuration, VIEWS.MessageDialog_buttonLabels, Bindings.STRING_ARRAY));
+                       final Integer defaultButton = session.sync(new RelatedValue2<Integer>(configuration, VIEWS.MessageDialog_defaultButton, Bindings.INTEGER));
+                       final Resource customArea = session.sync(new PossibleObject(configuration, VIEWS.MessageDialog_HasCustomArea));
+
+                       final SWTRoot root = createCustomArea(customArea, parameters);
+
+                       class Dialog extends MessageDialog {
+
+                               public Dialog() {
+                                       super(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), 
+                                                       dialogTitle, null, 
+                                                       dialogMessage, 
+                                                       type, buttonLabels, defaultButton);
+                               }
+
+                               @Override
+                               protected boolean isResizable() {
+                                       return true;
+                               }
+
+                               @Override
+                               protected Control createCustomArea(Composite parent) {
+                                       if(root != null) {
+                                               Composite customArea = new Composite(parent, SWT.NONE);
+                                               customArea.setLayout(new GridLayout());
+                                               GridDataFactory.fillDefaults().grab(true, true).minSize(50, 50).applyTo(customArea);
+                                               root.createControls(customArea);
+                                               return customArea;
+                                       } else {
+                                               return super.createCustomArea(parent);
+                                       }
+                               }
+
+                       }
+
+                       return new Dialog().open();
+
+               } catch (DatabaseException e) {
+                       Logger.defaultLogError(e);
+               }
+               
+               return -1;
+
+       }
+       
+       
+       
+
+}