/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.components.database.gui;
import org.eclipse.gef.commands.Command;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableItem;
/**
* Database connection delete command.
*
* @author Oliver Seebach
*/
public class DatabaseConnectionDeleteCommand extends Command {
private Table table;
private int selectedItemIndex;
private TableItem itemToBeRemoved;
public DatabaseConnectionDeleteCommand(Table table, int selectedItemIndex) {
super();
this.table = table;
this.selectedItemIndex = selectedItemIndex;
}
@Override
public void execute() {
itemToBeRemoved = table.getItem(selectedItemIndex);
table.remove(selectedItemIndex);
}
@Override
public void redo() {
execute();
}
@Override
public void undo() {
TableItem restoredTableItem = new TableItem(table, SWT.NONE, selectedItemIndex);
for (int i = 0; i < 8; i++){
restoredTableItem.setText(i, itemToBeRemoved.getText(i));
}
}
}