/**
* @author liuchunxia
*
* get orphan Children command
*/
package net.ms.designer.editors.workflow.policies;
import java.util.List;
import net.ms.designer.editors.workflow.commands.OrphanChildCommand;
import net.ms.designer.editors.workflow.models.WorkflowDiagram;
import net.ms.designer.editors.workflow.models.WorkflowSubPart;
import org.eclipse.gef.EditPart;
import org.eclipse.gef.commands.Command;
import org.eclipse.gef.commands.CompoundCommand;
import org.eclipse.gef.editpolicies.ContainerEditPolicy;
import org.eclipse.gef.requests.CreateRequest;
import org.eclipse.gef.requests.GroupRequest;
public class WorkflowContainerEditPolicy
extends ContainerEditPolicy
{
protected Command getCreateCommand(CreateRequest request) {
return null;
}
public Command getOrphanChildrenCommand(GroupRequest request) {
List parts = request.getEditParts();
CompoundCommand result =
new CompoundCommand("OrphanCommandLabelText");
for (int i = 0; i < parts.size(); i++) {
OrphanChildCommand orphan = new OrphanChildCommand();
orphan.setChild((WorkflowSubPart)((EditPart)parts.get(i)).getModel());
orphan.setParent((WorkflowDiagram)getHost().getModel());
orphan.setLabel("OrphanCommandLabelText");
result.add(orphan);
}
return result.unwrap();
}
}