diff options
author | Steven Rostedt <srostedt@redhat.com> | 2009-12-01 13:20:53 -0500 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2009-12-17 21:43:46 -0500 |
commit | 24259ddaebbdf6e43fc369ef502f52733e28a9ba (patch) | |
tree | 5d657b6bdda8e6427f54931da7df7e9deb7b238f | |
parent | 43e0833d8468c9d9b496abde1845dddff106d11e (diff) |
Connect the trace_view_store to the trace view tree
This patch replaces the list store used for the main trace tree with
the trace_view_store.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | trace-view-store.c | 31 | ||||
-rw-r--r-- | trace-view.c | 22 |
2 files changed, 24 insertions, 29 deletions
diff --git a/trace-view-store.c b/trace-view-store.c index 55bf2e7..6d3cfaf 100644 --- a/trace-view-store.c +++ b/trace-view-store.c | |||
@@ -373,7 +373,7 @@ trace_view_store_get_value (GtkTreeModel *tree_model, | |||
373 | 373 | ||
374 | pevent = tracecmd_get_pevent(trace_view_store->handle); | 374 | pevent = tracecmd_get_pevent(trace_view_store->handle); |
375 | 375 | ||
376 | record = *(TraceViewRecord**)iter->user_data; | 376 | record = (TraceViewRecord*)iter->user_data; |
377 | 377 | ||
378 | g_return_if_fail ( record != NULL ); | 378 | g_return_if_fail ( record != NULL ); |
379 | 379 | ||
@@ -430,7 +430,7 @@ trace_view_store_get_value (GtkTreeModel *tree_model, | |||
430 | switch (column) { | 430 | switch (column) { |
431 | case TRACE_VIEW_STORE_COL_COMM: | 431 | case TRACE_VIEW_STORE_COL_COMM: |
432 | case TRACE_VIEW_STORE_COL_PID: | 432 | case TRACE_VIEW_STORE_COL_PID: |
433 | val = pevent_data_pid(pevent, data); | 433 | val = pevent_data_pid(pevent, data->data); |
434 | if (column == TRACE_VIEW_STORE_COL_PID) | 434 | if (column == TRACE_VIEW_STORE_COL_PID) |
435 | g_value_set_uint(value, val); | 435 | g_value_set_uint(value, val); |
436 | else { | 436 | else { |
@@ -447,7 +447,7 @@ trace_view_store_get_value (GtkTreeModel *tree_model, | |||
447 | 447 | ||
448 | case TRACE_VIEW_STORE_COL_EVENT: | 448 | case TRACE_VIEW_STORE_COL_EVENT: |
449 | case TRACE_VIEW_STORE_COL_INFO: | 449 | case TRACE_VIEW_STORE_COL_INFO: |
450 | val = pevent_data_type(pevent, data); | 450 | val = pevent_data_type(pevent, data->data); |
451 | event = pevent_data_event_from_type(pevent, val); | 451 | event = pevent_data_event_from_type(pevent, val); |
452 | if (column == TRACE_VIEW_STORE_COL_EVENT) { | 452 | if (column == TRACE_VIEW_STORE_COL_EVENT) { |
453 | g_value_set_string(value, event->name); | 453 | g_value_set_string(value, event->name); |
@@ -456,7 +456,7 @@ trace_view_store_get_value (GtkTreeModel *tree_model, | |||
456 | 456 | ||
457 | 457 | ||
458 | trace_seq_init(&s); | 458 | trace_seq_init(&s); |
459 | pevent_event_info(&s, event, cpu, data, data->size, | 459 | pevent_event_info(&s, event, cpu, data->data, data->size, |
460 | record->timestamp); | 460 | record->timestamp); |
461 | g_value_set_string(value, s.buffer); | 461 | g_value_set_string(value, s.buffer); |
462 | break; | 462 | break; |
@@ -736,19 +736,20 @@ trace_view_store_new (struct tracecmd_input *handle) | |||
736 | list = NULL; | 736 | list = NULL; |
737 | next = &list; | 737 | next = &list; |
738 | 738 | ||
739 | do { | 739 | for (;;) { |
740 | data = tracecmd_read_data(handle, cpu); | 740 | data = tracecmd_read_data(handle, cpu); |
741 | if (data) { | 741 | if (!data) |
742 | *next = rec = g_malloc(sizeof(*rec)); | 742 | break; |
743 | g_assert(rec != NULL); | 743 | |
744 | rec->offset = data->offset; | 744 | *next = rec = g_malloc(sizeof(*rec)); |
745 | rec->ts = data->ts; | 745 | g_assert(rec != NULL); |
746 | rec->next = NULL; | 746 | rec->offset = data->offset; |
747 | next = &rec->next; | 747 | rec->ts = data->ts; |
748 | free(data); | 748 | rec->next = NULL; |
749 | } | 749 | next = &rec->next; |
750 | free(data); | ||
750 | count++; | 751 | count++; |
751 | } while (data); | 752 | } |
752 | 753 | ||
753 | if (count) { | 754 | if (count) { |
754 | TraceViewRecord *trec; | 755 | TraceViewRecord *trec; |
diff --git a/trace-view.c b/trace-view.c index 744f9a2..19e7317 100644 --- a/trace-view.c +++ b/trace-view.c | |||
@@ -25,6 +25,7 @@ | |||
25 | 25 | ||
26 | #include "trace-cmd.h" | 26 | #include "trace-cmd.h" |
27 | #include "trace-local.h" | 27 | #include "trace-local.h" |
28 | #include "trace-view-store.h" | ||
28 | 29 | ||
29 | #define version "0.1.1" | 30 | #define version "0.1.1" |
30 | 31 | ||
@@ -169,24 +170,17 @@ delete_event (GtkWidget *widget, GdkEvent *event, gpointer data) | |||
169 | } | 170 | } |
170 | 171 | ||
171 | static GtkTreeModel * | 172 | static GtkTreeModel * |
172 | create_trace_view_model(void) | 173 | create_trace_view_model(struct tracecmd_input *handle) |
173 | { | 174 | { |
174 | GtkListStore *store; | 175 | TraceViewStore *store; |
175 | 176 | ||
176 | store = gtk_list_store_new(NUM_COLS, | 177 | store = trace_view_store_new(handle); |
177 | G_TYPE_UINT, | ||
178 | G_TYPE_STRING, | ||
179 | G_TYPE_STRING, | ||
180 | G_TYPE_UINT, | ||
181 | G_TYPE_STRING, | ||
182 | G_TYPE_STRING, | ||
183 | G_TYPE_STRING); | ||
184 | 178 | ||
185 | return GTK_TREE_MODEL(store); | 179 | return GTK_TREE_MODEL(store); |
186 | } | 180 | } |
187 | 181 | ||
188 | static GtkWidget * | 182 | static GtkWidget * |
189 | create_trace_view(void) | 183 | create_trace_view(struct tracecmd_input *handle) |
190 | { | 184 | { |
191 | GtkTreeViewColumn *col; | 185 | GtkTreeViewColumn *col; |
192 | GtkCellRenderer *renderer; | 186 | GtkCellRenderer *renderer; |
@@ -250,7 +244,7 @@ create_trace_view(void) | |||
250 | "text", COL_INFO, | 244 | "text", COL_INFO, |
251 | NULL); | 245 | NULL); |
252 | 246 | ||
253 | model = create_trace_view_model(); | 247 | model = create_trace_view_model(handle); |
254 | 248 | ||
255 | gtk_tree_view_set_model(GTK_TREE_VIEW(view), model); | 249 | gtk_tree_view_set_model(GTK_TREE_VIEW(view), model); |
256 | 250 | ||
@@ -344,12 +338,12 @@ void trace_view(int argc, char **argv) | |||
344 | 338 | ||
345 | /* --- Trace Tree --- */ | 339 | /* --- Trace Tree --- */ |
346 | 340 | ||
347 | trace_tree = create_trace_view(); | 341 | trace_tree = create_trace_view(handle); |
348 | gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrollwin), | 342 | gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrollwin), |
349 | trace_tree); | 343 | trace_tree); |
350 | gtk_widget_show(trace_tree); | 344 | gtk_widget_show(trace_tree); |
351 | 345 | ||
352 | trace_load_tree(handle, trace_tree); | 346 | // trace_load_tree(handle, trace_tree); |
353 | 347 | ||
354 | /********************************************** | 348 | /********************************************** |
355 | * Main Window | 349 | * Main Window |