aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2009-12-01 13:20:53 -0500
committerSteven Rostedt <rostedt@goodmis.org>2009-12-17 21:43:46 -0500
commit24259ddaebbdf6e43fc369ef502f52733e28a9ba (patch)
tree5d657b6bdda8e6427f54931da7df7e9deb7b238f
parent43e0833d8468c9d9b496abde1845dddff106d11e (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.c31
-rw-r--r--trace-view.c22
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
171static GtkTreeModel * 172static GtkTreeModel *
172create_trace_view_model(void) 173create_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
188static GtkWidget * 182static GtkWidget *
189create_trace_view(void) 183create_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