## file_dialog ## Author: martinh ## Created: 2009-02-04 function [ ret ] = file_dialog (parent, dlg_type="open", multi=0, ext) chooser = java_new("javax.swing.JFileChooser"); if (nargin == 4 && length(ext) > 0) for i=1:length(ext) ef = java_new("ExtensionFileFilter", ext{i}{2}, ext{i}{1}); if (i==1) ef1 = ef; endif chooser.addChoosableFileFilter(ef); endfor chooser.setFileFilter(ef1); endif chooser.setMultiSelectionEnabled(multi); switch dlg_type case {"open", "o"} val = chooser.showOpenDialog(parent); case {"save", "s"} val = chooser.showSaveDialog(parent); otherwise error("Unsupportet file dialog type '%s'", dlg_type); endswitch if (val == chooser.APPROVE_OPTION) if (multi) files = chooser.getSelectedFiles(); for i = 1:length(files) ret{i} = files(i).getAbsolutePath(); endfor else ret = {chooser.getSelectedFile().getAbsolutePath()}; endif else ret = []; endif endfunction