X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttv%2Fmodules%2Fgui%2Flttvwindow%2Flttvwindow%2Fcallbacks.c;h=9b70ee3f8c8c4f5e183b10c38a4cb475a02e076a;hb=e40cdd19296a4fbacf0738fb3671f6d0503d9e99;hp=bdb90e7019d6ba4f720bbe96a29cfe8566ff3c0c;hpb=58b4e4ae6fe118dbf6b441692eae833df2229d3e;p=lttv.git diff --git a/lttv/modules/gui/lttvwindow/lttvwindow/callbacks.c b/lttv/modules/gui/lttvwindow/lttvwindow/callbacks.c index bdb90e70..9b70ee3f 100644 --- a/lttv/modules/gui/lttvwindow/lttvwindow/callbacks.c +++ b/lttv/modules/gui/lttvwindow/lttvwindow/callbacks.c @@ -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); @@ -1077,11 +1077,8 @@ gboolean lttvwindow_process_pending_requests(Tab *tab) lttv_hooks_call(events_request->before_chunk_traceset, ts); - lttv_trace_add_hooks(trace, - events_request->before_chunk_trace, - - events_request->event - ); + lttv_trace_add_hooks(trace, events_request->before_chunk_trace, + events_request->event); } } } @@ -1117,7 +1114,6 @@ gboolean lttvwindow_process_pending_requests(Tab *tab) lttv_trace_add_hooks(trace, events_request->before_chunk_trace, - events_request->event ); } @@ -1382,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); @@ -1687,23 +1680,12 @@ void add_trace(GtkWidget * widget, gpointer user_data) ptab = (LttvPluginTab *)g_object_get_data(G_OBJECT(page), "Tab_Plugin"); tab = ptab->tab; } -//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){ - GtkWidget *dialogue = - gtk_message_dialog_new( - GTK_WINDOW(gtk_widget_get_toplevel(widget)), - GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_ERROR, - GTK_BUTTONS_OK, - "Loading multiple traces is not supported at the moment."); - gtk_dialog_run(GTK_DIALOG(dialogue)); - gtk_widget_destroy(dialogue); - return; - } - + /* 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; @@ -2139,11 +2121,11 @@ void save_as(GtkWidget * widget, gpointer user_data) void zoom(GtkWidget * widget, double size) { -#ifdef BABEL_CLEANUP + TimeInterval time_span; TimeWindow new_time_window; LttTime current_time, time_delta; - LttvTracesetContext *tsc; + LttvTraceset *ts; GtkWidget * notebook = lookup_widget(widget, "MNotebook"); GtkWidget *page = gtk_notebook_get_nth_page(GTK_NOTEBOOK(notebook), @@ -2160,8 +2142,8 @@ void zoom(GtkWidget * widget, double size) if(size == 1) return; - tsc = LTTV_TRACESET_CONTEXT(tab->traceset_info->traceset_context); - time_span = tsc->time_span; + ts = lttvwindow_get_traceset(tab); + time_span = lttv_traceset_get_time_span_real(ts); new_time_window = tab->time_window; current_time = tab->current_time; @@ -2223,8 +2205,6 @@ void zoom(GtkWidget * widget, double size) } else { time_change_manager(tab, new_time_window); } - -#endif /* BABEL_CLEANUP */ } void zoom_in(GtkWidget * widget, gpointer user_data) @@ -2288,7 +2268,7 @@ LttvPluginTab *create_new_tab(GtkWidget* widget, gpointer user_data) gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook))); Tab *copy_tab; - if(!page) { + if(!page || TRUE ) { copy_tab = NULL; } else { LttvPluginTab *ptab; @@ -3110,7 +3090,19 @@ void on_button_new_clicked (GtkButton *button, gpointer user_data) { +#ifdef BABEL_CLEANUP create_new_window((GtkWidget*)button, user_data, TRUE); +#else + GtkWidget *dialogue = + gtk_message_dialog_new( + GTK_WINDOW(gtk_widget_get_toplevel(button)), + GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_OK, + "Opening multiple windows is disabled."); + gtk_dialog_run(GTK_DIALOG(dialogue)); + gtk_widget_destroy(dialogue); +#endif } void @@ -3329,9 +3321,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; @@ -3438,7 +3429,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); @@ -3474,7 +3465,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; @@ -3525,7 +3516,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);