{
EventsRequest *events_request = (EventsRequest*)hook_data;
LttvTracesetState *tss = (LttvTracesetState*)call_data;
-
+ ControlFlowData *cfd = (ControlFlowData*)events_request->viewer_data;
+
+ /* Desactivate sort */
+ gtk_tree_sortable_set_sort_column_id(
+ GTK_TREE_SORTABLE(cfd->process_list->list_store),
+ TRACE_COLUMN,
+ GTK_SORT_ASCENDING);
+
drawing_chunk_begin(events_request, tss);
return 0;
{
EventsRequest *events_request = (EventsRequest*)hook_data;
LttvTracesetState *tss = (LttvTracesetState*)call_data;
-
+
drawing_data_request_begin(events_request, tss);
return 0;
/* Draw last items */
g_hash_table_foreach(process_list->process_hash, draw_closure,
(void*)&closure_data);
+
/* Request expose */
drawing_request_expose(events_request, tss, end_time);
g_hash_table_foreach(process_list->process_hash, draw_closure,
(void*)&closure_data);
+ /* Reactivate sort */
+ gtk_tree_sortable_set_sort_column_id(
+ GTK_TREE_SORTABLE(control_flow_data->process_list->list_store),
+ GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID,
+ GTK_SORT_ASCENDING);
+
+ update_index_to_pixmap(control_flow_data->process_list);
+
/* Request expose */
drawing_request_expose(events_request, tss, end_time);
* Methods to synchronize process list *
*****************************************************************************/
-//static inline guint get_cpu_number_from_name(GQuark name);
-
-/* Enumeration of the columns */
-enum
-{
- PROCESS_COLUMN,
- PID_COLUMN,
- PPID_COLUMN,
- CPU_COLUMN,
- BIRTH_S_COLUMN,
- BIRTH_NS_COLUMN,
- TRACE_COLUMN,
- N_COLUMNS
-};
-
gint process_sort_func ( GtkTreeModel *model,
GtkTreeIter *it_a,
}
-static void update_index_to_pixmap(ProcessList *process_list)
+void update_index_to_pixmap(ProcessList *process_list)
{
g_ptr_array_set_size(process_list->index_to_pixmap,
g_hash_table_size(process_list->process_hash));
* 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;
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);