//created on: Sun Mar 06 15:35:29 CST 2005 import java.io.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.filechooser.*; //created on: Sun Dec 05 21:45:30 CST 2004 /* saves an equation in a given file makes sure the extension is .equat asks for confirmation when attempting to override */ class saveequat implements ActionListener{ private Gui current; saveequat(Gui g){ current = g; } public void actionPerformed(ActionEvent ae){ //check if predicates are satisfied, otherwise complain if (!cnfClause.complete(true)){ return; } current.fc.setFileFilter(current.equat); int returnVal = current.fc.showSaveDialog(current); if (returnVal == JFileChooser.APPROVE_OPTION) { File file = current.fc.getSelectedFile(); String filename = file.getName(); int i = filename.lastIndexOf('.'); if (! filename.substring(i + 1).toLowerCase().equals(Gui.equations)) if (!file.renameTo(new File(filename + "." + Gui.equations))) //if couldn't rename, create a new file file = new File(filename + "."+ Gui.equations); if (file.exists()){ if (JOptionPane.showConfirmDialog(current, "This file already exists. Rename?", "Are you sure?", JOptionPane.YES_NO_OPTION) != JOptionPane.YES_OPTION) return; //user is not sure... } current.writeConfig(file); outeqns o = new outeqns( file); grammar.current.visit( o ); } } }