* provides helper function to convert a process unique identifier to
* pixels (in height).
*
- * //FIXME : connect the scrolled window adjustment with the list.
*/
+
+/* Enumeration of the columns */
+enum
+{
+ PROCESS_COLUMN,
+ PID_COLUMN,
+ PPID_COLUMN,
+ CPU_COLUMN,
+ BIRTH_S_COLUMN,
+ BIRTH_NS_COLUMN,
+ TRACE_COLUMN,
+ N_COLUMNS
+};
+
+
typedef struct _ProcessInfo {
guint pid;
LttTime next_good_time; /* precalculate the next time where the next
pixel is.*/
- // FIXME : add info on last event ?
} HashedProcessData;
GtkWidget *process_list_widget;
GtkListStore *list_store;
GtkWidget *button; /* one button of the tree view */
+ GtkCellRenderer *renderer;
/* A hash table by PID to speed up process position find in the list */
GHashTable *process_hash;
guint number_of_process;
- gint cell_height_cache;
+ gint cell_height;
/* Current process, one per cpu */
HashedProcessData **current_hash_data;
int processlist_remove(ProcessList *process_list, guint pid, guint cpu,
LttTime *birth, guint trace_num);
+
+/* Synchronize the list at the left and the drawing */
+void update_index_to_pixmap(ProcessList *process_list);
+
/* Update the width of each pixmap buffer for each process */
void update_pixmap_size(ProcessList *process_list, guint width);
-static inline gint get_cell_height(ProcessList *process_list,
- GtkTreeView *tree_view)
-{
- gint height = process_list->cell_height_cache;
- if(height != -1) return height;
- else {
- GtkTreeViewColumn *Column = gtk_tree_view_get_column(tree_view, 0);
-
- gtk_tree_view_column_cell_get_size(Column, NULL, NULL, NULL, NULL,
- &process_list->cell_height_cache);
- }
- return process_list->cell_height_cache;
-}
-
-
-
static inline guint processlist_get_height(ProcessList *process_list)
{
- return get_cell_height(process_list,
- (GtkTreeView*)process_list->process_list_widget)
- * process_list->number_of_process ;
+ return process_list->cell_height * process_list->number_of_process ;
}