TimeWindow now has end_time
authorcompudj <compudj@04897980-b3bd-0310-b5e0-8ef037075253>
Fri, 13 Aug 2004 20:43:32 +0000 (20:43 +0000)
committercompudj <compudj@04897980-b3bd-0310-b5e0-8ef037075253>
Fri, 13 Aug 2004 20:43:32 +0000 (20:43 +0000)
git-svn-id: http://ltt.polymtl.ca/svn@731 04897980-b3bd-0310-b5e0-8ef037075253

ltt/branches/poly/lttv/modules/gui/controlflow/drawing.c
ltt/branches/poly/lttv/modules/gui/controlflow/eventhooks.c
ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/callbacks.c
ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/mainwindow.h

index aaf8b03005d0b47d0ac6600a745db1ef50f717c9..f395d8ce9078f530309bce8b192765eda1f92659 100644 (file)
@@ -124,8 +124,7 @@ void drawing_data_request(Drawing_t *drawing,
   //               G_OBJECT(drawing->drawing_area), "control_flow_data");
 
   LttTime start, time_end;
-  LttTime window_end = ltt_time_add(time_window.time_width,
-                                    time_window.start_time);
+  LttTime window_end = time_window.end_time;
 
   g_debug("req : window start_time : %u, %u", time_window.start_time.tv_sec, 
                                        time_window.start_time.tv_nsec);
@@ -397,8 +396,8 @@ void drawing_data_request_begin(EventsRequest *events_request, LttvTracesetState
   LttvTracesetContext *tsc = LTTV_TRACESET_CONTEXT(tss);
   TimeWindow time_window = 
     lttvwindow_get_time_window(cfd->tab);
-  LttTime end_time = ltt_time_add(time_window.start_time,
-                                    time_window.time_width);
+  LttTime end_time = time_window.end_time;
+
   guint width = cfd->drawing->width;
   guint x=0;
 
@@ -442,8 +441,8 @@ void drawing_request_expose(EventsRequest *events_request,
 
   g_debug("request expose");
   
-  LttTime window_end = ltt_time_add(time_window.time_width,
-                                    time_window.start_time);
+  LttTime window_end = time_window.end_time;
+
 #if 0
   convert_time_to_pixels(
         time_window.start_time,
@@ -594,9 +593,7 @@ expose_event( GtkWidget *widget, GdkEventExpose *event, gpointer user_data )
 
   guint cursor_x=0;
 
-  LttTime window_end = ltt_time_add(time_window.time_width,
-                                    time_window.start_time);
-
+  LttTime window_end = time_window.end_time;
 
   /* update the screen from the pixmap buffer */
   gdk_draw_pixmap(widget->window,
@@ -694,8 +691,7 @@ button_press_event( GtkWidget *widget, GdkEventButton *event, gpointer user_data
   {
     LttTime time;
 
-    LttTime window_end = ltt_time_add(time_window.time_width,
-                                      time_window.start_time);
+    LttTime window_end = time_window.end_time;
 
 
     /* left mouse button click */
@@ -1166,9 +1162,7 @@ expose_ruler( GtkWidget *widget, GdkEventExpose *event, gpointer user_data )
   GdkColor foreground = { 0, 0, 0, 0 };
   GdkColor background = { 0, 0xffff, 0xffff, 0xffff };
 
-  LttTime window_end = 
-    ltt_time_add(time_window.time_width,
-                 time_window.start_time);
+  LttTime window_end = time_window.end_time;
   LttTime half_width =
     ltt_time_div(time_window.time_width,2.0);
   LttTime window_middle =
index d3c454d2579274cbb7a81d409b1eb7d5fcf21cb3..197436ef09b70c0e5076010209c33536bf0a365e 100644 (file)
@@ -394,8 +394,7 @@ int before_schedchange_hook(void *hook_data, void *call_data)
   TimeWindow time_window = 
     lttvwindow_get_time_window(control_flow_data->tab);
 
-  LttTime end_time = ltt_time_add(time_window.start_time,
-                                    time_window.time_width);
+  LttTime end_time = time_window.end_time;
 
   if(ltt_time_compare(evtime, time_window.start_time) == -1
         || ltt_time_compare(evtime, end_time) == 1)
@@ -687,8 +686,8 @@ int before_schedchange_hook(void *hook_data, void *call_data)
   TimeWindow time_window = 
     lttvwindow_get_time_window(tab);
 
-  LttTime end_time = ltt_time_add(time_window.start_time,
-                                    time_window.time_width);
+  LttTime end_time = time_window.end_time;
+
   //if(time < time_beg || time > time_end) return;
   if(ltt_time_compare(evtime, time_window.start_time) == -1
         || ltt_time_compare(evtime, end_time) == 1)
@@ -1308,8 +1307,7 @@ int after_schedchange_hook(void *hook_data, void *call_data)
   TimeWindow time_window = 
     lttvwindow_get_time_window(control_flow_data->tab);
 
-  LttTime end_time = ltt_time_add(time_window.start_time,
-                                    time_window.time_width);
+  LttTime end_time = time_window.end_time;
 
   if(ltt_time_compare(evtime, time_window.start_time) == -1
         || ltt_time_compare(evtime, end_time) == 1)
@@ -1415,8 +1413,8 @@ int after_schedchange_hook(void *hook_data, void *call_data)
   TimeWindow time_window = 
     lttvwindow_get_time_window(control_flow_data->tab);
 
-  LttTime end_time = ltt_time_add(time_window.start_time,
-                                    time_window.time_width);
+  LttTime end_time = time_window.end_time;
+
   //if(time < time_beg || time > time_end) return;
   if(ltt_time_compare(evtime, time_window.start_time) == -1
         || ltt_time_compare(evtime, end_time) == 1)
@@ -1920,8 +1918,7 @@ int before_execmode_hook(void *hook_data, void *call_data)
   TimeWindow time_window = 
     lttvwindow_get_time_window(control_flow_data->tab);
 
-  LttTime end_time = ltt_time_add(time_window.start_time,
-                                    time_window.time_width);
+  LttTime end_time = time_window.end_time;
 
   if(ltt_time_compare(evtime, time_window.start_time) == -1
         || ltt_time_compare(evtime, end_time) == 1)
@@ -2080,8 +2077,7 @@ int after_execmode_hook(void *hook_data, void *call_data)
   TimeWindow time_window = 
     lttvwindow_get_time_window(control_flow_data->tab);
 
-  LttTime end_time = ltt_time_add(time_window.start_time,
-                                    time_window.time_width);
+  LttTime end_time = time_window.end_time;
 
   if(ltt_time_compare(evtime, time_window.start_time) == -1
         || ltt_time_compare(evtime, end_time) == 1)
@@ -2186,8 +2182,7 @@ int before_process_hook(void *hook_data, void *call_data)
   TimeWindow time_window = 
     lttvwindow_get_time_window(control_flow_data->tab);
 
-  LttTime end_time = ltt_time_add(time_window.start_time,
-                                    time_window.time_width);
+  LttTime end_time = time_window.end_time;
 
   if(ltt_time_compare(evtime, time_window.start_time) == -1
         || ltt_time_compare(evtime, end_time) == 1)
@@ -2358,8 +2353,7 @@ int after_process_hook(void *hook_data, void *call_data)
   TimeWindow time_window = 
     lttvwindow_get_time_window(control_flow_data->tab);
 
-  LttTime end_time = ltt_time_add(time_window.start_time,
-                                    time_window.time_width);
+  LttTime end_time = time_window.end_time;
 
   if(ltt_time_compare(evtime, time_window.start_time) == -1
         || ltt_time_compare(evtime, end_time) == 1)
@@ -2564,10 +2558,8 @@ gint update_time_window_hook(void *hook_data, void *call_data)
     g_info("scrolling");
     LttTime *ns = &new_time_window->start_time;
     LttTime *os = &old_time_window->start_time;
-    LttTime old_end = ltt_time_add(old_time_window->start_time,
-                                    old_time_window->time_width);
-    LttTime new_end = ltt_time_add(new_time_window->start_time,
-                                    new_time_window->time_width);
+    LttTime old_end = old_time_window->end_time;
+    LttTime new_end = new_time_window->end_time;
     //if(ns<os+w<ns+w)
     //if(ns<os+w && os+w<ns+w)
     //if(ns<old_end && os<ns)
@@ -2889,6 +2881,7 @@ gint update_current_time_hook(void *hook_data, void *call_data)
   
     new_time_window.start_time = time_begin;
     new_time_window.time_width = width;
+    new_time_window.end_time = ltt_time_add(time_begin, width);
 
     lttvwindow_report_time_window(control_flow_data->tab, new_time_window);
   }
@@ -2903,6 +2896,7 @@ gint update_current_time_hook(void *hook_data, void *call_data)
   
     new_time_window.start_time = time_begin;
     new_time_window.time_width = width;
+    new_time_window.end_time = ltt_time_add(time_begin, width);
 
     lttvwindow_report_time_window(control_flow_data->tab, new_time_window);
     
@@ -2940,8 +2934,7 @@ void draw_closure(gpointer key, gpointer value, gpointer user_data)
   TimeWindow time_window = 
     lttvwindow_get_time_window(control_flow_data->tab);
 
-  LttTime end_time = ltt_time_add(time_window.start_time,
-                                    time_window.time_width);
+  LttTime end_time = time_window.end_time;
 
   if(ltt_time_compare(evtime, time_window.start_time) == -1
         || ltt_time_compare(evtime, end_time) == 1)
index e0e677fceb3db170f724b80d2902ac6c29d95416..e4c497d401e5e2f27a0ba550f42a54bd1f3b737b 100644 (file)
@@ -471,8 +471,7 @@ int SetTraceset(Tab * tab, LttvTraceset *traceset)
   /* Set the tab's time window and current time if
    * out of bounds */
   if(ltt_time_compare(tab->time_window.start_time, time_span.start_time) < 0
-     || ltt_time_compare(  ltt_time_add(tab->time_window.start_time,
-                                        tab->time_window.time_width),
+     || ltt_time_compare(tab->time_window.end_time,
                            time_span.end_time) > 0) {
     new_time_window.start_time = time_span.start_time;
     
@@ -486,6 +485,8 @@ int SetTraceset(Tab * tab, LttvTraceset *traceset)
       tmp_time.tv_sec = time_span.end_time.tv_sec;
     tmp_time.tv_nsec = 0;
     new_time_window.time_width = tmp_time ;
+    new_time_window.end_time = ltt_time_add(new_time_window.start_time,
+                                            new_time_window.time_width) ;
   }
   time_change_manager(tab, new_time_window);
   current_time_change_manager(tab, new_current_time);
@@ -2283,31 +2284,41 @@ void zoom(GtkWidget * widget, double size)
   if(size == 0){
     new_time_window.start_time = time_span.start_time;
     new_time_window.time_width = time_delta;
+    new_time_window.end_time = ltt_time_add(new_time_window.start_time,
+                                            new_time_window.time_width) ;
   }else{
     new_time_window.time_width = ltt_time_div(new_time_window.time_width, size);
     if(ltt_time_compare(new_time_window.time_width,time_delta) > 0)
     { /* Case where zoom out is bigger than trace length */
       new_time_window.start_time = time_span.start_time;
       new_time_window.time_width = time_delta;
+      new_time_window.end_time = ltt_time_add(new_time_window.start_time,
+                                            new_time_window.time_width) ;
     }
     else
     {
       /* Center the image on the current time */
       new_time_window.start_time = 
         ltt_time_sub(current_time, ltt_time_div(new_time_window.time_width, 2.0));
+      new_time_window.end_time = ltt_time_add(new_time_window.start_time,
+                                            new_time_window.time_width) ;
       /* If on borders, don't fall off */
       if(ltt_time_compare(new_time_window.start_time, time_span.start_time) <0)
       {
         new_time_window.start_time = time_span.start_time;
+        new_time_window.end_time = ltt_time_add(new_time_window.start_time,
+                                            new_time_window.time_width) ;
       }
       else 
       {
-        if(ltt_time_compare(
-           ltt_time_add(new_time_window.start_time, new_time_window.time_width),
-           time_span.end_time) > 0)
+        if(ltt_time_compare(new_time_window.end_time,
+                            time_span.end_time) > 0)
         {
           new_time_window.start_time = 
                   ltt_time_sub(time_span.end_time, new_time_window.time_width);
+
+          new_time_window.end_time = ltt_time_add(new_time_window.start_time,
+                                                  new_time_window.time_width) ;
         }
       }
       
@@ -3432,8 +3443,7 @@ void time_change_manager               (Tab *tab,
   LttvTracesetContext *tsc = LTTV_TRACESET_CONTEXT(tab->traceset_info->traceset_context);
   TimeInterval time_span = tsc->time_span;
   LttTime start_time = new_time_window.start_time;
-  LttTime end_time = ltt_time_add(new_time_window.start_time,
-                                  new_time_window.time_width);
+  LttTime end_time = new_time_window.end_time;
 
   /* Set scrollbar */
   GtkAdjustment *adjustment = gtk_range_get_adjustment(GTK_RANGE(tab->scrollbar));
@@ -3567,8 +3577,7 @@ on_MEntry1_value_changed               (GtkSpinButton *spinbutton,
 
   TimeWindow new_time_window = tab->time_window;
  
-  LttTime end_time = ltt_time_add(new_time_window.start_time,
-                                  new_time_window.time_width);
+  LttTime end_time = new_time_window.end_time;
 
   new_time_window.start_time.tv_sec = value;
 
@@ -3589,19 +3598,18 @@ on_MEntry1_value_changed               (GtkSpinButton *spinbutton,
       new_time_window.start_time.tv_nsec = time_span.end_time.tv_nsec-1;
   }
 
-  /* check if end time selected is below or equal */
   if(ltt_time_compare(new_time_window.start_time, end_time) >= 0) {
     /* Then, we must push back end time : keep the same time width
      * if possible, else end traceset time */
-    end_time = LTT_TIME_MIN(time_span.end_time,
-                                  ltt_time_add(new_time_window.start_time,
-                                               new_time_window.time_width)
-                                 );
+    end_time = LTT_TIME_MIN(ltt_time_add(new_time_window.start_time,
+                                         new_time_window.time_width),
+                            time_span.end_time);
   }
 
   /* Fix the time width to fit start time and end time */
   new_time_window.time_width = ltt_time_sub(end_time,
                                             new_time_window.start_time);
+  new_time_window.end_time = end_time;
 
   time_change_manager(tab, new_time_window);
 
@@ -3619,25 +3627,24 @@ on_MEntry2_value_changed               (GtkSpinButton *spinbutton,
 
   TimeWindow new_time_window = tab->time_window;
  
-  LttTime end_time = ltt_time_add(new_time_window.start_time,
-                                  new_time_window.time_width);
+  LttTime end_time = new_time_window.end_time;
 
   new_time_window.start_time.tv_nsec = value;
 
-  /* check if end time selected is below or equal */
   if(ltt_time_compare(new_time_window.start_time, end_time) >= 0) {
     /* Then, we must push back end time : keep the same time width
      * if possible, else end traceset time */
-    end_time = LTT_TIME_MIN(time_span.end_time,
-                                  ltt_time_add(new_time_window.start_time,
-                                               new_time_window.time_width)
-                                 );
+    end_time = LTT_TIME_MIN(ltt_time_add(new_time_window.start_time,
+                                         new_time_window.time_width),
+                            time_span.end_time);
   }
 
   /* Fix the time width to fit start time and end time */
   new_time_window.time_width = ltt_time_sub(end_time,
                                             new_time_window.start_time);
 
+  new_time_window.end_time = end_time;
+
   time_change_manager(tab, new_time_window);
 
 }
@@ -3654,8 +3661,8 @@ on_MEntry3_value_changed               (GtkSpinButton *spinbutton,
 
   TimeWindow new_time_window = tab->time_window;
  
-  LttTime end_time = ltt_time_add(new_time_window.start_time,
-                                  new_time_window.time_width);
+  LttTime end_time = new_time_window.end_time;
+
   end_time.tv_sec = value;
 
   /* end nanoseconds */
@@ -3675,20 +3682,21 @@ on_MEntry3_value_changed               (GtkSpinButton *spinbutton,
       end_time.tv_nsec = time_span.end_time.tv_nsec;
   }
 
-  /* check if end time selected is below or equal */
   if(ltt_time_compare(new_time_window.start_time, end_time) >= 0) {
     /* Then, we must push front start time : keep the same time width
      * if possible, else end traceset time */
-    new_time_window.start_time = LTT_TIME_MAX(time_span.start_time,
-                                        ltt_time_sub(end_time,
-                                                     new_time_window.time_width)
-                                             );
+    new_time_window.start_time = LTT_TIME_MAX(
+                                  ltt_time_sub(end_time,
+                                               new_time_window.time_width),
+                                  time_span.start_time);
   }
 
   /* Fix the time width to fit start time and end time */
   new_time_window.time_width = ltt_time_sub(end_time,
                                             new_time_window.start_time);
 
+  new_time_window.end_time = end_time;
+  
   time_change_manager(tab, new_time_window);
 
 }
@@ -3705,23 +3713,23 @@ on_MEntry4_value_changed               (GtkSpinButton *spinbutton,
 
   TimeWindow new_time_window = tab->time_window;
  
-  LttTime end_time = ltt_time_add(new_time_window.start_time,
-                                  new_time_window.time_width);
+  LttTime end_time = new_time_window.end_time;
+
   end_time.tv_nsec = value;
 
-  /* check if end time selected is below or equal */
   if(ltt_time_compare(new_time_window.start_time, end_time) >= 0) {
     /* Then, we must push front start time : keep the same time width
      * if possible, else end traceset time */
-    new_time_window.start_time = LTT_TIME_MAX(time_span.start_time,
-                                        ltt_time_sub(end_time,
-                                                     new_time_window.time_width)
-                                             );
+    new_time_window.start_time = LTT_TIME_MAX(
+                                ltt_time_sub(end_time,
+                                             new_time_window.time_width),
+                                time_span.start_time);
   }
 
   /* Fix the time width to fit start time and end time */
   new_time_window.time_width = ltt_time_sub(end_time,
                                             new_time_window.start_time);
+  new_time_window.end_time = end_time;
 
   time_change_manager(tab, new_time_window);
 
@@ -3847,6 +3855,9 @@ void scroll_value_changed_cb(GtkWidget *scrollbar,
   new_time_window.time_width = 
     ltt_time_from_double(page_size);
 
+  new_time_window.end_time = ltt_time_add(new_time_window.start_time, 
+                                          new_time_window.time_width);
+
 
   time_change_manager(tab, new_time_window);
 #if 0
index d46969b2d735485cb175d2cc676b00d49b1eb21e..5dcc85ffbc1bee4f63c271e97a27d921364a240e 100644 (file)
@@ -30,6 +30,7 @@ typedef struct _TracesetInfo TracesetInfo;
 struct _TimeWindow {
        LttTime start_time;
        LttTime time_width;
+       LttTime end_time;
 }; 
 
 
This page took 0.031137 seconds and 4 git commands to generate.