2 #include "Process_List.h"
4 /*****************************************************************************
5 * Methods to synchronize process list *
6 *****************************************************************************/
8 typedef struct _ProcessList
{
10 GtkWidget
*Process_List_VC
;
11 GtkListStore
*Store_M
;
13 guint Number_Of_Process
;
18 /* Enumeration of the columns */
26 ProcessList
*ProcessList(void)
28 GtkTreeViewColumn
*column
;
29 GtkCellRenderer
*renderer
;
31 ProcessList
* Process_List
= g_new(ProcessList
,1);
33 /* Create the Process list */
34 Process_List
->Store_M
= gtk_list_store_new ( N_COLUMNS
,
38 Process_List
->Process_List_VC
=
39 gtk_tree_view_new_with_model
40 (GTK_TREE_MODEL (Process_List
->Store_M
));
42 g_object_unref (G_OBJECT (Process_List
->Store_M
));
44 gtk_tree_view_set_headers_visible(
45 GTK_TREE_VIEW(Process_List
->Process_List_VC
), FALSE
);
47 /* Create a column, associating the "text" attribute of the
48 * cell_renderer to the first column of the model */
49 /* Columns alignment : 0.0 : Left 0.5 : Center 1.0 : Right */
50 renderer
= gtk_cell_renderer_text_new ();
51 column
= gtk_tree_view_column_new_with_attributes ( "Process",
56 gtk_tree_view_column_set_alignment (column
, 0.0);
57 gtk_tree_view_column_set_fixed_width (column
, 45);
58 gtk_tree_view_append_column (
59 GTK_TREE_VIEW (Process_List
->Process_List_VC
), column
);
61 g_object_set_data_full(
62 G_OBJECT(Process_List
->Process_List_VC
),
71 void ProcessList_destroy(ProcessList
*Process_List
)
73 g_object_unref (G_OBJECT (Process_List
->Process_List_VC
));
78 GtkWidget
*ProcessList_getWidget(ProcessList
*Process_List
)
80 return Process_List
->Process_List_VC
;
85 gint
get_cell_height(GtkTreeView
*TreeView
)
88 GtkTreeViewColumn
*Column
= gtk_tree_view_get_column(TreeView
, 0);
89 GList
*Render_List
= gtk_tree_view_column_get_cell_renderers(Column
);
90 GtkCellRenderer
*Renderer
= g_list_first(Render_List
)->data
;
92 gtk_tree_view_column_cell_get_size(Column
, NULL
, NULL
, NULL
, NULL
, &height
);
93 g_critical("cell 0 height : %u",height
);
99 int ProcessList_add(Process
*myproc
, ProcessList
*Process_List
, guint
*height
)
101 // add proc to container
103 height
= get_cell_height(GTK_TREE_VIEW(Process_List
->Process_List_VC
))
104 * Process_List
->Number_Of_Process
;
110 int ProcessList_remove(Process
*myproc
, ProcessList
*Process_List
)
112 // remove proc from container
114 get_cell_height(GTK_TREE_VIEW(Process_List
->Process_List_VC
))
115 * Process_List
->Number_Of_Process
;