+ if(direction == SCROLL_DOWN_ONE_PERIOD){
+ //Event_Viewer_Data->current_period++;
+ Event_Viewer_Data->start_event_number += Event_Viewer_Data->raw_trace_data->len;
+ free_ptr_array(Event_Viewer_Data->raw_trace_data);
+ if(second_data == Event_Viewer_Data->raw_trace_data_first){
+ Event_Viewer_Data->raw_trace_data_second = g_ptr_array_sized_new(RESERVE_SIZE);
+ Event_Viewer_Data->raw_trace_data = Event_Viewer_Data->raw_trace_data_second;
+ }else{
+ Event_Viewer_Data->raw_trace_data_first = g_ptr_array_sized_new(RESERVE_SIZE);
+ Event_Viewer_Data->raw_trace_data = Event_Viewer_Data->raw_trace_data_first;
+ }
+
+ if(Event_Viewer_Data->current_period+1 == Event_Viewer_Data->time_period->len){
+ new_time_period = TRUE;
+ time_period = g_new(TimePeriod, 1);
+ raw_data = g_ptr_array_index(second_data,second_data->len-1);
+ time_period->start = raw_data->time;
+ time_period->start.tv_nsec++;
+ time_period->end.tv_sec = time_period->start.tv_sec + SECOND_INTERVAL;
+ time_period->end.tv_nsec = time_period->start.tv_nsec + NANOSECOND_INTERVAL;
+ time_period->start_event_number = Event_Viewer_Data->end_event_number + 1;
+ g_ptr_array_add(Event_Viewer_Data->time_period,time_period);
+ }
+
+ time_period = g_ptr_array_index(Event_Viewer_Data->time_period,
+ Event_Viewer_Data->current_period+1);
+
+ get_events(Event_Viewer_Data,time_period->start, time_period->end);
+ Event_Viewer_Data->end_event_number += Event_Viewer_Data->raw_trace_data->len;
+ if(new_time_period){
+ raw_data = g_ptr_array_index(Event_Viewer_Data->raw_trace_data,0);
+ time_period->start = raw_data->time;
+ raw_data = g_ptr_array_index(Event_Viewer_Data->raw_trace_data,
+ Event_Viewer_Data->raw_trace_data->len-1);
+ time_period->end = raw_data->time;
+ time_period->end_event_number = Event_Viewer_Data->end_event_number;
+ }
+ Event_Viewer_Data->raw_trace_data = second_data;
+
+ if(Event_Viewer_Data->end_event_number > Event_Viewer_Data->Number_Of_Events){
+ Event_Viewer_Data->Number_Of_Events = Event_Viewer_Data->end_event_number;
+ Event_Viewer_Data->VAdjust_C->upper = Event_Viewer_Data->Number_Of_Events;
+ }
+ }else{//direction = SCROLL_DOWN_MORE_PERIOD
+ free_ptr_array(second_data);
+ free_ptr_array(Event_Viewer_Data->raw_trace_data);
+ Event_Viewer_Data->raw_trace_data_first = g_ptr_array_sized_new(RESERVE_SIZE);