0001 function data = vb_signal_processor_edit_parm(data, Nth)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 if ~exist('data', 'var')
0018 error('data is a required parameter.');
0019 end
0020 if ~exist('Nth', 'var')
0021 error('Nth is a required parameter.');
0022 end
0023
0024
0025
0026
0027 Ntool = length(data.process_list);
0028 if Ntool < Nth
0029 error('Inconsistent data status (processing list and selected item).');
0030 end
0031
0032
0033 parm = data.process_list{Nth};
0034 d = vb_define_signal_processor;
0035 dlg_title = vb_table_query_value(d.type_str_table, parm.type);
0036
0037 check_ok = false;
0038 while(check_ok == false)
0039
0040 editor_format = vb_signal_processor_util_convert_parm_to_editor(parm);
0041
0042
0043 [editor_format, cancel] = vb_input_settings(editor_format, dlg_title);
0044 if cancel, return; end
0045
0046
0047 parm = vb_signal_processor_util_convert_editor_to_parm(editor_format, parm.type);
0048
0049
0050 [is_valid, reason] = vb_signal_processor_is_valid_parm(parm);
0051
0052 if is_valid
0053 break;
0054 else
0055 d = vb_define_signal_processor;
0056 h = errordlg(reason, dlg_title);
0057 waitfor(h);
0058 end
0059 end
0060
0061
0062 data.process_list{Nth} = parm;
0063
0064
0065
0066
0067 if nargout ~= 1
0068 error('function caller should receive data object.');
0069 end