0001 function [obj] = vb_timeseries_viewer_update_display_time_range(obj)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 if ~exist('obj', 'var')
0017 error('obj is a required parameter.');
0018 end
0019
0020
0021
0022
0023 H = obj.H;
0024
0025 set(obj.figure, 'Pointer', 'watch');
0026
0027 Nsample = obj.Nsample;
0028 freq = obj.freq;
0029
0030 val = get(H.timeseries_slider, 'Value');
0031
0032 max_sec = Nsample/freq;
0033
0034
0035
0036
0037
0038
0039
0040
0041 window_center = (max_sec - obj.window_len) * val + obj.window_len/2;
0042 window_from = window_center - obj.window_len/2;
0043 window_to = window_center + obj.window_len/2;
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053 ratio_arrow = obj.window_len / ((obj.total_time_sec) * 8);
0054 mov = get(H.timeseries_slider, 'SliderStep');
0055 mov(1) = min(ratio_arrow, 1);
0056 mov(2) = min(ratio_arrow*3, 1);
0057 set(H.timeseries_slider, 'SliderStep', mov);
0058
0059 update = true;
0060 drag_state = getappdata(H.timeseries_slider, 'dragging');
0061 if get(obj.H.stop_draw_dragging_check, 'Value') && ...
0062 ~isempty(drag_state) && drag_state
0063 update = false;
0064 end
0065
0066 if update
0067
0068
0069 obj = vb_timeseries_viewer_plot_measurement_data(obj, window_from, window_to);
0070 obj = vb_timeseries_viewer_plot_trigger_data(obj, window_from, window_to);
0071 obj = vb_timeseries_viewer_plot_trial(obj);
0072 drawnow;
0073
0074
0075
0076 if ~get(H.trigger_yrange_fix_check, 'Value')
0077
0078 yrange = ylim(H.trigger_axes);
0079 set(H.ylimit_trigger_low_edit, 'String', num2str(yrange(1)));
0080 set(H.ylimit_trigger_high_edit, 'String', num2str(yrange(2)));
0081 end
0082 end
0083
0084 set(H.timepoint_current_text, 'String', num2str(sprintf('%.3f', window_center)));
0085 set(H.time_max_text, 'String', num2str(max_sec));
0086
0087
0088
0089 set(obj.figure, 'Pointer', 'arrow');
0090
0091
0092 set(H.window_from_edit, 'String', num2str(window_from));
0093 set(H.window_to_edit, 'String', num2str(ceil(window_to)));
0094
0095
0096
0097
0098
0099
0100
0101 if nargout ~= 1
0102 error('function caller should receive vb_timeseries_viewer object.');
0103 end