/** * Initializes the members. */ protected void initialize() { m_FileChooserScript = new BaseFileChooser(); m_FileChooserScript.addChoosableFileFilter(new ExtensionFileFilter("JShell script", new String[]{"jsh", "jshell"})); m_FileChooserScript.setAcceptAllFileFilterUsed(true); m_FileChooserOutput = new BaseFileChooser(); m_FileChooserOutput.addChoosableFileFilter(new ExtensionFileFilter("Text file", "txt")); m_FileChooserOutput.setAcceptAllFileFilterUsed(true); m_JShellListeners = new HashSet<>(); }
/** * Initializes the file chooser with the current directory. * * @param currentDir the current directory to use */ public BaseFileChooser(File currentDir) { super(currentDir); initialize(); initGUI(); finishInit(); }
/** * Removes all file filters from the filechooser. */ public void removeChoosableFileFilters() { FileFilter[] filters; filters = m_FileChooser.getChoosableFileFilters(); for (FileFilter filter: filters) m_FileChooser.removeChoosableFileFilter(filter); }
/** * Adds the given file filter to the filechooser. * * @param value the file filter to add */ public void addChoosableFileFilter(FileFilter value) { FileFilter current; current = m_FileChooser.getFileFilter(); m_FileChooser.addChoosableFileFilter(value); m_FileChooser.setFileFilter(current); }
/** * Performs the actual choosing of an object. * * @return the chosen object or null if none chosen */ @Override protected File doChoose() { m_FileChooser.setSelectedFile(getCurrent()); if (m_UseSaveDialog) { if (m_FileChooser.showSaveDialog(m_Self) == BaseFileChooser.APPROVE_OPTION) { return m_FileChooser.getSelectedFile(); } else { return null; } } else { if (m_FileChooser.showOpenDialog(m_Self) == BaseFileChooser.APPROVE_OPTION) { return m_FileChooser.getSelectedFile(); } else { return null; } } }
/** * Saves properties to a file, prompts the user to select props file. */ protected void saveProperties() { int retVal; Properties props; FileWriter fwriter; BufferedWriter bwriter; retVal = getFileChooser().showSaveDialog(this); if (retVal != BaseFileChooser.APPROVE_OPTION) return; fwriter = null; bwriter = null; props = getProperties(); try { fwriter = new FileWriter(getFileChooser().getSelectedFile().getAbsolutePath()); bwriter = new BufferedWriter(fwriter); props.store(bwriter, null); } catch (Exception e) { GUIHelper.showErrorMessage(this, "Failed to save properties to: " + getFileChooser().getSelectedFile()); } finally { FileUtils.closeQuietly(bwriter); FileUtils.closeQuietly(fwriter); } }
/** * Returns the file chooser to use for loading/saving of props files. * * @return the file chooser */ protected synchronized BaseFileChooser getFileChooser() { FileFilter filter; if (m_FileChooser == null) { m_FileChooser = new BaseFileChooser(); filter = ExtensionFileFilter.getPropertiesFileFilter(); m_FileChooser.addChoosableFileFilter(filter); m_FileChooser.setFileFilter(filter); } return m_FileChooser; }
/** * Lets the user select a script to load. */ public void loadScript() { int retVal; retVal = m_FileChooserScript.showOpenDialog(this); if (retVal != BaseFileChooser.APPROVE_OPTION) return; loadScript(m_FileChooserScript.getSelectedFile()); }
/** * Further initializations. */ @Override protected void initialize() { super.initialize(); m_DialogType = UNHANDLED_DIALOG; super.setAcceptAllFileFilterUsed(false); setFileMustExist(true); initializeFilters(this); }
/** * Is always using false, since we can't determine the reader/writer based * on the extension. * * @param b ignored */ @Override public void setAcceptAllFileFilterUsed(boolean b) { super.setAcceptAllFileFilterUsed(false); }
/** * Initializes the members. */ @Override protected void initialize() { super.initialize(); m_FileChooser = new BaseFileChooser(); m_UseSaveDialog = false; }
result = super.showOpenDialog(parent);
setSelectedFile(currentFile); result = super.showSaveDialog(parent);
/** * Returns the current directory in use by the file chooser. * * @return the current directory */ public File getCurrentDirectory() { return m_FileChooser.getCurrentDirectory(); }
/** * Returns all choosable file filters. * * @return the current file filters */ public FileFilter[] getChoosableFileFilters() { return m_FileChooser.getChoosableFileFilters(); }
/** * Returns the active file filter. * * @return the current file filter */ public FileFilter getFileFilter() { return m_FileChooser.getFileFilter(); }
/** * Lets the user save the script output to a file. */ public void saveScriptOutput() { int retVal; String msg; retVal = m_FileChooserOutput.showSaveDialog(this); if (retVal != BaseFileChooser.APPROVE_OPTION) return; msg = FileUtils.writeToFileMsg(m_FileChooserOutput.getSelectedFile().getAbsolutePath(), m_TextOutput.getText(), false, null); if (msg != null) { GUIHelper.showErrorMessage(this, msg, "Failed saving output"); notifyJShellListeners(new JShellEvent(this, EventType.OUTPUT_SAVE_FAILURE)); } else { notifyJShellListeners(new JShellEvent(this, EventType.OUTPUT_SAVE_SUCESS)); } updateButtons(); }
/** * Loads properties from a file, prompts the user to select props file. */ protected void loadProperties() { int retVal; Properties props; FileReader freader; BufferedReader breader; retVal = getFileChooser().showOpenDialog(this); if (retVal != BaseFileChooser.APPROVE_OPTION) return; freader = null; breader = null; props = new Properties(); try { freader = new FileReader(getFileChooser().getSelectedFile().getAbsolutePath()); breader = new BufferedReader(freader); props.load(breader); } catch (Exception e) { GUIHelper.showErrorMessage(this, "Failed to load properties from: " + getFileChooser().getSelectedFile()); return; } finally { FileUtils.closeQuietly(breader); FileUtils.closeQuietly(freader); } setProperties(props); }
/** * Sets whether the "accept all files" filter is used. * * @param value if true then the filter will be used */ public void setAcceptAllFileFilterUsed(boolean value) { m_FileChooser.setAcceptAllFileFilterUsed(value); }
/** * Lets the user save the script to a file. */ public void saveScript() { int retVal; File script; String msg; retVal = m_FileChooserScript.showSaveDialog(this); if (retVal != BaseFileChooser.APPROVE_OPTION) return; script = m_FileChooserScript.getSelectedFile(); msg = FileUtils.writeToFileMsg(script.getAbsolutePath(), m_TextCode.getText(), false, null); if (msg != null) { GUIHelper.showErrorMessage(this, "Failed to save script to : " + script + "\n" + msg); notifyJShellListeners(new JShellEvent(this, EventType.SCRIPT_SAVE_FAILURE)); } else { notifyJShellListeners(new JShellEvent(this, EventType.SCRIPT_SAVE_SUCCESS)); } updateButtons(); }