*******************************************************************************/
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;
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;
/**
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 {
}
setVisible(true);
} else {
- setContentDescription("Issues not available.");
+ setContentDescription(Messages.IssueView2_IssuesNotAvailable);
setVisible(false);
}
}
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);
+ });
+ }
+
}