/*
* codjo.net
*
* Common Apache License 2.0
*/
package net.codjo.utils.sql;
import net.codjo.gui.operation.ExportProgress;
import net.codjo.gui.toolkit.fileChooser.FileChooserManager;
import net.codjo.gui.toolkit.util.ErrorDialog;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.UIManager;
/**
* Permet d'exporter les donn�es de la GenericTable sous forme de fichier texte.
*
* @author $Author: marcona $
* @version $Revision: 1.7 $
*/
public class ExportAction extends AbstractAction {
private GenericTable genericTable;
private boolean reloadAtEnd;
/**
* Constructeur.
*
* @param gt La GenericTable.
*/
public ExportAction(GenericTable gt) {
this(gt, true);
}
public ExportAction(GenericTable gt, boolean doReloadAtEnd) {
genericTable = gt;
reloadAtEnd = doReloadAtEnd;
putValue(NAME, "Export");
putValue(SHORT_DESCRIPTION, "Export des donn�es");
putValue(SMALL_ICON, UIManager.getIcon("ListTable.bcpOut"));
}
/**
* Lance l'export des donn�es.
*
* @param evt Event
*/
public void actionPerformed(ActionEvent evt) {
String fileName =
FileChooserManager.showChooserForExport(genericTable.getTable().getTableName()
+ ".txt", "Export de la s�lection courante");
if (fileName == null) {
return;
}
ExportProgress export = new ExportProgress(genericTable, fileName, reloadAtEnd);
export.go(new Runnable() {
/**
*/
public void run() {
try {
genericTable.reloadData();
}
catch (java.sql.SQLException ex) {
ex.printStackTrace();
ErrorDialog.show(genericTable,
"Impossible de r�afficher les donn�es !", ex);
}
}
});
}
}