Enable support for opening multiple trace
[lttv.git] / lttv / modules / gui / lttvwindow / lttvwindow / callbacks.c
index b370026810f3f004f6e5703f2e86410cd3f6d9df..b5f416b2b909f8e4d66a18eee1cdfd111859f534 100644 (file)
@@ -283,7 +283,7 @@ int SetTraceset(Tab * tab, LttvTraceset *traceset)
   }
 #endif /*BABEL_CLEANUP*/
 
-  time_span = lttv_traceset_get_time_span(traceset);
+  time_span = lttv_traceset_get_time_span_real(traceset);
   
   tab->traceset_info->traceset = traceset;
   
@@ -344,7 +344,7 @@ int SetTraceset(Tab * tab, LttvTraceset *traceset)
     events_request->before_chunk_traceset = NULL;
     events_request->before_chunk_trace = NULL;
     events_request->before_chunk_tracefile = NULL;
-    events_request->event = traceset->event_hooks;
+    events_request->event = NULL;
     events_request->after_chunk_tracefile = NULL;
     events_request->after_chunk_trace = NULL;
     events_request->after_chunk_traceset = NULL;
@@ -1030,12 +1030,12 @@ gboolean lttvwindow_process_pending_requests(Tab *tab)
             /* Process the traceset with only state hooks */
 #ifdef DEBUG
             seek_count =
-
+#endif
                lttv_process_traceset_middle(ts,
                                             ltt_time_infinite,
                                             G_MAXUINT,
                                             events_request->start_position);
-#endif
+
             //g_assert(lttv_traceset_context_ctx_pos_compare(tsc,
             //             events_request->start_position) == 0);
 
@@ -1047,7 +1047,6 @@ gboolean lttvwindow_process_pending_requests(Tab *tab)
       /* 1.3 Add hooks and call before request for all list_in members */
       {
         GSList *iter = NULL;
-
         for(iter=list_in;iter!=NULL;iter=g_slist_next(iter)) {
           EventsRequest *events_request = (EventsRequest*)iter->data;
           /* 1.3.1 If !servicing */
@@ -1063,13 +1062,14 @@ gboolean lttvwindow_process_pending_requests(Tab *tab)
            */
          //TODO ybrosseau 2012-07-10: || TRUE added since we only support
          //     traceset wide requests
-          if(events_request->trace == -1 || TRUE)
+          if(events_request->trace == -1 || TRUE) {
+
             lttv_process_traceset_begin(ts,
                 events_request->before_chunk_traceset,
                 events_request->before_chunk_trace,
                 events_request->event
                 );
-          else {
+         } else {
             guint nb_trace = lttv_traceset_number(ts);
             g_assert((guint)events_request->trace < nb_trace &&
                       events_request->trace > -1);
@@ -1378,15 +1378,12 @@ gboolean lttvwindow_process_pending_requests(Tab *tab)
            */
          //TODO ybrosseau 2012-07-10: || TRUE added since we only support
          //     traceset wide requests
-          if(events_request->trace == -1 || TRUE) 
+          if(events_request->trace == -1 || TRUE) {
                lttv_process_traceset_end(ts,
                                          events_request->after_chunk_traceset,
                                          events_request->after_chunk_trace,
-
                                          events_request->event);
-
-
-          else {
+         } else {
             guint nb_trace = lttv_traceset_number(ts);
             g_assert(events_request->trace < nb_trace &&
                       events_request->trace > -1);
@@ -1683,6 +1680,7 @@ void add_trace(GtkWidget * widget, gpointer user_data)
     ptab = (LttvPluginTab *)g_object_get_data(G_OBJECT(page), "Tab_Plugin");
     tab = ptab->tab;
   }
+#if 0
 //TODO fdeslauriers 2012-07-06: Remove this popup when we support multiple traces
   traceset = lttvwindow_get_traceset(tab);
   if(traceset != NULL && lttv_traceset_number(traceset) > 0){
@@ -1697,9 +1695,12 @@ void add_trace(GtkWidget * widget, gpointer user_data)
          gtk_widget_destroy(dialogue);
          return;
        }
-  
+#endif  
   /* Create a new traceset*/
-  traceset = lttv_traceset_new();
+  traceset = tab->traceset_info->traceset;
+  if(traceset == NULL) {
+    traceset = lttv_traceset_new();
+  }
   /* File open dialog management */
 #ifdef BABEL_CLEANUP
   GtkWidget *extra_live_button;
@@ -3323,9 +3324,8 @@ void time_change_manager               (Tab *tab,
   TimeInterval time_span;
   
   LttvTraceset *ts = tab->traceset_info->traceset;
-  time_span.start_time =ltt_time_from_uint64( lttv_traceset_get_timestamp_begin(ts));
-  time_span.end_time = ltt_time_from_uint64(lttv_traceset_get_timestamp_end(ts));
   
+  time_span = lttv_traceset_get_time_span_real(ts);
 
   LttTime start_time = new_time_window.start_time;
   LttTime end_time = new_time_window.end_time;
@@ -3432,7 +3432,7 @@ static void on_timebar_starttime_changed(Timebar *timebar,
 {
        Tab *tab = (Tab *)user_data;
        LttvTraceset * ts =tab->traceset_info->traceset;
-       TimeInterval time_span = lttv_traceset_get_time_span(ts);
+       TimeInterval time_span = lttv_traceset_get_time_span_real(ts);
 
        TimeWindow new_time_window = tab->time_window;
        new_time_window.start_time = timebar_get_start_time(timebar);
@@ -3468,7 +3468,7 @@ static void on_timebar_endtime_changed(Timebar *timebar,
 {
        Tab *tab = (Tab *)user_data;
         LttvTraceset * ts =tab->traceset_info->traceset;
-        TimeInterval time_span = lttv_traceset_get_time_span(ts);
+        TimeInterval time_span = lttv_traceset_get_time_span_real(ts);
 
        TimeWindow new_time_window = tab->time_window;
 
@@ -3519,7 +3519,7 @@ void scroll_value_changed_cb(GtkWidget *scrollbar,
   gdouble page_size;
   
   LttvTraceset * ts = tab->traceset_info->traceset;
-  TimeInterval time_span = lttv_traceset_get_time_span(ts);
+  TimeInterval time_span = lttv_traceset_get_time_span_real(ts);
 
   time = ltt_time_add(ltt_time_from_double(value),
                       time_span.start_time);
This page took 0.028189 seconds and 4 git commands to generate.