+ if(!custom->first_pane){
+ custom->first_pane = (GtkPaned *)gtk_vpaned_new();
+ custom->last_pane = custom->first_pane;
+
+ custom->hscrollbar = gtk_hscrollbar_new (NULL);
+ gtk_widget_show(custom->hscrollbar);
+
+ custom->hadjust = gtk_range_get_adjustment(GTK_RANGE(custom->hscrollbar));
+ get_time_window(custom->mw,&Time_Window);
+ get_current_time(custom->mw,&time);
+ Time_Span = LTTV_TRACESET_CONTEXT(custom->mw->traceset_info->traceset_context)->Time_Span ;
+
+ custom->hadjust->lower = ltt_time_to_double(Time_Span->startTime) *
+ NANOSECONDS_PER_SECOND;
+ custom->hadjust->value = custom->hadjust->lower;
+ custom->hadjust->upper = ltt_time_to_double(Time_Span->endTime) *
+ NANOSECONDS_PER_SECOND;
+ /* Page increment of whole visible area */
+ custom->hadjust->page_increment = ltt_time_to_double(
+ Time_Window.time_width) * NANOSECONDS_PER_SECOND;
+ /* page_size to the whole visible area will take care that the
+ * scroll value + the shown area will never be more than what is
+ * in the trace. */
+ custom->hadjust->page_size = custom->hadjust->page_increment;
+ custom->hadjust->step_increment = custom->hadjust->page_increment / 10;
+
+ gtk_range_set_update_policy (GTK_RANGE(custom->hscrollbar),
+ GTK_UPDATE_DISCONTINUOUS);
+ g_signal_connect(G_OBJECT(custom->hscrollbar), "value-changed",
+ G_CALLBACK(gtk_custom_scroll_value_changed), custom);