@@ -17,83 +17,41 @@ public class Monitor.ProcessTreeView : Granite.Bin {
1717 };
1818
1919 var name_item_factory = new Gtk .SignalListItemFactory ();
20+ name_item_factory. setup. connect (name_item_setup_factory);
21+ name_item_factory. bind. connect (name_item_bind_factory);
22+
2023 var cpu_item_factory = new Gtk .SignalListItemFactory ();
24+ cpu_item_factory. setup. connect (generic_item_setup_factory);
25+ cpu_item_factory. bind. connect (cpu_item_bind_factory);
26+
2127 var memory_item_factory = new Gtk .SignalListItemFactory ();
28+ memory_item_factory. setup. connect (generic_item_setup_factory);
29+ memory_item_factory. bind. connect (memory_item_bind_factory);
30+
2231 var pid_item_factory = new Gtk .SignalListItemFactory ();
32+ pid_item_factory. setup. connect (generic_item_setup_factory);
33+ pid_item_factory. bind. connect (pid_item_bind_factory);
2334
24- name_item_factory. setup. connect ((factory, obj) = > {
25- var cell = (Gtk . ColumnViewCell ) obj;
26-
27- var box = new Gtk .Box (Gtk . Orientation . HORIZONTAL , 4 ) {
28- hexpand = true ,
29- halign = START
30- };
31- var icon = new Gtk .Image .from_icon_name (" application-x-executable" ) {
32- pixel_size = 16
33- };
34-
35- box. append (icon);
36- box. append (new Gtk .Label (Utils . NO_DATA ));
37- cell. child = box;
38- });
39-
40- name_item_factory. bind. connect ((factory, obj) = > {
41- var cell = (Gtk . ColumnViewCell ) obj;
42- var box = (Gtk . Box ) cell. child;
43- var label = (Gtk . Label ) box. get_last_child ();
44- var icon = (Gtk . Image ) box. get_first_child ();
45-
46- var item = (ProcessRowData ) cell. item;
47- label. label = item. name;
48- icon. gicon = item. icon;
49- });
5035
5136 var name_column = new Gtk .ColumnViewColumn (_(" Process Name" ), name_item_factory) {
5237 sorter = model.str_sorter ("name "),
5338 expand = true
5439 };
5540 list.append_column (name_column );
5641
57- cpu_item_factory.setup.connect (metric_setup_factory );
58-
59- cpu_item_factory.bind.connect ((factory , obj ) => {
60- var cell = (Gtk . ColumnViewCell ) obj;
61- var label = (Gtk . Label ) cell. child;
62- var item = (ProcessRowData ) cell. item;
63- label. label = " %.0f %%" . printf (item. cpu);
64- });
65-
6642 var cpu_column = new Gtk .ColumnViewColumn (_(" CPU" ), cpu_item_factory) {
6743 sorter = model.num_sorter ("cpu "),
6844 expand = false
6945 };
7046 list.append_column (cpu_column );
7147
72- memory_item_factory.setup.connect (metric_setup_factory );
73-
74- memory_item_factory.bind.connect ((factory , obj ) => {
75- var cell = (Gtk . ColumnViewCell ) obj;
76- var label = (Gtk . Label ) cell. child;
77- var item = (ProcessRowData ) cell. item;
78-
79- label. label = format_size (item. memory, IEC_UNITS );
80- });
8148
8249 var mem_column = new Gtk .ColumnViewColumn (_(" Memory" ), memory_item_factory) {
8350 sorter = model.num_sorter ("memory "),
8451 expand = false
8552 };
8653 list.append_column (mem_column );
8754
88- pid_item_factory.setup.connect (metric_setup_factory );
89-
90- pid_item_factory.bind.connect ((factory , obj ) => {
91- var cell = (Gtk . ColumnViewCell ) obj;
92- var label = (Gtk . Label ) cell. child;
93- var item = (ProcessRowData ) cell. item;
94- label. label = " %d " . printf (item. pid);
95- });
96-
9755 var pid_column = new Gtk .ColumnViewColumn (_(" PID" ), pid_item_factory) {
9856 sorter = model.num_sorter ("pid "),
9957 expand = false
@@ -102,12 +60,60 @@ public class Monitor.ProcessTreeView : Granite.Bin {
10260
10361 }
10462
105- private void metric_setup_factory (Object object ) {
63+ private void generic_item_setup_factory (Object object ) {
10664 var cell = (Gtk . ColumnViewCell ) object ;
10765 cell. child = new Gtk .Label (Utils . NO_DATA ) {
10866 hexpand = true ,
10967 halign = START
11068 };
11169 }
11270
71+ private void name_item_setup_factory (Object object ) {
72+ var cell = (Gtk . ColumnViewCell ) object ;
73+
74+ var box = new Gtk .Box (Gtk . Orientation . HORIZONTAL , 4 ) {
75+ hexpand = true ,
76+ halign = START
77+ };
78+ var icon = new Gtk .Image .from_icon_name (" application-x-executable" ) {
79+ pixel_size = 16
80+ };
81+
82+ box. append (icon);
83+ box. append (new Gtk .Label (Utils . NO_DATA ));
84+ cell. child = box;
85+ }
86+
87+ private void name_item_bind_factory (Object object ) {
88+ var cell = (Gtk . ColumnViewCell ) object ;
89+ var box = (Gtk . Box ) cell. child;
90+ var label = (Gtk . Label ) box. get_last_child ();
91+ var icon = (Gtk . Image ) box. get_first_child ();
92+
93+ var item = (ProcessRowData ) cell. item;
94+ label. label = item. name;
95+ icon. gicon = item. icon;
96+ }
97+
98+ private void cpu_item_bind_factory (Object object ) {
99+ var cell = (Gtk . ColumnViewCell ) object ;
100+ var label = (Gtk . Label ) cell. child;
101+ var item = (ProcessRowData ) cell. item;
102+ label. label = " %.0f %%" . printf (item. cpu);
103+ }
104+
105+ private void memory_item_bind_factory (Object object ) {
106+ var cell = (Gtk . ColumnViewCell ) object ;
107+ var label = (Gtk . Label ) cell. child;
108+ var item = (ProcessRowData ) cell. item;
109+ label. label = format_size (item. memory, IEC_UNITS );
110+ }
111+
112+ private void pid_item_bind_factory (Object object ) {
113+ var cell = (Gtk . ColumnViewCell ) object ;
114+ var label = (Gtk . Label ) cell. child;
115+ var item = (ProcessRowData ) cell. item;
116+ label. label = " %d " . printf (item. pid);
117+ }
118+
113119}
0 commit comments