enum
{
TRACE_NAME_COLUMN,
- TRACEFILE_NAME_COLUMN,
CPUID_COLUMN,
EVENT_COLUMN,
TIME_S_COLUMN,
GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER);
event_viewer_data->currently_selected_position =
- lttv_traceset_create_position(ts);
+ lttv_traceset_create_current_position(ts);
event_viewer_data->first_event =
- lttv_traceset_create_position(ts);
+ lttv_traceset_create_current_position(ts);
event_viewer_data->last_event =
- lttv_traceset_create_position(ts);
+ lttv_traceset_create_current_position(ts);
event_viewer_data->main_win_filter = lttvwindow_get_filter(tab);
event_viewer_data->update_cursor = TRUE;
event_viewer_data->store_m = gtk_list_store_new (
N_COLUMNS, /* Total number of columns */
G_TYPE_STRING, /* Trace name */
- G_TYPE_STRING, /* Tracefile name */
G_TYPE_UINT, /* CPUID */
G_TYPE_STRING, /* Event */
G_TYPE_UINT, /* Time s */
G_CALLBACK(header_size_allocate),
(gpointer)event_viewer_data);
-
-
- renderer = gtk_cell_renderer_text_new ();
- column = gtk_tree_view_column_new_with_attributes ("Tracefile",
- renderer,
- "text", TRACEFILE_NAME_COLUMN,
- NULL);
- gtk_tree_view_column_set_alignment (column, 0.0);
- gtk_tree_view_column_set_fixed_width (column, 120);
- gtk_tree_view_append_column (GTK_TREE_VIEW (event_viewer_data->tree_v),
- column);
-
-
renderer = gtk_cell_renderer_text_new ();
column = gtk_tree_view_column_new_with_attributes ("CPUID",
renderer,
pos = (LttvTracesetPosition*)g_ptr_array_index(
event_viewer_data->pos,
0);
- lttv_traceset_seek_to_position(pos);
+ lttv_state_traceset_seek_position(ts,pos);
}
- }
+ } else {
+ lttv_state_traceset_seek_time(ts,time);
+
+ }
/* Note that, as we mess with the tsc position, this function CANNOT be called
* from a hook inside the lttv_process_traceset_middle. */
/* Save the first event position */
- event_viewer_data->first_event = lttv_traceset_create_position(ts);
+ event_viewer_data->first_event = lttv_traceset_create_current_position(ts);
time = ltt_time_from_uint64(lttv_traceset_position_get_timestamp(
event_viewer_data->first_event));
LttTime time_val = ltt_time_sub(time,time_span.start_time);
event_viewer_data->previous_value = ltt_time_to_double(time_val);
- lttv_traceset_seek_to_position(event_viewer_data->first_event);
+ lttv_state_traceset_seek_position(ts, event_viewer_data->first_event);
} else {
/* Seek by time */
- lttv_traceset_seek_to_position(timePos);
+ lttv_state_traceset_seek_time(ts, time);
LttTime time_val = ltt_time_sub(time,time_span.start_time);
event_viewer_data->pos->len - 1);
event_viewer_data->last_event = cur_pos;
} else
- event_viewer_data->last_event =lttv_traceset_create_position(ts);
+ event_viewer_data->last_event =lttv_traceset_create_current_position(ts);
gtk_adjustment_set_value(event_viewer_data->vadjust_c,
event_viewer_data->previous_value);
GtkTreeIter iter;
GString *desc = g_string_new("");
+ GString *name = g_string_new("");
- LttvTracesetPosition *pos = lttv_traceset_create_position(traceState->trace->traceset);
+ LttvTracesetPosition *pos = lttv_traceset_create_current_position(traceState->trace->traceset);
- lttv_event_to_string(e, desc, TRUE);
+ lttv_event_to_string(e, desc, TRUE, FALSE);
+ lttv_event_get_name(e,name);
g_info("detail : %s", desc->str);
gtk_list_store_set (event_viewer_data->store_m, &iter,
TRACE_NAME_COLUMN, "TraceName",
- TRACEFILE_NAME_COLUMN,"TraceFile" /*traceState->trace->traceset->filename*/,
CPUID_COLUMN, cpu,
- EVENT_COLUMN,"EventName" /*bt_ctf_event_name(e->bt_event)*/,
+ EVENT_COLUMN,name->str,
TIME_S_COLUMN, time.tv_sec,
TIME_NS_COLUMN, time.tv_nsec,
PID_COLUMN, process->pid,
g_ptr_array_add(event_viewer_data->pos, pos);
g_string_free(desc, TRUE);
+ g_string_free(name, TRUE);
if(event_viewer_data->update_cursor) {
if(lttv_traceset_position_compare(pos,
guint i;
GPtrArray *positions = event_viewer_data->pos;
g_info("event_update_selection");
+
+ int isFound = FALSE;
+
for(i=0;i<positions->len;i++) {
LttvTracesetPosition *cur_pos =
if(path) {
gtk_tree_view_set_cursor(GTK_TREE_VIEW(event_viewer_data->tree_v),
path, NULL, FALSE);
+ gtk_widget_grab_focus(event_viewer_data->tree_v );
gtk_tree_path_free(path);
+ isFound = TRUE;
break;
}
}
}
+ if(isFound){
+ return;
+ }
+ /* If the current selection is not in the currently displayed events*/
+ LttTime currentTime = lttv_traceset_position_get_time(
+ event_viewer_data->currently_selected_position);
+ LttTime time;
+
+ LttvTraceset * ts = lttvwindow_get_traceset(event_viewer_data->tab);
+ TimeInterval time_span = lttv_traceset_get_time_span_real(ts);
+ time = ltt_time_sub(currentTime, time_span.start_time);
+ gtk_adjustment_set_value(event_viewer_data->vadjust_c,
+ ltt_time_to_double(time));
+ gtk_widget_grab_focus(event_viewer_data->tree_v );
+
}
static int current_time_get_first_event_hook(void *hook_data, void *call_data)
EventViewerData *event_viewer_data = (EventViewerData*) hook_data;
const LttTime * current_time = (LttTime*)call_data;
- LttvTraceset * ts =
- lttvwindow_get_traceset(event_viewer_data->tab);
+ LttvTraceset * ts = lttvwindow_get_traceset(event_viewer_data->tab);
/* If the currently selected event time != current time, set the first event
* with this time as currently selected. */
event_viewer_data->currently_selected_position);
if(ltt_time_compare(pos_time, *current_time) != 0) {
-
/*create position*/
LttvTracesetPosition *currentPosition =
lttv_traceset_create_time_position(ts,*current_time );
/*seek to current position*/
- lttv_traceset_seek_to_position(currentPosition);
+ lttv_state_traceset_seek_time(ts, *current_time);
event_viewer_data->currently_selected_position =
- lttv_traceset_create_position(ts);
-
-
+ lttv_traceset_create_current_position(ts);
}
event_viewer_data->report_position = FALSE;
lttv_traceset_destroy_position(event_viewer_data->currently_selected_position);
lttv_traceset_destroy_position(event_viewer_data->first_event);
lttv_traceset_destroy_position(event_viewer_data->last_event);
-
+
event_viewer_data->currently_selected_position =
- lttv_traceset_create_position(ts);
+ lttv_traceset_create_current_position(ts);
event_viewer_data->first_event =
- lttv_traceset_create_position(ts);
+ lttv_traceset_create_current_position(ts);
event_viewer_data->last_event =
- lttv_traceset_create_position(ts);
+ lttv_traceset_create_current_position(ts);
get_events(event_viewer_data->vadjust_c->value, event_viewer_data);
+
#endif //babel_cleanup
// event_viewer_data->vadjust_c->value = 0;