LttvTracesetContext *tsc = LTTV_TRACESET_CONTEXT(tab->traceset_info->traceset_context);
TimeInterval time_span = tsc->time_span;
- tab->current_time = new_current_time;
-
/* current seconds */
gtk_spin_button_set_range(GTK_SPIN_BUTTON(tab->MEntry5),
(double)time_span.start_time.tv_sec,
(double)time_span.end_time.tv_sec);
-
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(tab->MEntry5),
+ (double)new_current_time.tv_sec);
/* start nanoseconds */
if(new_current_time.tv_sec == time_span.start_time.tv_sec) {
gtk_spin_button_set_range(GTK_SPIN_BUTTON(tab->MEntry6),
gtk_spin_button_set_value(GTK_SPIN_BUTTON(tab->MEntry6),
(double)new_current_time.tv_nsec);
- lttvwindow_report_current_time(tab, tab->current_time);
+ set_current_time(tab, &new_current_time);
tab->current_time_manager_lock = FALSE;
}
}
+/* set_current_time
+ *
+ * It updates the current time of the tab, then calls the updatetimewindow
+ * hooks of each viewer.
+ *
+ * This is called whenever the current time value changes.
+ */
+
+void set_current_time(Tab *tab, const LttTime *current_time)
+{
+ LttvAttributeValue value;
+ LttvHooks * tmp;
+
+ tab->current_time = *current_time;
+
+ g_assert(lttv_iattribute_find_by_path(tab->attributes,
+ "hooks/updatecurrenttime", LTTV_POINTER, &value));
+ tmp = (LttvHooks*)*(value.v_pointer);
+ if(tmp != NULL) lttv_hooks_call(tmp, &tab->current_time);
+}
+
void add_toolbar_constructor(MainWindow *mw, LttvToolbarClosure *toolbar_c)
{
LttvIAttribute *attributes = mw->attributes;
LttvHooks * tmp;
current_time_change_manager(tab, time);
-
- g_assert(lttv_iattribute_find_by_path(tab->attributes,
- "hooks/updatecurrenttime", LTTV_POINTER, &value));
- tmp = (LttvHooks*)*(value.v_pointer);
-
- if(tmp == NULL)return;
- lttv_hooks_call(tmp, &tab->current_time);
}
/**