X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Fcontrolflow%2Fprocesslist.c;h=c1c9ad47c45edab3b8bf5887ec2889d8dff5ed5c;hb=1fc7847f7f1d2f79b4dabc275c7c809990720ffc;hp=4ecef3d2cb452dbca8e44f35efe53287144ab2a4;hpb=4e4d11b3b1db254446f6cad04b3c3fa9b574851f;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/controlflow/processlist.c b/ltt/branches/poly/lttv/modules/gui/controlflow/processlist.c index 4ecef3d2..c1c9ad47 100644 --- a/ltt/branches/poly/lttv/modules/gui/controlflow/processlist.c +++ b/ltt/branches/poly/lttv/modules/gui/controlflow/processlist.c @@ -21,6 +21,7 @@ #endif #include +#include #include #include #include @@ -125,11 +126,11 @@ static gboolean process_list_equ_fct(gconstpointer a, gconstpointer b) if(likely(pa->pid != pb->pid)) ret = FALSE; - else if(likely((pa->pid == 0 && (pa->cpu != pb->cpu)))) + if(likely((pa->pid == 0 && (pa->cpu != pb->cpu)))) ret = FALSE; - else if(unlikely(ltt_time_compare(pa->birth, pb->birth) != 0)) + if(unlikely(ltt_time_compare(pa->birth, pb->birth) != 0)) ret = FALSE; - else if(unlikely(pa->trace_num != pb->trace_num)) + if(unlikely(pa->trace_num != pb->trace_num)) ret = FALSE; return ret; @@ -287,7 +288,8 @@ void copy_pixmap_to_screen(ProcessList *process_list, g_assert(iindex_to_pixmap->len); /* Render the pixmap to the screen */ GdkPixmap *pixmap = - (GdkPixmap*)g_ptr_array_index(process_list->index_to_pixmap, i); + //(GdkPixmap*)g_ptr_array_index(process_list->index_to_pixmap, i); + GDK_PIXMAP(g_ptr_array_index(process_list->index_to_pixmap, i)); gdk_draw_drawable (dest, gc, @@ -365,6 +367,10 @@ ProcessList *processlist_construct(void) renderer = gtk_cell_renderer_text_new (); process_list->renderer = renderer; + gint vertical_separator; + gtk_widget_style_get (GTK_WIDGET (process_list->process_list_widget), + "vertical-separator", &vertical_separator, + NULL); gtk_cell_renderer_get_size(renderer, GTK_WIDGET(process_list->process_list_widget), NULL, @@ -372,12 +378,14 @@ ProcessList *processlist_construct(void) NULL, NULL, &process_list->cell_height); - + guint ypad; g_object_get(G_OBJECT(renderer), "ypad", &ypad, NULL); process_list->cell_height += ypad; - + process_list->cell_height += vertical_separator; + + column = gtk_tree_view_column_new_with_attributes ( "Process", renderer, "text", @@ -512,6 +520,26 @@ void destroy_hash_data(gpointer data) g_free(data); } + +void processlist_set_name(ProcessList *process_list, + GQuark name, + HashedProcessData *hashed_process_data) +{ + gtk_list_store_set ( process_list->list_store, &hashed_process_data->y_iter, + PROCESS_COLUMN, g_quark_to_string(name), + -1); +} + +void processlist_set_ppid(ProcessList *process_list, + guint ppid, + HashedProcessData *hashed_process_data) +{ + gtk_list_store_set ( process_list->list_store, &hashed_process_data->y_iter, + PPID_COLUMN, ppid, + -1); +} + + int processlist_add( ProcessList *process_list, Drawing_t *drawing, guint pid, @@ -519,7 +547,7 @@ int processlist_add( ProcessList *process_list, guint ppid, LttTime *birth, guint trace_num, - const gchar *name, + GQuark name, guint *height, ProcessInfo **pm_process_info, HashedProcessData **pm_hashed_process_data) @@ -560,7 +588,7 @@ int processlist_add( ProcessList *process_list, &hashed_process_data->y_iter); gtk_list_store_set ( process_list->list_store, &hashed_process_data->y_iter, - PROCESS_COLUMN, name, + PROCESS_COLUMN, g_quark_to_string(name), PID_COLUMN, pid, PPID_COLUMN, ppid, CPU_COLUMN, cpu,