]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.issues.ui/src/org/simantics/issues/ui/IssueView2.java
Externalize strings
[simantics/platform.git] / bundles / org.simantics.issues.ui / src / org / simantics / issues / ui / IssueView2.java
index b683f246455ac13e5a52a29f7b555a25407421c6..0ced6dff5428708e2447e750c5ad4d3193d6ba4f 100644 (file)
  *******************************************************************************/
 package org.simantics.issues.ui;
 
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.swt.widgets.Control;
 import org.eclipse.ui.IWorkbenchPart;
 import org.simantics.Simantics;
+import org.simantics.browsing.ui.GraphExplorer;
+import org.simantics.browsing.ui.model.browsecontexts.BrowseContext;
 import org.simantics.db.ReadGraph;
 import org.simantics.db.Resource;
 import org.simantics.db.common.request.ResourceRead;
@@ -23,6 +27,7 @@ import org.simantics.diagram.stubs.DiagramResource;
 import org.simantics.issues.ui.ontology.IssueUIResource;
 import org.simantics.modeling.ModelingResources;
 import org.simantics.ui.workbench.IPropertyPage;
+import org.simantics.utils.ui.SWTUtils;
 import org.simantics.views.swt.ModelledView;
 
 /**
@@ -62,13 +67,13 @@ public class IssueView2 extends ModelledView {
                         private String formName(ReadGraph graph, Resource r) throws DatabaseException {
                             String name = NameUtils.getSafeName(graph, r);
                             final Resource project = Simantics.getProjectResource();
-                            String projectUri = project != null ? graph.getPossibleURI(project) : "";
+                            String projectUri = project != null ? graph.getPossibleURI(project) : ""; //$NON-NLS-1$
                             String uri = graph.getPossibleURI(r);
                             if (uri != null) {
                                 if (uri.startsWith(projectUri))
                                     uri = uri.substring(projectUri.length());
                             }
-                            return uri != null ? name + " (" + uri + ")" : name;
+                            return uri != null ? name + " (" + uri + ")" : name; //$NON-NLS-1$ //$NON-NLS-2$
                         }
 
                         private Resource getConfiguration(ReadGraph graph, Resource r) throws DatabaseException {
@@ -90,7 +95,7 @@ public class IssueView2 extends ModelledView {
             }
             setVisible(true);
         } else {
-            setContentDescription("Issues not available.");
+            setContentDescription(Messages.IssueView2_IssuesNotAvailable);
             setVisible(false);
         }
     }
@@ -101,4 +106,29 @@ public class IssueView2 extends ModelledView {
         return null;
     }
 
+    @SuppressWarnings({ "unchecked", "deprecation" })
+    @Override
+    public <T> T getAdapter(Class<T> adapter) {
+        if (GraphExplorer.class == adapter)
+            return (T) tryGetExplorer(container);
+        if (BrowseContext.class == adapter)
+            return (T) tryGetBrowseContext(container);
+        return super.getAdapter(adapter);
+    }
+
+    private BrowseContext tryGetBrowseContext(Control control) {
+        return SWTUtils.tryGetObject(control, c -> {
+            return c instanceof IAdaptable
+                    ? (BrowseContext) ((IAdaptable) c).getAdapter(BrowseContext.class)
+                            : null;
+        });
+    }
+
+    private GraphExplorer tryGetExplorer(Control control) {
+        return SWTUtils.tryGetObject(control, c -> {
+            return c.isDisposed() ? null
+                    : (GraphExplorer) c.getData(GraphExplorer.KEY_GRAPH_EXPLORER);
+        });
+    }
+
 }