0001 function vb_signal_processor_callback(fig, hObj)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 if ~exist('fig', 'var') || isempty(fig) || ishandle(fig) == 0
0021 error('Invalid figure handle was specified.');
0022 end
0023 if ~exist('hObj', 'var')
0024 error('hObj is a required parameter.');
0025 end
0026
0027
0028
0029
0030 get(hObj, 'Tag');
0031
0032
0033 data = guidata(fig);
0034 H = data.H;
0035
0036 switch(hObj)
0037 case H.load_parameter_push
0038 data = vb_signal_processor_load_settings(data);
0039 case H.save_parameter_push
0040 data = vb_signal_processor_save_settings(data);
0041 case H.save_batch_file_push
0042 data = vb_signal_processor_save_batch_script(data);
0043 case H.file_type_meg_radiobutton
0044 data = vb_signal_processor_set_file_type(data, 'MEG');
0045 case H.file_type_eeg_radiobutton
0046 data = vb_signal_processor_set_file_type(data, 'EEG');
0047 case H.input_file_add_push
0048 data = vb_signal_processor_input_megfile(data);
0049 case H.input_file_remove_push
0050 Nth = get(H.input_file_listbox, 'Value');
0051 data = vb_signal_processor_remove_input_file(data, Nth);
0052 case H.input_file_view_push
0053 files = get(H.input_file_listbox, 'String');
0054 line = get(H.input_file_listbox, 'Value');
0055 file = files{line};
0056 vb_signal_processor_view_data_file(data, file);
0057 case H.process_list_add_push
0058
0059 selected = get(H.process_type_listbox, 'Value');
0060 process_type = data.process_template{selected};
0061
0062 data = vb_signal_processor_add_tool_to_processlist(data, process_type);
0063 case H.process_type_listbox
0064 if strcmpi(get(H.figure, 'SelectionType'), 'open')
0065
0066 selected = get(H.process_type_listbox, 'Value');
0067 process_type = data.process_template{selected};
0068
0069 data = vb_signal_processor_add_tool_to_processlist(data, process_type);
0070 end
0071 case H.process_list_remove_push
0072
0073 Nth = get(H.process_list_listbox, 'Value');
0074 data = vb_signal_processor_remove_parm_from_processlist(data, Nth);
0075 case H.process_list_listbox
0076 if strcmpi(get(H.figure, 'SelectionType'), 'open')
0077
0078 Nth = get(H.process_list_listbox, 'Value');
0079 data = vb_signal_processor_edit_parm(data, Nth);
0080 end
0081 case H.process_list_edit_push
0082 Nth = get(H.process_list_listbox, 'Value');
0083 data = vb_signal_processor_edit_parm(data, Nth);
0084 case H.process_list_view_push
0085 selected = get(H.process_list_listbox, 'Value');
0086 process_parm = data.process_list{selected};
0087 vb_signal_processor_view_filter_response(data, process_parm);
0088 case H.process_list_upper_push
0089 data = vb_signal_processor_change_process_order(data, 'upper');
0090 case H.process_list_lower_push
0091 data = vb_signal_processor_change_process_order(data, 'lower');
0092 case H.output_dir_push
0093 start_dir = get(H.output_dir_edit, 'String');
0094 d = dir_dialog(start_dir);
0095 if ~isempty(d), set(H.output_dir_edit, 'String', d); end
0096 data = vb_signal_processor_create_output_filename(data);
0097 case H.output_dir_edit
0098 d = get(H.output_dir_edit, 'String');
0099 if exist(d, 'dir') == 7 || isempty(d)
0100 data = vb_signal_processor_create_output_filename(data);
0101 else
0102 dlg= errordlg('Specified directory is invalid', 'output directory');
0103 waitfor(dlg);
0104 uicontrol(H.output_dir_edit);
0105 end
0106 case H.output_file_view_push
0107 files = get(H.output_file_listbox, 'String');
0108 line = get(H.output_file_listbox, 'Value');
0109 file = files{line};
0110 vb_signal_processor_view_data_file(data, file);
0111 case H.exec_push
0112 vb_signal_processor_batch_exec(data, 1);
0113 end
0114 data = vb_signal_processor_update_screen(data);
0115
0116
0117 guidata(fig, data);