package org.insightech.er.editor.view.action.group; import java.util.List; import org.eclipse.gef.commands.Command; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.swt.widgets.Event; import org.eclipse.ui.PlatformUI; import org.insightech.er.ResourceString; import org.insightech.er.editor.ERDiagramEditor; import org.insightech.er.editor.controller.command.diagram_contents.not_element.group.ChangeGroupCommand; import org.insightech.er.editor.model.ERDiagram; import org.insightech.er.editor.model.diagram_contents.not_element.group.CopyGroup; import org.insightech.er.editor.model.diagram_contents.not_element.group.GroupSet; import org.insightech.er.editor.view.action.AbstractBaseAction; import org.insightech.er.editor.view.dialog.group.GroupManageDialog; public class GroupManageAction extends AbstractBaseAction { public static final String ID = GroupManageAction.class.getName(); public GroupManageAction(ERDiagramEditor editor) { super(ID, ResourceString.getResourceString("action.title.manage.group"), editor); } /** * {@inheritDoc} */ @Override public void execute(Event event) { ERDiagram diagram = this.getDiagram(); GroupSet groupSet = diagram.getDiagramContents().getGroups(); GroupManageDialog dialog = new GroupManageDialog(PlatformUI .getWorkbench().getActiveWorkbenchWindow().getShell(), groupSet, diagram, false, -1); if (dialog.open() == IDialogConstants.OK_ID) { List<CopyGroup> newColumnGroups = dialog.getCopyColumnGroups(); Command command = new ChangeGroupCommand(diagram, groupSet, newColumnGroups); this.execute(command); } } }