0001 function vb_te_channel_selector_callback(data, hObj)
0002
0003
0004
0005
0006 H = data.H;
0007
0008 switch(hObj)
0009 case H.ok_push
0010 data.cancel_flag = false;
0011 set(H.figure, 'Visible', 'off');
0012 case H.cancel_push
0013 data.cancel_flag = true;
0014 set(H.figure, 'Visible', 'off');
0015 case H.figure
0016 data.cancel_flag = true;
0017 set(H.figure, 'Visible', 'off');
0018 case H.channel_selecter_popup
0019 val = get(hObj, 'Value');
0020 table_data = cell(get(data.table_h, 'data'));
0021 if val == 1
0022 elseif val == 2
0023 for k=1:size(table_data, 1)
0024 table_data{k, 2} = true;
0025 end
0026 set(data.table_h, 'data', table_data);
0027 elseif val == 3
0028 ret = inputdlg('Channel selection step', 'Every N channel', 1);
0029 if ~isempty(ret) && ~isempty(ret{1})
0030 step = str2double(ret{1});
0031 Nch = size(table_data,1);
0032 flags = false(Nch, 1);
0033 flags(1:step:Nch) = true;
0034 for k=1:Nch
0035 table_data{k, 2} = flags(k);
0036 end
0037 set(data.table_h, 'data', table_data);
0038 end
0039
0040 elseif val == 4
0041 for k=1:size(table_data, 1)
0042 table_data{k, 2} = false;
0043 end
0044 set(data.table_h, 'data', table_data);
0045 end
0046 end
0047
0048 guidata(H.figure, data);