X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Flttvwindow%2Flttvwindow%2Fgtkmultivpaned.c;h=ec8b37552f39619188359154410efe5a2fe4adef;hb=f4b88a7dd49bfb6b88ea579410d7e4b59faaf73c;hp=cfcae7c1944af4b55e2dc3f6e46250ad7a0781da;hpb=a43d67bae425508678e5ae2ffe5dd1e84286b915;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/gtkmultivpaned.c b/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/gtkmultivpaned.c index cfcae7c1..ec8b3755 100644 --- a/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/gtkmultivpaned.c +++ b/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/gtkmultivpaned.c @@ -16,12 +16,16 @@ * MA 02111-1307, USA. */ +#ifdef HAVE_CONFIG_H +#include +#endif + #include #include -//#include "gtkintl.h" #include -#include +#include +//#include "gtkintl.h" static void gtk_multi_vpaned_class_init (GtkMultiVPanedClass *klass); static void gtk_multi_vpaned_init (GtkMultiVPaned *multi_vpaned); @@ -147,16 +151,16 @@ gpointer gtk_multi_vpaned_get_data(GtkMultiVPaned * multi_vpaned,char * key) return g_object_get_data(G_OBJECT(multi_vpaned->focused_pane), key); } -void gtk_multi_vpaned_set_focus (GtkWidget * widget, gpointer user_data) +void gtk_multi_vpaned_set_focus (GtkWidget * widget, GtkPaned* paned) { - GtkMultiVPaned * multi_vpaned = (GtkMultiVPaned*) widget; + GtkMultiVPaned * multi_vpaned = GTK_MULTI_VPANED(widget); GtkPaned * pane; if(!multi_vpaned->first_pane) return; pane = multi_vpaned->first_pane; while(1){ - if((GtkWidget*)pane == (GtkWidget*)user_data){ + if((GtkWidget*)pane == GTK_WIDGET(paned)){ multi_vpaned->focused_pane = pane; break; } @@ -170,19 +174,20 @@ void gtk_multi_vpaned_set_focus (GtkWidget * widget, gpointer user_data) void gtk_multi_vpaned_set_adjust(GtkMultiVPaned * multi_vpaned, const TimeWindow *time_window, gboolean first_time) { - //TimeWindow time_window = multi_vpaned->mw->current_tab->time_window; TimeInterval *time_span; double len, start; + Tab *tab = (Tab *)g_object_get_data(G_OBJECT(multi_vpaned), "Tab_Info"); + LttvTracesetContext *tsc = + LTTV_TRACESET_CONTEXT(tab->traceset_info->traceset_context); if(first_time){ - time_span = LTTV_TRACESET_CONTEXT(multi_vpaned->mw->current_tab->traceset_info-> - traceset_context)->Time_Span ; + time_span = &tsc->time_span ; - multi_vpaned->hadjust->lower = ltt_time_to_double(time_span->startTime) * + multi_vpaned->hadjust->lower = ltt_time_to_double(time_span->start_time) * NANOSECONDS_PER_SECOND; multi_vpaned->hadjust->value = multi_vpaned->hadjust->lower; - multi_vpaned->hadjust->upper = ltt_time_to_double(time_span->endTime) * + multi_vpaned->hadjust->upper = ltt_time_to_double(time_span->end_time) * NANOSECONDS_PER_SECOND; } @@ -218,6 +223,7 @@ void gtk_multi_vpaned_widget_add(GtkMultiVPaned * multi_vpaned, GtkWidget * widg { GtkPaned * tmpPane; GtkWidget * w; + Tab *tab = (Tab *)g_object_get_data(G_OBJECT(multi_vpaned), "Tab_Info"); g_return_if_fail(GTK_IS_MULTI_VPANED(multi_vpaned)); g_object_ref(G_OBJECT(widget1)); @@ -231,7 +237,7 @@ void gtk_multi_vpaned_widget_add(GtkMultiVPaned * multi_vpaned, GtkWidget * widg gtk_widget_show(multi_vpaned->hscrollbar); multi_vpaned->hadjust = gtk_range_get_adjustment(GTK_RANGE(multi_vpaned->hscrollbar)); - gtk_multi_vpaned_set_adjust(multi_vpaned, &multi_vpaned->mw->current_tab->time_window, TRUE); + gtk_multi_vpaned_set_adjust(multi_vpaned, &tab->time_window, TRUE); gtk_range_set_update_policy (GTK_RANGE(multi_vpaned->hscrollbar), GTK_UPDATE_CONTINUOUS); @@ -275,11 +281,12 @@ void gtk_multi_vpaned_widget_add(GtkMultiVPaned * multi_vpaned, GtkWidget * widg void gtk_multi_vpaned_widget_delete(GtkMultiVPaned * multi_vpaned) { GtkPaned * tmp, *prev, *next; + GtkWidget *widget; if(!multi_vpaned->focused_pane) return; - tmp = (GtkPaned*)multi_vpaned->focused_pane->child2; //widget in vpaned - g_object_unref(G_OBJECT(tmp)); + widget = GTK_WIDGET(multi_vpaned->focused_pane->child2); //widget in vpaned + g_object_unref(G_OBJECT(widget)); if(multi_vpaned->focused_pane == multi_vpaned->first_pane && multi_vpaned->focused_pane == multi_vpaned->last_pane){ @@ -416,27 +423,28 @@ void gtk_multi_vpaned_scroll_value_changed(GtkAdjustment *adjust, gpointer multi GtkMultiVPaned * multi_vpaned = (GtkMultiVPaned*)multi_vpaned_arg; gdouble value = gtk_adjustment_get_value(adjust); gdouble upper, lower, ratio; + Tab *tab = (Tab *)g_object_get_data(G_OBJECT(multi_vpaned), "Tab_Info"); + LttvTracesetContext * tsc = + LTTV_TRACESET_CONTEXT(tab->traceset_info->traceset_context); - time_window = multi_vpaned->mw->current_tab->time_window; + time_window = tab->time_window; - time_span = LTTV_TRACESET_CONTEXT(multi_vpaned->mw->current_tab->traceset_info-> - traceset_context)->Time_Span ; + time_span = &tsc->time_span ; lower = multi_vpaned->hadjust->lower; upper = multi_vpaned->hadjust->upper; ratio = (value - lower) / (upper - lower); - time = ltt_time_sub(time_span->endTime, time_span->startTime); + time = ltt_time_sub(time_span->end_time, time_span->start_time); time = ltt_time_mul(time, (float)ratio); - time = ltt_time_add(time_span->startTime, time); + time = ltt_time_add(time_span->start_time, time); time_window.start_time = time; - time = ltt_time_sub(time_span->endTime, time); + time = ltt_time_sub(time_span->end_time, time); if(ltt_time_compare(time,time_window.time_width) < 0){ time_window.time_width = time; } - set_time_window(multi_vpaned->mw, &time_window); - // done in expose now call_pending_read_hooks(multi_vpaned->mw); + set_time_window(tab, &time_window); }