package org.isatools.isacreator.spreadsheet;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
/**
* Created by the ISA team
*
* @author Eamonn Maguire (eamonnmag@gmail.com)
* <p/>
* Date: 09/11/2011
* Time: 14:16
*/
public class CopyPasteAdaptor implements ActionListener {
private Spreadsheet spreadsheet;
public CopyPasteAdaptor(Spreadsheet spreadsheet) {
this.spreadsheet = spreadsheet;
KeyStroke copy = KeyStroke.getKeyStroke(KeyEvent.VK_C,
ActionEvent.CTRL_MASK, false);
// Identifying the copy KeyStroke user can modify this
// to copy on some other Key combination.
KeyStroke paste = KeyStroke.getKeyStroke(KeyEvent.VK_V,
ActionEvent.CTRL_MASK, false);
// Identifying the Paste KeyStroke user can modify this
//to copy on some other Key combination.
spreadsheet.getTable().registerKeyboardAction(this, "Copy", copy, JComponent.WHEN_FOCUSED);
spreadsheet.getTable().registerKeyboardAction(this, "Paste", paste, JComponent.WHEN_FOCUSED);
}
public void actionPerformed(ActionEvent actionEvent) {
if (actionEvent.getActionCommand().compareTo("Copy") == 0) {
spreadsheet.getSpreadsheetFunctions().copy();
}
if (actionEvent.getActionCommand().compareTo("Paste") == 0) {
int startRow = (spreadsheet.getTable().getSelectedRows())[0];
int startCol = (spreadsheet.getTable().getSelectedColumns())[0];
spreadsheet.getSpreadsheetFunctions().paste(startRow, startCol, true);
}
}
public void setSpreadsheet(Spreadsheet spreadsheet) {
this.spreadsheet = spreadsheet;
}
}