0001 function [parm] = vb_parm_editor_gui(parm, parm_name)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 if ~exist('parm', 'var')
0021 error('parm is a required parameter');
0022 end
0023 if ~exist('parm_name', 'var')
0024 parm_name = inputname(1);
0025 end
0026 if ~ischar(parm_name)
0027 error('parm_name should be character string');
0028 end
0029 if isempty(parm_name)
0030 help(mfilename);
0031 error('can''t get input variable name. give it by second variable ''parm_name''');
0032 parm = [];
0033 return;
0034 end
0035
0036
0037
0038 fig = openfig('vb_parm_editor_gui.fig');
0039
0040 data = struct;
0041
0042 data.H = guihandles(fig);
0043
0044
0045 data.show_file_parameters = true;
0046 data.search_name = '';
0047 data.case_sensitive = false;
0048
0049
0050 data.parm_name = parm_name;
0051 data.(parm_name) = parm;
0052 data = vb_parm_editor_gui_data_make(data);
0053 data.cancel_flag = true;
0054 guidata(fig, data);
0055
0056 set(data.H.struct_name_text, 'String', data.parm_name);
0057 set(data.H.contents_listbox, 'String', data.listbox_strings);
0058 if length(data.listbox_strings) > 1
0059 set(data.H.contents_listbox, 'Value', 2);
0060 else
0061 set(data.H.contents_listbox, 'Value', 1);
0062 end
0063 vb_parm_editor_gui_callback(fig, data.H.contents_listbox);
0064
0065 waitfor(fig, 'Visible', 'off');
0066
0067
0068 data = guidata(fig);
0069
0070 if ishandle(fig)
0071 delete(fig);
0072 end
0073
0074 if data.cancel_flag
0075 parm = [];
0076 else
0077 parm = data.(data.parm_name);
0078 end