package org.insightech.er.editor.controller.command.edit; import org.insightech.er.editor.controller.command.AbstractCommand; import org.insightech.er.editor.controller.editpart.element.ERDiagramEditPart; import org.insightech.er.editor.model.ERDiagram; import org.insightech.er.editor.model.diagram_contents.DiagramContents; /** * DiagramContents の置換コマンド */ public class EditAllAttributesCommand extends AbstractCommand { private ERDiagram diagram; private DiagramContents oldDiagramContents; private DiagramContents newDiagramContents; /** * 置換コマンドを作成します。 * * @param diagram * @param nodeElements * @param columnGroups */ public EditAllAttributesCommand(ERDiagram diagram, DiagramContents newDiagramContents) { this.diagram = diagram; this.oldDiagramContents = this.diagram.getDiagramContents(); this.newDiagramContents = newDiagramContents; } /** * {@inheritDoc} */ @Override protected void doExecute() { // 描画更新をとめます。 ERDiagramEditPart.setUpdateable(false); this.diagram.replaceContents(newDiagramContents); // 描画更新を再開します。 ERDiagramEditPart.setUpdateable(true); this.diagram.changeAll(); } /** * {@inheritDoc} */ @Override protected void doUndo() { // 描画更新をとめます。 ERDiagramEditPart.setUpdateable(false); this.diagram.replaceContents(oldDiagramContents); // 描画更新を再開します。 ERDiagramEditPart.setUpdateable(true); this.diagram.changeAll(); } }