*/
public class OpenDiagramFromIssue extends AbstractResourceEditorAdapter {
- private static final String EDITOR_ID = "org.simantics.modeling.ui.plainDiagramEditor";
+ private static final String EDITOR_ID = "org.simantics.modeling.ui.plainDiagramEditor"; //$NON-NLS-1$
public OpenDiagramFromIssue() {
- super("Open Diagram Containing Referenced Component", Activator.COMPOSITE_ICON);
+ super(Messages.OpenDiagramFromIssue_OpenDiagramRefComponent, Activator.COMPOSITE_ICON);
}
- protected String getEditorId() {
- return EDITOR_ID;
+ protected String getEditorId(ReadGraph g, Resource diagram) throws DatabaseException {
+ ModelingResources MOD = ModelingResources.getInstance(g);
+ String preferredEditorId = g.getPossibleRelatedValue(diagram, MOD.PreferredDiagramEditorID);
+ if(preferredEditorId != null)
+ return preferredEditorId;
+ else
+ return EDITOR_ID;
}
@Override
public void run(ReadGraph g) throws DatabaseException {
Pair<Resource, Collection<Object>> data = extractContext(g, input);
if (data != null)
- OpenDiagramFromConfigurationAdapter.openEditor(g, data.first, getEditorId(), data.second);
+ OpenDiagramFromConfigurationAdapter.openEditor(g, data.first, getEditorId(g, data.first), data.second);
}
});
}
}
protected static Collection<Object> findElementObjects(ReadGraph g, Resource component) throws DatabaseException {
- Collection<Object> result = findElementObjects(g, component, "");
+ Collection<Object> result = findElementObjects(g, component, ""); //$NON-NLS-1$
ModelingResources MOD = ModelingResources.getInstance(g);
for (Resource element : g.getObjects(component, MOD.HasParentComponent_Inverse))
result.add(element);