]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/ge/ShowDocumentWithAction.java
Remove usage of deprecated SimanticsUI-methods
[simantics/platform.git] / bundles / org.simantics.document.linking.ui / src / org / simantics / document / linking / ge / ShowDocumentWithAction.java
index cb782c79269c45c815d1136b3d2757b8caac1784..be2d5e33ead0bd51d851f8a938f6f4f063277f9c 100644 (file)
-package org.simantics.document.linking.ge;\r
-\r
-import java.util.Arrays;\r
-import java.util.Comparator;\r
-\r
-import org.eclipse.jface.resource.JFaceResources;\r
-import org.eclipse.jface.resource.LocalResourceManager;\r
-import org.eclipse.jface.viewers.BaseLabelProvider;\r
-import org.eclipse.jface.viewers.ILabelProvider;\r
-import org.eclipse.jface.viewers.IStructuredContentProvider;\r
-import org.eclipse.jface.viewers.Viewer;\r
-import org.eclipse.swt.graphics.Image;\r
-import org.eclipse.swt.widgets.Display;\r
-import org.eclipse.ui.dialogs.ListDialog;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.common.request.ReadRequest;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.layer0.adapter.ActionFactory;\r
-import org.simantics.db.layer0.variable.Variable;\r
-import org.simantics.document.linking.ontology.DocumentLink;\r
-import org.simantics.document.linking.utils.SourceLinkUtil;\r
-import org.simantics.ui.SimanticsUI;\r
-import org.simantics.ui.workbench.editor.EditorAdapter;\r
-import org.simantics.ui.workbench.editor.EditorRegistry;\r
-import org.simantics.utils.ui.ExceptionUtils;\r
-\r
-public class ShowDocumentWithAction implements ActionFactory{\r
-       \r
-       \r
-       @Override\r
-       public Runnable create(Object target) {\r
-               if (!(target instanceof Variable))\r
-                       return null;\r
-               final Variable v = (Variable)target;\r
-               \r
-\r
-               return new Runnable() {\r
-                       \r
-                       @Override\r
-                       public void run() {\r
-                               SimanticsUI.getSession().asyncRequest(new ReadRequest() {\r
-                                       \r
-                                       @Override\r
-                                       public void run(ReadGraph graph) throws DatabaseException {\r
-                                               DocumentLink sl = DocumentLink.getInstance(graph);\r
-                                               Resource t = v.getPossibleRepresents(graph);\r
-                                               if (!graph.isInstanceOf(t, sl.Source))\r
-                                                       return;\r
-                                               final Resource reference = SourceLinkUtil.getReferredDocument(graph, t);\r
-                                               if (reference == null)\r
-                                                       return;\r
-                                               final EditorAdapter[] adapters = EditorRegistry.getInstance().getAdaptersFor(graph, reference);\r
-                                               if (adapters.length == 0)\r
-                                                       return;\r
-                                               Arrays.sort(adapters, new Comparator<EditorAdapter>() {\r
-                                                       @Override\r
-                                                       public int compare(EditorAdapter o1, EditorAdapter o2) {\r
-                                                               return o1.getPriority() - o2.getPriority();\r
-                                                       }\r
-                                               });\r
-                                               \r
-                                               Display.getDefault().asyncExec(new Runnable() {\r
-                                                       \r
-                                                       @Override\r
-                                                       public void run() {\r
-                                                               try {\r
-                                                                       ListDialog dialog = new ListDialog(Display.getCurrent().getActiveShell());\r
-                                                                       dialog.setContentProvider(new ArrayContentProvider());\r
-                                                                       dialog.setLabelProvider(new EditorAdapterLabelProvider());\r
-                                                                       dialog.setInput(adapters);\r
-                                                                       dialog.setTitle("Open with");\r
-                                                                       if (dialog.open() != ListDialog.OK)\r
-                                                                               return;\r
-                                                                       EditorAdapter adapter = (EditorAdapter)dialog.getResult()[0];\r
-                                                                       \r
-                                                                       adapter.openEditor(reference);\r
-                                                               } catch (Exception e) {\r
-                                                                       ExceptionUtils.logAndShowError("Cannot open editor", e);\r
-                                                               }\r
-                                                       }\r
-                                               });\r
-\r
-                                               \r
-                                       }\r
-                               });\r
-                               \r
-                       }\r
-               };\r
-\r
-               \r
-       }\r
-       \r
-       private static class ArrayContentProvider implements IStructuredContentProvider {\r
-               public Object[] getElements(Object inputElement) {\r
-                       return (Object[])inputElement;\r
-               };\r
-               \r
-               @Override\r
-               public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {\r
-                       \r
-               }\r
-               @Override\r
-               public void dispose() {\r
-                       \r
-               }\r
-       }\r
-       \r
-       private static class EditorAdapterLabelProvider extends BaseLabelProvider implements ILabelProvider {\r
-               private LocalResourceManager localResourceManager;\r
-               \r
-               public EditorAdapterLabelProvider() {\r
-                       localResourceManager = new LocalResourceManager(JFaceResources.getResources());\r
-               }\r
-               @Override\r
-               public Image getImage(Object element) {\r
-                       EditorAdapter adapter = (EditorAdapter)element;\r
-                       return localResourceManager.createImage(adapter.getIcon());\r
-               }\r
-               \r
-               @Override\r
-               public String getText(Object element) {\r
-                       EditorAdapter adapter = (EditorAdapter)element;\r
-                       return adapter.getName();\r
-               }\r
-               \r
-               @Override\r
-               public void dispose() {\r
-                       localResourceManager.dispose();\r
-                       super.dispose();\r
-               }\r
-       }\r
-\r
-}\r
+package org.simantics.document.linking.ge;
+
+import java.util.Arrays;
+import java.util.Comparator;
+
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.resource.LocalResourceManager;
+import org.eclipse.jface.viewers.BaseLabelProvider;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.IStructuredContentProvider;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.dialogs.ListDialog;
+import org.simantics.Simantics;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.common.request.ReadRequest;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.adapter.ActionFactory;
+import org.simantics.db.layer0.variable.Variable;
+import org.simantics.document.linking.ontology.DocumentLink;
+import org.simantics.document.linking.utils.SourceLinkUtil;
+import org.simantics.ui.workbench.editor.EditorAdapter;
+import org.simantics.ui.workbench.editor.EditorRegistry;
+import org.simantics.utils.ui.ExceptionUtils;
+
+public class ShowDocumentWithAction implements ActionFactory{
+       
+       
+       @Override
+       public Runnable create(Object target) {
+               if (!(target instanceof Variable))
+                       return null;
+               final Variable v = (Variable)target;
+               
+
+               return new Runnable() {
+                       
+                       @Override
+                       public void run() {
+                               Simantics.getSession().asyncRequest(new ReadRequest() {
+                                       
+                                       @Override
+                                       public void run(ReadGraph graph) throws DatabaseException {
+                                               DocumentLink sl = DocumentLink.getInstance(graph);
+                                               Resource t = v.getPossibleRepresents(graph);
+                                               if (!graph.isInstanceOf(t, sl.Source))
+                                                       return;
+                                               final Resource reference = SourceLinkUtil.getReferredDocument(graph, t);
+                                               if (reference == null)
+                                                       return;
+                                               final EditorAdapter[] adapters = EditorRegistry.getInstance().getAdaptersFor(graph, reference);
+                                               if (adapters.length == 0)
+                                                       return;
+                                               Arrays.sort(adapters, new Comparator<EditorAdapter>() {
+                                                       @Override
+                                                       public int compare(EditorAdapter o1, EditorAdapter o2) {
+                                                               return o1.getPriority() - o2.getPriority();
+                                                       }
+                                               });
+                                               
+                                               Display.getDefault().asyncExec(new Runnable() {
+                                                       
+                                                       @Override
+                                                       public void run() {
+                                                               try {
+                                                                       ListDialog dialog = new ListDialog(Display.getCurrent().getActiveShell());
+                                                                       dialog.setContentProvider(new ArrayContentProvider());
+                                                                       dialog.setLabelProvider(new EditorAdapterLabelProvider());
+                                                                       dialog.setInput(adapters);
+                                                                       dialog.setTitle("Open with");
+                                                                       if (dialog.open() != ListDialog.OK)
+                                                                               return;
+                                                                       EditorAdapter adapter = (EditorAdapter)dialog.getResult()[0];
+                                                                       
+                                                                       adapter.openEditor(reference);
+                                                               } catch (Exception e) {
+                                                                       ExceptionUtils.logAndShowError("Cannot open editor", e);
+                                                               }
+                                                       }
+                                               });
+
+                                               
+                                       }
+                               });
+                               
+                       }
+               };
+
+               
+       }
+       
+       private static class ArrayContentProvider implements IStructuredContentProvider {
+               public Object[] getElements(Object inputElement) {
+                       return (Object[])inputElement;
+               };
+               
+               @Override
+               public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+                       
+               }
+               @Override
+               public void dispose() {
+                       
+               }
+       }
+       
+       private static class EditorAdapterLabelProvider extends BaseLabelProvider implements ILabelProvider {
+               private LocalResourceManager localResourceManager;
+               
+               public EditorAdapterLabelProvider() {
+                       localResourceManager = new LocalResourceManager(JFaceResources.getResources());
+               }
+               @Override
+               public Image getImage(Object element) {
+                       EditorAdapter adapter = (EditorAdapter)element;
+                       return localResourceManager.createImage(adapter.getIcon());
+               }
+               
+               @Override
+               public String getText(Object element) {
+                       EditorAdapter adapter = (EditorAdapter)element;
+                       return adapter.getName();
+               }
+               
+               @Override
+               public void dispose() {
+                       localResourceManager.dispose();
+                       super.dispose();
+               }
+       }
+
+}