#include <math.h>
#include <glib.h>
+#include <glib/gprintf.h>
#include <gtk/gtk.h>
#include <gdk/gdk.h>
#include <gdk/gdkx.h>
gboolean update_current_position(void * hook_data, void * call_data);
//gboolean show_event_detail(void * hook_data, void * call_data);
gboolean traceset_changed(void * hook_data, void * call_data);
+gboolean timespan_changed(void * hook_data, void * call_data);
gboolean filter_changed(void * hook_data, void * call_data);
static void request_background_data(EventViewerData *event_viewer_data);
update_current_position,event_viewer_data);
lttvwindow_register_traceset_notify(tab,
traceset_changed,event_viewer_data);
+ lttvwindow_register_timespan_notify(tab,
+ timespan_changed,event_viewer_data);
lttvwindow_register_filter_notify(tab,
filter_changed, event_viewer_data);
lttvwindow_register_redraw_notify(tab,
g_signal_connect (G_OBJECT (event_viewer_data->vadjust_c), "value-changed",
G_CALLBACK (v_scroll_cb),
event_viewer_data);
+ //TODO ybrosseau 2011-01-06: Fix comment
/* Set the upper bound to the last event number */
event_viewer_data->previous_value = 0;
event_viewer_data->vadjust_c->lower = 0.0;
//event_viewer_data->vadjust_c->upper = event_viewer_data->number_of_events;
LttTime time = lttvwindow_get_current_time(tab);
time = ltt_time_sub(time, tsc->time_span.start_time);
+ //TODO ybrosseau 2011-01-06: Which one do we keep?
event_viewer_data->vadjust_c->value = ltt_time_to_double(time);
event_viewer_data->vadjust_c->value = 0.0;
event_viewer_data->vadjust_c->step_increment = 1.0;
static gint background_ready(void *hook_data, void *call_data)
{
EventViewerData *event_viewer_data = (EventViewerData *)hook_data;
- LttvTrace *trace = (LttvTrace*)call_data;
event_viewer_data->background_info_waiting--;
void tree_v_set_cursor(EventViewerData *event_viewer_data)
{
- GtkTreePath *path;
-
g_debug("set cursor cb");
#if 0
void tree_v_get_cursor(EventViewerData *event_viewer_data)
{
- GtkTreePath *path;
- gint *indices;
-
g_debug("get cursor cb");
gpointer data)
{
GtkTreePath *path; // = gtk_tree_path_new();
- gint *indices;
- gdouble value;
EventViewerData *event_viewer_data = (EventViewerData*)data;
g_debug("move cursor cb");
gboolean tree_v_scroll_handler (GtkWidget *widget, GdkEventScroll *event, gpointer data)
{
EventViewerData *event_viewer_data = (EventViewerData*) data;
- Tab *tab = event_viewer_data->tab;
switch(event->direction) {
case GDK_SCROLL_UP:
gpointer data)
{
g_debug("tree sel changed cb");
- EventViewerData *event_viewer_data = (EventViewerData*) data;
#if 0
/* Set the cursor to currently selected event */
void v_scroll_cb (GtkAdjustment *adjustment, gpointer data)
{
EventViewerData *event_viewer_data = (EventViewerData*)data;
- LttvTracesetStats *tss =
- lttvwindow_get_traceset_stats(event_viewer_data->tab);
- LttvTracesetContext *tsc = (LttvTracesetContext*)tss;
g_debug("SCROLL begin");
g_debug("SCROLL values : %g , %g, %g",
adjustment->value, event_viewer_data->previous_value,
static void get_events(double new_value, EventViewerData *event_viewer_data)
{
- GtkTreePath *tree_path;
LttvTracesetStats *tss =
lttvwindow_get_traceset_stats(event_viewer_data->tab);
LttvTracesetContext *tsc = (LttvTracesetContext*)tss;
const LttTime * current_time = (LttTime*)call_data;
LttvTracesetContext * tsc =
lttvwindow_get_traceset_context(event_viewer_data->tab);
- GtkTreePath *path;
/* If the currently selected event time != current time, set the first event
* with this time as currently selected. */
return FALSE;
}
+gboolean timespan_changed(void * hook_data, void * call_data)
+{
+ EventViewerData *event_viewer_data = (EventViewerData*) hook_data;
+ LttvTracesetContext * tsc =
+ lttvwindow_get_traceset_context(event_viewer_data->tab);
+ TimeInterval time_span = tsc->time_span;
+
+ LttTime end;
+
+ end = ltt_time_sub(time_span.end_time, time_span.start_time);
+ event_viewer_data->vadjust_c->upper = ltt_time_to_double(end);
+ if(event_viewer_data->pos->len < event_viewer_data->num_visible_events ) {
+
+
+ get_events(event_viewer_data->vadjust_c->value, event_viewer_data);
+
+ request_background_data(event_viewer_data);
+ }
+ return FALSE;
+}
gboolean traceset_changed(void * hook_data, void * call_data)
{
gboolean filter_changed(void * hook_data, void * call_data)
{
EventViewerData *event_viewer_data = (EventViewerData*) hook_data;
- LttvTracesetContext * tsc =
- lttvwindow_get_traceset_context(event_viewer_data->tab);
event_viewer_data->main_win_filter =
(LttvFilter*)call_data;
// show_event_detail, event_viewer_data);
lttvwindow_unregister_traceset_notify(tab,
traceset_changed, event_viewer_data);
+ lttvwindow_unregister_timespan_notify(tab,
+ timespan_changed,event_viewer_data);
lttvwindow_unregister_filter_notify(tab,
filter_changed, event_viewer_data);
lttvwindow_unregister_redraw_notify(tab,