0001 function [file_name, cancelled] = bm_edit_app_util_get_file(extension, caption)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 if ~exist('extension', 'var')
0021 error('extension is a required parameter.');
0022 end
0023
0024 if ~exist('caption', 'var')
0025 error('caption is a required parameter.');
0026 end
0027
0028
0029
0030
0031 cancelled = false;
0032 file_name = [];
0033
0034
0035
0036
0037
0038
0039 current_dir = pwd;
0040
0041
0042 previous_opened = [tempdir, 'bm_edit_app_util_get_file.mat'];
0043 previous_dir = [];
0044 if exist(previous_opened, 'file') ~= 2
0045 previous_dir = pwd;
0046 else
0047 load(previous_opened, 'pname');
0048 previous_dir = pname;
0049 if exist(previous_dir, 'dir') ~= 7
0050 previous_dir = pwd;
0051 end
0052 end
0053 cd(previous_dir);
0054
0055 file_name = [];
0056 h = file_dialog;
0057 h.save_mode = 0;
0058 h.file_extensions = extension;
0059 [ pname fname ] = visible(h);
0060 if length(pname)
0061 file_name = fullfile(pname, fname{1});
0062
0063 vb_fsave(previous_opened, 'pname');
0064 else
0065 cancelled = true;
0066 end
0067
0068
0069
0070 cd(current_dir);
0071
0072
0073 pause(0.01);