X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2FguiEvents.c;h=a53f7262fa4cd260d651633e1aa037759af1f6e1;hb=4c69e0cc2b20bbe101918f769842e31101045767;hp=66f10d9b32165482871b4599a33f444b96ee0a02;hpb=606309a4411d7405f9d3ab0ce151cf9896f853a4;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/guiEvents.c b/ltt/branches/poly/lttv/modules/guiEvents.c index 66f10d9b..a53f7262 100644 --- a/ltt/branches/poly/lttv/modules/guiEvents.c +++ b/ltt/branches/poly/lttv/modules/guiEvents.c @@ -67,7 +67,7 @@ typedef struct _RawTraceData{ int pid; unsigned entry_length; char * event_description; - LttEventPosition ep; + LttEventPosition *ep; } RawTraceData; #define RESERVE_BIG_SIZE 1000 @@ -129,9 +129,9 @@ typedef struct _EventViewerData { } EventViewerData ; //! Event Viewer's constructor hook -GtkWidget *h_gui_events(MainWindow *parent_window); +GtkWidget *h_gui_events(MainWindow *parent_window, LttvTracesetSelector * s, char* key); //! Event Viewer's constructor -EventViewerData *gui_events(MainWindow *parent_window); +EventViewerData *gui_events(MainWindow *parent_window, LttvTracesetSelector *s, char *key); //! Event Viewer's destructor void gui_events_destructor(EventViewerData *event_viewer_data); void gui_events_free(EventViewerData *event_viewer_data); @@ -235,9 +235,9 @@ enum * @return The widget created. */ GtkWidget * -h_gui_events(MainWindow * parent_window) +h_gui_events(MainWindow * parent_window, LttvTracesetSelector * s, char* key) { - EventViewerData* event_viewer_data = gui_events(parent_window) ; + EventViewerData* event_viewer_data = gui_events(parent_window, s, key) ; if(event_viewer_data) return event_viewer_data->hbox_v; @@ -252,7 +252,7 @@ h_gui_events(MainWindow * parent_window) * @return The Event viewer data created. */ EventViewerData * -gui_events(MainWindow *parent_window) +gui_events(MainWindow *parent_window, LttvTracesetSelector * s,char* key ) { LttTime start, end; GtkTreeViewColumn *column; @@ -456,6 +456,11 @@ gui_events(MainWindow *parent_window) // tree_v_set_cursor(event_viewer_data); + g_object_set_data( + G_OBJECT(event_viewer_data->hbox_v), + key, + s); + g_object_set_data_full( G_OBJECT(event_viewer_data->hbox_v), "event_viewer_data", @@ -830,20 +835,20 @@ void get_test_data(double time_value, guint list_height, raw_data = (RawTraceData*)g_list_nth_data(first,0); end = raw_data->time; end.tv_nsec--; - ltt_event_position_get(&raw_data->ep, &block_num, &event_num, &tf); + ltt_event_position_get(raw_data->ep, &block_num, &event_num, &tf); if(size !=0){ if(event_num > minNum){ backward_num = event_num > RESERVE_SMALL_SIZE ? event_num - RESERVE_SMALL_SIZE : 1; - ltt_event_position_set(&raw_data->ep, block_num, backward_num); - ltt_tracefile_seek_position(tf, &raw_data->ep); + ltt_event_position_set(raw_data->ep, block_num, backward_num); + ltt_tracefile_seek_position(tf, raw_data->ep); ev = ltt_tracefile_read(tf); start = ltt_event_time(ev); maxNum = G_MAXULONG; }else{ if(block_num > 1){ - ltt_event_position_set(&raw_data->ep, block_num-1, 1); - ltt_tracefile_seek_position(tf, &raw_data->ep); + ltt_event_position_set(raw_data->ep, block_num-1, 1); + ltt_tracefile_seek_position(tf, raw_data->ep); ev = ltt_tracefile_read(tf); start = ltt_event_time(ev); }else{ @@ -854,8 +859,8 @@ void get_test_data(double time_value, guint list_height, } }else{ if(block_num > count){ - ltt_event_position_set(&raw_data->ep, block_num-count, 1); - ltt_tracefile_seek_position(tf, &raw_data->ep); + ltt_event_position_set(raw_data->ep, block_num-count, 1); + ltt_tracefile_seek_position(tf, raw_data->ep); ev = ltt_tracefile_read(tf); start = ltt_event_time(ev); }else{ @@ -929,13 +934,13 @@ void get_test_data(double time_value, guint list_height, raw_data = (RawTraceData*)g_list_nth_data(first,0); end = raw_data->time; end.tv_nsec--; - ltt_event_position_get(&raw_data->ep, &block_num, &event_num, &tf); + ltt_event_position_get(raw_data->ep, &block_num, &event_num, &tf); if(event_num > list_height - size){ backward_num = event_num > RESERVE_SMALL_SIZE ? event_num - RESERVE_SMALL_SIZE : 1; - ltt_event_position_set(&raw_data->ep, block_num, backward_num); - ltt_tracefile_seek_position(tf, &raw_data->ep); + ltt_event_position_set(raw_data->ep, block_num, backward_num); + ltt_tracefile_seek_position(tf, raw_data->ep); ev = ltt_tracefile_read(tf); start = ltt_event_time(ev); maxNum = G_MAXULONG; @@ -1385,11 +1390,12 @@ gboolean parse_event(void *hook_data, void *call_data) tmp_raw_trace_data->cpu_id = ltt_event_cpu_id(e); tmp_raw_trace_data->event_name = g_strdup(ltt_eventtype_name(ltt_event_eventtype(e))); tmp_raw_trace_data->time = time; + tmp_raw_trace_data->ep = ltt_event_position_new(); if(prev_raw_trace_data) tmp_raw_trace_data->pid = prev_raw_trace_data->pid; else tmp_raw_trace_data->pid = -1; - tmp_raw_trace_data->entry_length = field == NULL ? 0 : field->field_size; + tmp_raw_trace_data->entry_length = field == NULL ? 0 : ltt_field_size(field); if(field) get_event_detail(e, field, detail_event); tmp_raw_trace_data->event_description = g_strdup(detail_event->str); @@ -1409,7 +1415,7 @@ gboolean parse_event(void *hook_data, void *call_data) } } - ltt_event_position(e, &tmp_raw_trace_data->ep); + ltt_event_position(e, tmp_raw_trace_data->ep); if(event_viewer_data->raw_trace_data_queue_tmp->length >= RESERVE_SMALL_SIZE){ if(event_viewer_data->append){