package org.yakindu.sct.ui.editor.clipboardsupport; import org.eclipse.emf.ecore.EObject; import org.eclipse.gmf.runtime.emf.clipboard.core.OverridePasteChildOperation; import org.eclipse.gmf.runtime.emf.clipboard.core.PasteChildOperation; import org.eclipse.gmf.runtime.emf.clipboard.core.PasteTarget; public class DiagramPasteOperation extends OverridePasteChildOperation { public DiagramPasteOperation(PasteChildOperation overriddenChildPasteOperation) { super(overriddenChildPasteOperation); } /** * We want sub diagrams to be directly pasted into resources */ @Override public PasteTarget getParentTarget() { PasteTarget parentTarget = super.getParentTarget(); if (parentTarget.getObject() instanceof EObject) { EObject eObject = (EObject) parentTarget.getObject(); return new PasteTarget(eObject.eResource()); } return parentTarget; } @Override public void paste() throws Exception { doPasteInto(getParentTarget()); } }