import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.ui.IWorkbenchPartSite;
import org.simantics.Simantics;
-import org.simantics.browsing.ui.swt.AdaptableHintContext;
+import org.simantics.browsing.ui.common.AdaptableHintContext;
import org.simantics.db.ReadGraph;
import org.simantics.db.Resource;
import org.simantics.db.common.request.ResourceRead;
import org.simantics.ui.SimanticsUI;
import org.simantics.ui.selection.AnyResource;
import org.simantics.ui.selection.AnyVariable;
+import org.simantics.ui.selection.ParentVariable;
import org.simantics.ui.selection.WorkbenchSelectionContentType;
import org.simantics.utils.DataContainer;
import org.simantics.utils.threads.IThreadWorkQueue;
} catch (DatabaseException e) {
Logger.defaultLogError(e);
}
+ }
+ else if(contentType instanceof ParentVariable) {
+ ParentVariable type = (ParentVariable)contentType;
+ try {
+ return (T) type.processor.sync(new ResourceRead2<Variable>(runtime, element) {
+ @Override
+ public Variable perform(ReadGraph graph) throws DatabaseException {
+
+ DiagramResource DIA = DiagramResource.getInstance(graph);
+ ModelingResources MOD = ModelingResources.getInstance(graph);
+ Layer0 L0 = Layer0.getInstance(graph);
+
+ String uri = graph.getPossibleRelatedValue(resource, DIA.RuntimeDiagram_HasVariable);
+ if (uri == null)
+ return null;
+
+ Variable var = Variables.getPossibleVariable(graph, uri);
+ if (var == null)
+ return null;
+
+ return var;
+ }
+ });
+ } catch (DatabaseException e) {
+ Logger.defaultLogError(e);
+ }
}
+
return null;
}
if (resource != null) {
objects.add( constructSelectionElement(runtime, resource) );
} else {
- System.out.println(" unrecognized selection: " + o.getClass() + ": " + o);
+ System.out.println(" unrecognized selection: " + o.getClass() + ": " + o); //$NON-NLS-1$ //$NON-NLS-2$
}
}
if (objects.isEmpty() && runtime != null && dr != null) {