Package edu.harvard.wcfia.yoshikoder

Source Code of edu.harvard.wcfia.yoshikoder.SaveAsDictionaryAction

package edu.harvard.wcfia.yoshikoder;

import java.awt.FileDialog;
import java.awt.event.ActionEvent;
import java.io.File;

import edu.harvard.wcfia.yoshikoder.dictionary.YKDictionary;
import edu.harvard.wcfia.yoshikoder.util.DialogUtil;
import edu.harvard.wcfia.yoshikoder.util.ExportUtil;
import edu.harvard.wcfia.yoshikoder.util.FileUtil;
import edu.harvard.wcfia.yoshikoder.util.TaskWorker;

public class SaveAsDictionaryAction extends YoshikoderAction {
   
    protected FileDialog dictionarySaver;
   
    public SaveAsDictionaryAction(Yoshikoder yk) {
        super(yk, SaveAsDictionaryAction.class.getName());
    }
   
    public void actionPerformed(ActionEvent e) {
        if (dictionarySaver==null)
            dictionarySaver = DialogUtil.makeFileDialog(yoshikoder,
                    "Save Dictionary As", FileDialog.SAVE, null);
       
        dictionarySaver.setFile(null);
        dictionarySaver.show();
        String fname = dictionarySaver.getFile();
        if (fname == null) return;
        File f = new File(dictionarySaver.getDirectory(), FileUtil.suffix(fname, "ykd"));
       
        final File file = FileUtil.suffix(f, "ykd");
        tworker = new TaskWorker(yoshikoder){
            protected void doWork() throws Exception {
                YKDictionary dict = yoshikoder.getDictionary();
                ExportUtil.exportAsXML(dict, file);
            }
            protected void onError() {
                DialogUtil.yelp(yoshikoder, "Could not save dictionary", e);
            }
        };
        tworker.start();       
    }
   
}
TOP

Related Classes of edu.harvard.wcfia.yoshikoder.SaveAsDictionaryAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.