blob: d9544e5849c95c4b31438458d11cd3874a5c386d [file] [log] [blame]
package org.eclipse.uml2.diagram.statemachine.edit.helpers;
import org.eclipse.emf.common.util.URI;
import org.eclipse.gmf.runtime.common.core.command.ICommand;
import org.eclipse.gmf.runtime.emf.type.core.commands.SetValueCommand;
import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
import org.eclipse.gmf.runtime.emf.type.core.requests.SetRequest;
import org.eclipse.uml2.uml.State;
import org.eclipse.uml2.uml.StateMachine;
import org.eclipse.uml2.uml.UMLPackage;
/**
* @generated
*/
public class StateEditHelper extends UMLBaseEditHelper {
public static final String PARAMETER_CONFIGURE_SUBMACHINE = StateEditHelper.class.getName() + ":ConfigureSubmachine"; //$NON-NLS-1$
/**
* @generated NOT
*/
@Override
protected ICommand getConfigureCommand(ConfigureRequest req) {
if (req.getElementToConfigure() instanceof State && req.getParameter(PARAMETER_CONFIGURE_SUBMACHINE) instanceof StateMachineWrapper) {
State state = (State) req.getElementToConfigure();
URI stateMachineURI = ((StateMachineWrapper) req.getParameter(PARAMETER_CONFIGURE_SUBMACHINE)).getStateMachineURI();
StateMachine stateMachine = (StateMachine) req.getEditingDomain().getResourceSet().getEObject(stateMachineURI, true);
SetRequest request = new SetRequest(state, UMLPackage.eINSTANCE.getState_Submachine(), stateMachine);
return new SetValueCommand(request);
}
return super.getConfigureCommand(req);
}
/**
* @generated NOT
*/
public static class StateMachineWrapper {
public void setStateMachineURI(URI stateMachineURI) {
myStateMachineURI = stateMachineURI;
}
public URI getStateMachineURI() {
return myStateMachineURI;
}
private URI myStateMachineURI;
}
}