git-svn-id: http://ltt.polymtl.ca/svn@315 04897980-b3bd-0310-b5e0-8ef037075253
[lttv.git] / ltt / branches / poly / lttv / modules / guiEvents.c
index 9b3e8641b07b40c36e8447371709c260bedc03d8..c716521e34a9373770b0758080fc3be61615f142 100644 (file)
@@ -171,13 +171,12 @@ static LttvModule *Main_Win_Module;
  */
 G_MODULE_EXPORT void init(LttvModule *self, int argc, char *argv[]) {
 
-       Main_Win_Module = lttv_module_require(self, "mainwin", argc, argv);
-       
-       if(Main_Win_Module == NULL)
-       {
-         g_critical("Can't load Control Flow Viewer : missing mainwin\n");
-         return;
-       }
+  Main_Win_Module = lttv_module_require(self, "mainwin", argc, argv);
+  
+  if(Main_Win_Module == NULL){
+    g_critical("Can't load Control Flow Viewer : missing mainwin\n");
+    return;
+  }
        
 
   g_critical("GUI Event Viewer init()");
@@ -190,7 +189,7 @@ G_MODULE_EXPORT void init(LttvModule *self, int argc, char *argv[]) {
   
 }
 
-void destroy_walk(gpointer data, gpointer user_data)
+void event_destroy_walk(gpointer data, gpointer user_data)
 {
   GuiEvents_Destructor((EventViewerData*)data);
 }
@@ -208,9 +207,10 @@ G_MODULE_EXPORT void destroy() {
   
   g_critical("GUI Event Viewer destroy()");
 
-  g_slist_foreach(sEvent_Viewer_Data_List, destroy_walk, NULL );
-
-  g_slist_free(sEvent_Viewer_Data_List);
+  if(sEvent_Viewer_Data_List){
+    g_slist_foreach(sEvent_Viewer_Data_List, event_destroy_walk, NULL );
+    g_slist_free(sEvent_Viewer_Data_List);
+  }
 
   /* Unregister the toolbar insert button */
   ToolbarItemUnreg(hGuiEvents);
@@ -265,7 +265,6 @@ GuiEvents(mainWindow *pmParentWindow)
   GtkCellRenderer *renderer;
   EventViewerData* Event_Viewer_Data = g_new(EventViewerData,1) ;
   RawTraceData * data;
-  double time_value;
   unsigned size;
 
   Event_Viewer_Data->mw = pmParentWindow;
@@ -438,10 +437,8 @@ GuiEvents(mainWindow *pmParentWindow)
   //get the life span of the traceset and set the upper of the scroll bar
   getTracesetTimeSpan(Event_Viewer_Data->mw, &Event_Viewer_Data->time_span);
   
-  time_value = Event_Viewer_Data->time_span.endTime.tv_sec - Event_Viewer_Data->time_span.startTime.tv_sec;
-  time_value *= NANSECOND_CONST;
-  time_value += (double)Event_Viewer_Data->time_span.endTime.tv_nsec - Event_Viewer_Data->time_span.startTime.tv_nsec;
-  Event_Viewer_Data->VAdjust_C->upper = time_value;
+  start = ltt_time_sub(Event_Viewer_Data->time_span.endTime, Event_Viewer_Data->time_span.startTime);
+  Event_Viewer_Data->VAdjust_C->upper = ltt_time_to_double(start) * NANOSECONDS_PER_SECOND;
 
   Event_Viewer_Data->append = TRUE;
 
@@ -688,8 +685,8 @@ void Tree_V_cursor_changed_cb (GtkWidget *widget, gpointer data)
   gtk_tree_view_get_cursor(GTK_TREE_VIEW(Event_Viewer_Data->Tree_V), &path, NULL);
   if(gtk_tree_model_get_iter(model,&iter,path)){
     gtk_tree_model_get(model, &iter, TIME_COLUMN, &time, -1);
-    ltt_time.tv_sec = time / NANSECOND_CONST;
-    ltt_time.tv_nsec = time % NANSECOND_CONST;
+    ltt_time.tv_sec = time / NANOSECONDS_PER_SECOND;
+    ltt_time.tv_nsec = time % NANOSECONDS_PER_SECOND;
  
     if(ltt_time.tv_sec != Event_Viewer_Data->current_time.tv_sec ||
        ltt_time.tv_nsec != Event_Viewer_Data->current_time.tv_nsec)
@@ -940,16 +937,8 @@ void get_test_data(double time_value, guint List_Height,
        remove_all_items_from_queue(Event_Viewer_Data->raw_trace_data_queue);
        end.tv_sec = G_MAXULONG;
        end.tv_nsec = G_MAXULONG;
-       start = Event_Viewer_Data->time_span.startTime;
-       value = (int)(time_value / NANSECOND_CONST);
-       start.tv_sec += value;
-       value = time_value / NANSECOND_CONST - value;
-       value *= NANSECOND_CONST;
-       start.tv_nsec += value;
-       if(start.tv_nsec > NANSECOND_CONST){
-         start.tv_sec++;
-         start.tv_nsec -= NANSECOND_CONST;
-       }
+       time = ltt_time_from_double(time_value / NANOSECONDS_PER_SECOND);
+       start = ltt_time_add(Event_Viewer_Data->time_span.startTime, time);
        Event_Viewer_Data->previous_value = time_value;
        get_events(Event_Viewer_Data, start, end, RESERVE_SMALL_SIZE,&size);
        if(size < List_Height){
@@ -988,12 +977,8 @@ void get_test_data(double time_value, guint List_Height,
     if(direction != SCROLL_NONE && direction != SCROLL_JUMP){
       first = Event_Viewer_Data->raw_trace_data_queue->head;
       raw_data = (RawTraceData*)g_list_nth_data(first,Event_Number);
-      value = raw_data->time.tv_sec;
-      value -= Event_Viewer_Data->time_span.startTime.tv_sec;
-      value *= NANSECOND_CONST;
-      value -= Event_Viewer_Data->time_span.startTime.tv_nsec;
-      value += raw_data->time.tv_nsec;
-      Event_Viewer_Data->VAdjust_C->value = value;
+      time = ltt_time_sub(raw_data->time, Event_Viewer_Data->time_span.startTime);
+      Event_Viewer_Data->VAdjust_C->value = ltt_time_to_double(time) * NANOSECONDS_PER_SECOND;
       g_signal_stop_emission_by_name(G_OBJECT(Event_Viewer_Data->VAdjust_C), "value-changed");
       Event_Viewer_Data->previous_value = value;
     }
@@ -1014,7 +999,7 @@ void get_test_data(double time_value, guint List_Height,
 
        // Add a new row to the model 
        real_data = raw_data->time.tv_sec;
-       real_data *= NANSECOND_CONST;
+       real_data *= NANOSECONDS_PER_SECOND;
        real_data += raw_data->time.tv_nsec;
        gtk_list_store_append (Event_Viewer_Data->Store_M, &iter);
        gtk_list_store_set (Event_Viewer_Data->Store_M, &iter,
@@ -1164,7 +1149,7 @@ GuiEvents_Destructor(EventViewerData *Event_Viewer_Data)
   //gtk_widget_destroy(GTK_WIDGET(Event_Viewer_Data->Store_M));
   
   g_warning("Delete Event data from destroy\n");
-  GuiEvents_free(Event_Viewer_Data);
+  //GuiEvents_free(Event_Viewer_Data);
 }
 
 //FIXME : call hGuiEvents_Destructor for corresponding data upon widget destroy
@@ -1215,7 +1200,7 @@ gboolean updateCurrentTime(void * hook_data, void * call_data)
 {
   EventViewerData *Event_Viewer_Data = (EventViewerData*) hook_data;
   Event_Viewer_Data->current_time = *(LttTime*)call_data;
-  uint64_t nsec = Event_Viewer_Data->current_time.tv_sec * NANSECOND_CONST 
+  uint64_t nsec = Event_Viewer_Data->current_time.tv_sec * NANOSECONDS_PER_SECOND 
                   + Event_Viewer_Data->current_time.tv_nsec;
   GtkTreeIter iter;
   uint64_t time;
This page took 0.024958 seconds and 4 git commands to generate.