// GraphTea Project: http://github.com/graphtheorysoftware/GraphTea
// Copyright (C) 2012 Graph Theory Software Foundation: http://GraphTheorySoftware.com
// Copyright (C) 2008 Mathematical Science Department of Sharif University of Technology
// Distributed under the terms of the GNU General Public License (GPL): http://www.gnu.org/licenses/
package graphtea.ui.components.gpropertyeditor.editors;
import javax.swing.*;
import java.io.File;
/**
* @author azin azadi
*/
public class GFileEditor extends GDialogEditor<File> {
JFileChooser jf = new JFileChooser();
boolean selectDirectory;
File lastFile = null;
public GFileEditor() {
jf.setControlButtonsAreShown(false);
}
public JComponent getComponent(File initialValue) {
lastFile = initialValue;
selectDirectory = initialValue.isDirectory();
jf.setCurrentDirectory(initialValue);
return jf;
}
public File getEditorValue() {
File selectedFile = jf.getSelectedFile();
File ret = selectDirectory ? jf.getCurrentDirectory() : selectedFile;
if (ret == null)
ret = lastFile;
return ret;
}
public void setEditorValue(File value) {
jf.setSelectedFile(value);
}
}