/** * */ package de.hannesniederhausen.storynotes.ui.internal.actions; import org.eclipse.e4.core.contexts.IEclipseContext; import org.eclipse.e4.ui.workbench.modeling.ESelectionService; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.edit.domain.EditingDomain; import org.eclipse.jface.action.Action; import org.eclipse.swt.widgets.Shell; import de.hannesniederhausen.storynotes.model.service.IModelProviderService; import de.hannesniederhausen.storynotes.ui.internal.views.MainView; /** * @author Hannes Niederhausen * */ public class AbstractCreationAction extends Action { private EObject parentElement; private IEclipseContext context; /** * */ public AbstractCreationAction() { } public AbstractCreationAction(IEclipseContext context, EObject parent) { this.parentElement = parent; this.context = context; } public void setContext(IEclipseContext context) { this.context = context; } public void setParentElement(EObject parentElement) { this.parentElement = parentElement; } /** * @return the context */ protected IEclipseContext getContext() { return context; } protected EditingDomain getEditingDomain() { return context.get(EditingDomain.class); } protected ESelectionService getSelectionService() { return context.get(ESelectionService.class); } protected Shell getShell() { return context.get(MainView.class).getParent().getShell(); } protected IModelProviderService getModelProviderService() { return context.get(IModelProviderService.class); } protected EObject getParentElement() { return parentElement; } }