/* ExportToClipboardAction.java created 2007-12-18
*
*/
package org.signalml.app.action.components;
import static org.signalml.app.util.i18n.SvarogI18n._;
import java.awt.event.ActionEvent;
import org.signalml.app.model.components.TableToTextExporter;
import org.signalml.app.model.components.WriterExportableTable;
import org.signalml.plugin.export.view.AbstractSignalMLAction;
/** ExportToClipboardAction
*
*
* @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o.
*/
public abstract class ExportToClipboardAction extends AbstractSignalMLAction {
private static final long serialVersionUID = 1L;
private TableToTextExporter tableToTextExporter;
public ExportToClipboardAction(TableToTextExporter tableToTextExporter) {
super();
setText(_("Copy to clipboard"));
setIconPath("org/signalml/app/icon/clipboard.png");
setToolTip(_("Copy contents to clipboard"));
this.tableToTextExporter = tableToTextExporter;
}
protected abstract WriterExportableTable getExportableTable();
protected Object getUserObject() {
return null;
}
@Override
public void actionPerformed(ActionEvent ev) {
WriterExportableTable exportableTable = getExportableTable();
if (exportableTable != null) {
tableToTextExporter.exportToClipboard(exportableTable,getUserObject());
}
}
@Override
public void setEnabledAsNeeded() {
setEnabled(true);
}
public TableToTextExporter getTableToTextExporter() {
return tableToTextExporter;
}
}