/*
* Licensed Materials - Property of Rogue Wave Software, Inc.
* © Copyright Rogue Wave Software, Inc. 2014, 2017
* © Copyright IBM Corp. 2009, 2014
* © Copyright ILOG 1996, 2009
* All Rights Reserved.
*
* Note to U.S. Government Users Restricted Rights:
* The Software and Documentation were developed at private expense and
* are "Commercial Items" as that term is defined at 48 CFR 2.101,
* consisting of "Commercial Computer Software" and
* "Commercial Computer Software Documentation", as such terms are
* used in 48 CFR 12.212 or 48 CFR 227.7202-1 through 227.7202-4,
* as applicable.
*/
package xml;
import java.awt.Component;
import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;
/**
* This class stores a file name.
*/
public class XMLFileChooser {
/**
* The default file filter.
*/
private FileFilter fileFilter;
/**
* The file chooser.
*/
private JFileChooser fileChooser;
/**
* Creates an XML file chooser.
*/
public XMLFileChooser() {
fileFilter = new FileFilter() {
Override
public boolean accept(File file) {
return file.isDirectory() || file.getName().endsWith("sdxl") || file.getName().endsWith("SDXL")
|| file.getName().endsWith("Sdxl") || file.getName().endsWith("xml") || file.getName().endsWith("XML")
|| file.getName().endsWith("Xml");
}
Override
public String getDescription() {
return "Gantt SDXL files";
}
Override
public boolean equals(Object obj) {
if (obj instanceof FileFilter && getDescription().equals(((FileFilter) obj).getDescription()))
return true;
else
return false;
}
};
String slash = System.getProperty("file.separator");
String dataFolder = System.getProperty("user.dir") + slash + "data";
fileChooser = new JFileChooser(dataFolder);
fileChooser.setFileFilter(fileFilter);
}
/**
* Selects a file to open.
*
* @return The selected file.
*/
public String showOpenDialog(Component parent) {
int ret = fileChooser.showOpenDialog(parent);
if (ret != JFileChooser.APPROVE_OPTION)
return null;
return fileChooser.getSelectedFile().getAbsolutePath();
}
/**
* Selects a file to save.
*
* @return The selected file.
*/
public String showSaveDialog(Component parent) {
int ret = fileChooser.showSaveDialog(parent);
if (ret != JFileChooser.APPROVE_OPTION)
return null;
return fileChooser.getSelectedFile().getAbsolutePath();
}
/**
* Returns the current directory of the file chooser.
*/
public File getCurrentDirectory() {
return fileChooser.getCurrentDirectory();
}
/**
* Sets the current directory of the file chooser. Passing in
* <code>null</code> sets the file chooser to point to the user's default
* directory.
*/
public void setCurrentDirectory(File dir) {
fileChooser.setCurrentDirectory(dir);
}
}