/* * Created on Jul 19, 2004 */ package com.realpersist.gef.command; import org.eclipse.gef.commands.Command; import com.realpersist.gef.model.Column; import com.realpersist.gef.model.Table; /** * Moves column to a different table * * @author Phil Zoio */ public class ColumnTransferCommand extends Command { private Column columnToMove; private Column columnAfter; private Table originalTable; private Table newTable; private int oldIndex, newIndex; public ColumnTransferCommand(Column columnToMove, Column columnAfter, Table originalTable, Table newTable, int oldIndex, int newIndex) { super(); this.columnToMove = columnToMove; this.columnAfter = columnAfter; this.originalTable = originalTable; this.newTable = newTable; this.oldIndex = oldIndex; this.newIndex = newIndex; } /** * allows for transfer only if there are one or more columns */ public boolean canExecute() { if (originalTable.getColumns().size() > 1) return true; else return false; } public void execute() { originalTable.removeColumn(columnToMove); newTable.addColumn(columnToMove, newIndex); } public void undo() { newTable.removeColumn(columnToMove); originalTable.addColumn(columnToMove, oldIndex); } }