0001 function varargout = bayes_parm_gui_util(varargin)
0002
0003
0004
0005
0006
0007
0008
0009 key = varargin{1};
0010
0011 switch(key)
0012 case 'filedlg'
0013
0014 extensions = varargin{2};
0015 save_mode = varargin{3};
0016 opening_dir = varargin{4};
0017
0018 [dirname, filename, flg] = filedlg(extensions,...
0019 save_mode,...
0020 opening_dir);
0021 varargout{1} = dirname;
0022 varargout{2} = filename;
0023 varargout{3} = flg;
0024 case 'filedlg_relative'
0025
0026 extensions = varargin{2};
0027 save_mode = varargin{3};
0028 base_dir = varargin{4};
0029 if nargin >= 5
0030 caption = varargin{5};
0031 else
0032 caption = '';
0033 end
0034
0035 [dirname, filename, flg] = filedlg_relative(extensions,...
0036 save_mode,...
0037 base_dir, ...
0038 caption);
0039 varargout{1} = dirname;
0040 varargout{2} = filename;
0041 varargout{3} = flg;
0042 case 'comma_text'
0043
0044 text = varargin{2};
0045 [c_text] = comma_text(text);
0046 varargout{1} = c_text;
0047 end
0048
0049 function [dirname, filename, flg] = filedlg(extensions,...
0050 save_mode,...
0051 opening_dir, ...
0052 caption);
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063 persistent last_access_dir;
0064 persistent history_dir;
0065
0066
0067 if nargin < 3
0068
0069 if length(last_access_dir)
0070 opening_dir = last_access_dir;
0071 else
0072 opening_dir = pwd;
0073 end
0074 end
0075 if nargin < 2
0076 save_mode = 0;
0077 end
0078 if nargin < 1
0079 extensions = [];
0080 end
0081 if ~exist('caption', 'var'), caption = ''; end
0082
0083 h = file_dialog;
0084 h.save_mode = save_mode;
0085 h.file_extensions = extensions;
0086
0087
0088 hist_num = length(history_dir);
0089 if ~isempty(history_dir)
0090 h = set(h, 'hist_dir', history_dir);
0091 end
0092
0093
0094 h = set(h, 'dialog_title', caption);
0095
0096
0097 h = set(h, 'current_dir', opening_dir);
0098 [dirname, filename] = visible(h);
0099
0100 if isempty(dirname)
0101
0102 flg = 0;
0103 else
0104
0105 flg = 1;
0106 last_access_dir = dirname;
0107 end
0108
0109
0110 if ~isempty(dirname)
0111
0112 idx = strmatch(dirname, history_dir);
0113 if isempty(idx)
0114 history_dir{hist_num+1} = dirname;
0115 end
0116 end
0117
0118 function [dirname, filename, flg] = filedlg_relative(extensions,...
0119 save_mode,...
0120 base_dir, ...
0121 caption)
0122
0123
0124
0125
0126
0127
0128
0129
0130
0131
0132
0133 if ~exist('caption', 'var'), caption = ''; end
0134 [dirname, filename, flg] = filedlg(extensions,...
0135 save_mode,...
0136 base_dir, ...
0137 caption);
0138
0139
0140
0141 if ~isempty(dirname) & ~isempty(base_dir)
0142 dirname = vb_relativepath(dirname, base_dir);
0143 dirname = dirname(1:length(dirname)-1);
0144 end
0145
0146 function [c_text] = comma_text(text)
0147
0148
0149
0150
0151
0152
0153
0154
0155 c_text = [];
0156 len = length(text);
0157
0158 for k=1:len
0159 if k == len
0160 c_text = [c_text, sprintf('%.2f', text(k))];
0161 else
0162 c_text = [c_text, sprintf('%.2f,', text(k))];
0163 end
0164 end