/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.gui.workflow.editor; import org.eclipse.gef.commands.CommandStack; import org.eclipse.ui.PlatformUI; import de.rcenvironment.core.component.workflow.model.api.WorkflowNode; /** * Abstract class for workflow editor actions. * * @author Christian Weiss * @author Doreen Seider */ public abstract class WorkflowEditorAction { protected WorkflowNode workflowNode; protected CommandStack commandStack; /** * Called by RCE to set the selected {@link WorkflowNode}. * @param workflowNode selected {@link WorkflowNode} */ public void setWorkflowNode(WorkflowNode workflowNode) { this.workflowNode = workflowNode; } /** * Called by RCE to set the {@link CommandStack} and run the action. */ public void performAction() { commandStack = (CommandStack) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart() .getAdapter(CommandStack.class); run(); } /** * Performs the action. */ public abstract void run(); }