X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2Fhandlers%2Fe4%2FSyncCurrentTypicalInstanceWithTemplate.java;h=714e72eb6c05b7ee19637ff533bc2f6630c5a3ac;hp=9e58624803a8abfd559d230e17ffba77a62e40e0;hb=95144e3b879f0a10715927027bb9a7aa8e05bdeb;hpb=d924aa9e2691606e0bc8044cce01aff4abcc7bc9;ds=sidebyside diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/handlers/e4/SyncCurrentTypicalInstanceWithTemplate.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/handlers/e4/SyncCurrentTypicalInstanceWithTemplate.java index 9e5862480..714e72eb6 100644 --- a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/handlers/e4/SyncCurrentTypicalInstanceWithTemplate.java +++ b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/handlers/e4/SyncCurrentTypicalInstanceWithTemplate.java @@ -16,6 +16,7 @@ import org.simantics.db.Resource; import org.simantics.db.Session; import org.simantics.db.exception.DatabaseException; import org.simantics.modeling.typicals.SyncTypicalTemplatesToInstances; +import org.simantics.modeling.ui.diagramEditor.DiagramEditor; import org.simantics.modeling.ui.documents.OpenPlainTextDocumentAdapter; import org.simantics.modeling.ui.property.TypicalPropertyTester; import org.simantics.modeling.ui.typicals.RuleChooserDialog; @@ -40,12 +41,16 @@ public class SyncCurrentTypicalInstanceWithTemplate { // TODO: This is not good practice with E4 but an OK fallback for now activeEditor = WorkbenchUtils.getActiveEditor(); } - if (activeEditor == null) + if (activeEditor == null || (!(activeEditor instanceof DiagramEditor))) return false; if (DatabaseJob.inProgress()) return false; - IResourceEditorInput input = (IResourceEditorInput) activeEditor.getEditorInput(); - return TypicalPropertyTester.isTypicalInstanceEditor(Simantics.getSession(), input.getResource()); + if (activeEditor.getEditorInput() instanceof IResourceEditorInput) { + IResourceEditorInput input = (IResourceEditorInput) activeEditor.getEditorInput(); + return TypicalPropertyTester.isTypicalInstanceEditor(Simantics.getSession(), input.getResource()); + } else { + return false; + } } @Execute