package edu.harvard.wcfia.yoshikoder;
import java.awt.FileDialog;
import java.awt.event.ActionEvent;
import java.io.File;
import edu.harvard.wcfia.yoshikoder.concordance.Concordance;
import edu.harvard.wcfia.yoshikoder.util.DialogUtil;
import edu.harvard.wcfia.yoshikoder.util.ImportUtil;
import edu.harvard.wcfia.yoshikoder.util.TaskWorker;
public class OpenConcordanceAction extends YoshikoderAction {
protected FileDialog concordanceChooser;
public OpenConcordanceAction(Yoshikoder yk) {
super(yk, OpenConcordanceAction.class.getName());
}
public void actionPerformed(ActionEvent e) {
if (concordanceChooser==null)
concordanceChooser = DialogUtil.makeFileDialog(yoshikoder,
"Open Concordance", FileDialog.LOAD, DialogUtil.ykcFilenameFilter);
concordanceChooser.setFile(null);
concordanceChooser.show();
String file = concordanceChooser.getFile();
if (file == null) return;
final File concFile = new File(concordanceChooser.getDirectory(), file);
tworker = new TaskWorker(yoshikoder){
Concordance conc;
protected void doWork() throws Exception {
conc = ImportUtil.importConcordance(concFile);
}
protected void onSuccess() {
yoshikoder.setConcordance(conc);
}
protected void onError() {
DialogUtil.yelp(yoshikoder, "Could not import concordance", e);
}
};
tworker.start();
}
}