1
/* multiloadindicator.c generated by valac 0.14.2, the Vala compiler
2
* generated from multiloadindicator.vala, do not modify */
6
#include <glib-object.h>
7
#include <libappindicator/app-indicator.h>
11
#include <glib/gstdio.h>
18
#define TYPE_MULTI_LOAD_INDICATOR (multi_load_indicator_get_type ())
19
#define MULTI_LOAD_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTI_LOAD_INDICATOR, MultiLoadIndicator))
20
#define MULTI_LOAD_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTI_LOAD_INDICATOR, MultiLoadIndicatorClass))
21
#define IS_MULTI_LOAD_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTI_LOAD_INDICATOR))
22
#define IS_MULTI_LOAD_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTI_LOAD_INDICATOR))
23
#define MULTI_LOAD_INDICATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTI_LOAD_INDICATOR, MultiLoadIndicatorClass))
25
typedef struct _MultiLoadIndicator MultiLoadIndicator;
26
typedef struct _MultiLoadIndicatorClass MultiLoadIndicatorClass;
27
typedef struct _MultiLoadIndicatorPrivate MultiLoadIndicatorPrivate;
29
#define TYPE_PROVIDERS (providers_get_type ())
30
#define PROVIDERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PROVIDERS, Providers))
31
#define PROVIDERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PROVIDERS, ProvidersClass))
32
#define IS_PROVIDERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PROVIDERS))
33
#define IS_PROVIDERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PROVIDERS))
34
#define PROVIDERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PROVIDERS, ProvidersClass))
36
typedef struct _Providers Providers;
37
typedef struct _ProvidersClass ProvidersClass;
39
#define TYPE_MENU_MODEL (menu_model_get_type ())
40
#define MENU_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MENU_MODEL, MenuModel))
41
#define MENU_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MENU_MODEL, MenuModelClass))
42
#define IS_MENU_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MENU_MODEL))
43
#define IS_MENU_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MENU_MODEL))
44
#define MENU_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MENU_MODEL, MenuModelClass))
46
typedef struct _MenuModel MenuModel;
47
typedef struct _MenuModelClass MenuModelClass;
49
#define TYPE_GRAPH_MODELS (graph_models_get_type ())
50
#define GRAPH_MODELS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GRAPH_MODELS, GraphModels))
51
#define GRAPH_MODELS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GRAPH_MODELS, GraphModelsClass))
52
#define IS_GRAPH_MODELS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GRAPH_MODELS))
53
#define IS_GRAPH_MODELS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GRAPH_MODELS))
54
#define GRAPH_MODELS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GRAPH_MODELS, GraphModelsClass))
56
typedef struct _GraphModels GraphModels;
57
typedef struct _GraphModelsClass GraphModelsClass;
58
#define _g_free0(var) (var = (g_free (var), NULL))
59
#define _g_source_unref0(var) ((var == NULL) ? NULL : (var = (g_source_unref (var), NULL)))
60
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
62
#define TYPE_EXPRESSION_CACHE (expression_cache_get_type ())
63
#define EXPRESSION_CACHE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPRESSION_CACHE, ExpressionCache))
64
#define EXPRESSION_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPRESSION_CACHE, ExpressionCacheClass))
65
#define IS_EXPRESSION_CACHE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPRESSION_CACHE))
66
#define IS_EXPRESSION_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPRESSION_CACHE))
67
#define EXPRESSION_CACHE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPRESSION_CACHE, ExpressionCacheClass))
69
typedef struct _ExpressionCache ExpressionCache;
70
typedef struct _ExpressionCacheClass ExpressionCacheClass;
71
#define _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL)))
72
typedef struct _Block1Data Block1Data;
73
#define _cairo_surface_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_surface_destroy (var), NULL)))
75
#define TYPE_GRAPH_MODEL (graph_model_get_type ())
76
#define GRAPH_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GRAPH_MODEL, GraphModel))
77
#define GRAPH_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GRAPH_MODEL, GraphModelClass))
78
#define IS_GRAPH_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GRAPH_MODEL))
79
#define IS_GRAPH_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GRAPH_MODEL))
80
#define GRAPH_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GRAPH_MODEL, GraphModelClass))
82
typedef struct _GraphModel GraphModel;
83
typedef struct _GraphModelClass GraphModelClass;
85
#define TYPE_TRACE_MODEL (trace_model_get_type ())
86
#define TRACE_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRACE_MODEL, TraceModel))
87
#define TRACE_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRACE_MODEL, TraceModelClass))
88
#define IS_TRACE_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRACE_MODEL))
89
#define IS_TRACE_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRACE_MODEL))
90
#define TRACE_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRACE_MODEL, TraceModelClass))
92
typedef struct _TraceModel TraceModel;
93
typedef struct _TraceModelClass TraceModelClass;
94
#define _cairo_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_destroy (var), NULL)))
96
struct _MultiLoadIndicator {
97
GObject parent_instance;
98
MultiLoadIndicatorPrivate * priv;
101
struct _MultiLoadIndicatorClass {
102
GObjectClass parent_class;
105
struct _MultiLoadIndicatorPrivate {
106
guint currenticonindex;
109
AppIndicator* indicator;
110
GtkMenuItem** menuitems;
111
gint menuitems_length1;
112
gint _menuitems_size_;
114
gchar* _icondirectory;
115
Providers* _providers;
116
MenuModel* _menumodel;
117
MenuModel* _labelmodel;
118
MenuModel* _descriptionmodel;
119
gint _indicator_index;
124
GraphModels* _graphmodels;
129
MultiLoadIndicator * self;
134
static gpointer multi_load_indicator_parent_class = NULL;
136
GType multi_load_indicator_get_type (void) G_GNUC_CONST;
137
GType providers_get_type (void) G_GNUC_CONST;
138
GType menu_model_get_type (void) G_GNUC_CONST;
139
GType graph_models_get_type (void) G_GNUC_CONST;
140
#define MULTI_LOAD_INDICATOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_MULTI_LOAD_INDICATOR, MultiLoadIndicatorPrivate))
142
MULTI_LOAD_INDICATOR_DUMMY_PROPERTY,
143
MULTI_LOAD_INDICATOR_ICONDIRECTORY,
144
MULTI_LOAD_INDICATOR_PROVIDERS,
145
MULTI_LOAD_INDICATOR_MENUMODEL,
146
MULTI_LOAD_INDICATOR_LABELMODEL,
147
MULTI_LOAD_INDICATOR_DESCRIPTIONMODEL,
148
MULTI_LOAD_INDICATOR_INDICATOR_INDEX,
149
MULTI_LOAD_INDICATOR_HEIGHT,
150
MULTI_LOAD_INDICATOR_WIDTH,
151
MULTI_LOAD_INDICATOR_SPEED,
152
MULTI_LOAD_INDICATOR_MENU,
153
MULTI_LOAD_INDICATOR_GRAPHMODELS
155
static gchar* multi_load_indicator_iconpath (MultiLoadIndicator* self, guint index);
156
const gchar* multi_load_indicator_get_icondirectory (MultiLoadIndicator* self);
157
MultiLoadIndicator* multi_load_indicator_new (const gchar* icondirectory, Providers* providers);
158
MultiLoadIndicator* multi_load_indicator_construct (GType object_type, const gchar* icondirectory, Providers* providers);
159
MenuModel* menu_model_new (Providers* providers);
160
MenuModel* menu_model_construct (GType object_type, Providers* providers);
161
void multi_load_indicator_destroy (MultiLoadIndicator* self);
162
void multi_load_indicator_updateall (MultiLoadIndicator* self);
163
static void multi_load_indicator_updateproviders (MultiLoadIndicator* self);
164
static void multi_load_indicator_updatemodels (MultiLoadIndicator* self);
165
static void multi_load_indicator_updateviews (MultiLoadIndicator* self);
166
Providers* multi_load_indicator_get_providers (MultiLoadIndicator* self);
167
void providers_update (Providers* self);
168
MenuModel* multi_load_indicator_get_menumodel (MultiLoadIndicator* self);
169
void menu_model_update (MenuModel* self);
170
MenuModel* multi_load_indicator_get_labelmodel (MultiLoadIndicator* self);
171
MenuModel* multi_load_indicator_get_descriptionmodel (MultiLoadIndicator* self);
172
GraphModels* multi_load_indicator_get_graphmodels (MultiLoadIndicator* self);
173
void graph_models_update (GraphModels* self, guint trace_length);
174
guint multi_load_indicator_get_width (MultiLoadIndicator* self);
175
static void multi_load_indicator_updatemenuview (MultiLoadIndicator* self);
176
static void multi_load_indicator_updatelabelview (MultiLoadIndicator* self);
177
static void multi_load_indicator_updategraphsview (MultiLoadIndicator* self);
178
GtkMenu* multi_load_indicator_get_menu (MultiLoadIndicator* self);
179
gchar** menu_model_get_expressions (MenuModel* self, int* result_length1);
180
static void _vala_array_add12 (GtkMenuItem*** array, int* length, int* size, GtkMenuItem* value);
181
GType expression_cache_get_type (void) G_GNUC_CONST;
182
ExpressionCache* menu_model_expression (MenuModel* self, guint index);
183
gchar* expression_cache_label (ExpressionCache* self);
184
static GtkMenuItem** _vala_array_dup16 (GtkMenuItem** self, int length);
185
gint multi_load_indicator_get_indicator_index (MultiLoadIndicator* self);
186
gchar* expression_cache_guide (ExpressionCache* self);
187
static Block1Data* block1_data_ref (Block1Data* _data1_);
188
static void block1_data_unref (Block1Data* _data1_);
189
static void multi_load_indicator_iconwrite (MultiLoadIndicator* self);
190
static void ____lambda3_ (Block1Data* _data1_, GtkWidget* w);
191
guint multi_load_indicator_get_height (MultiLoadIndicator* self);
192
static void _____lambda3__gtk_callback (GtkWidget* widget, gpointer self);
193
static gchar* multi_load_indicator_iconname (MultiLoadIndicator* self, guint index);
194
static void multi_load_indicator_iconwritedummy (MultiLoadIndicator* self);
195
GType graph_model_get_type (void) G_GNUC_CONST;
196
GraphModel** graph_models_get_graphmodels (GraphModels* self, int* result_length1);
197
gboolean graph_model_get_enabled (GraphModel* self);
198
void graph_model_set_source_color (GraphModel* self, cairo_t* ctx);
199
GType trace_model_get_type (void) G_GNUC_CONST;
200
TraceModel** graph_model_get_tracemodels (GraphModel* self, int* result_length1);
201
static TraceModel** _vala_array_dup17 (TraceModel** self, int length);
202
gdouble graph_model_get_scale (GraphModel* self);
203
gboolean trace_model_get_enabled (TraceModel* self);
204
gdouble* trace_model_get_values (TraceModel* self, int* result_length1);
205
void trace_model_get_color (TraceModel* self, GdkColor* result);
206
static void multi_load_indicator_set_icondirectory (MultiLoadIndicator* self, const gchar* value);
207
static void multi_load_indicator_set_providers (MultiLoadIndicator* self, Providers* value);
208
static void multi_load_indicator_set_menumodel (MultiLoadIndicator* self, MenuModel* value);
209
static void multi_load_indicator_set_labelmodel (MultiLoadIndicator* self, MenuModel* value);
210
static void multi_load_indicator_set_descriptionmodel (MultiLoadIndicator* self, MenuModel* value);
211
void multi_load_indicator_set_indicator_index (MultiLoadIndicator* self, gint value);
212
void multi_load_indicator_set_height (MultiLoadIndicator* self, guint value);
213
void multi_load_indicator_set_width (MultiLoadIndicator* self, guint value);
214
guint multi_load_indicator_get_speed (MultiLoadIndicator* self);
215
void multi_load_indicator_set_speed (MultiLoadIndicator* self, guint value);
216
void multi_load_indicator_set_menu (MultiLoadIndicator* self, GtkMenu* value);
217
void multi_load_indicator_set_graphmodels (MultiLoadIndicator* self, GraphModels* value);
218
static GObject * multi_load_indicator_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
219
static void _multi_load_indicator___lambda4_ (MultiLoadIndicator* self, gint delta, guint direction);
220
static void __multi_load_indicator___lambda4__app_indicator_scroll_event (AppIndicator* _sender, gint delta, guint direction, gpointer self);
221
static void _multi_load_indicator___lambda5_ (MultiLoadIndicator* self);
222
static void __multi_load_indicator___lambda5__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
223
static void _multi_load_indicator___lambda6_ (MultiLoadIndicator* self);
224
static gboolean __lambda7_ (MultiLoadIndicator* self);
225
static gboolean ___lambda7__gsource_func (gpointer self);
226
static void __multi_load_indicator___lambda6__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
227
static void multi_load_indicator_finalize (GObject* obj);
228
static void _vala_multi_load_indicator_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
229
static void _vala_multi_load_indicator_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
230
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
231
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
234
MultiLoadIndicator* multi_load_indicator_construct (GType object_type, const gchar* icondirectory, Providers* providers) {
235
MultiLoadIndicator * self = NULL;
247
g_return_val_if_fail (icondirectory != NULL, NULL);
248
g_return_val_if_fail (IS_PROVIDERS (providers), NULL);
249
_tmp0_ = icondirectory;
252
_tmp3_ = menu_model_new (_tmp2_);
255
_tmp6_ = menu_model_new (_tmp5_);
258
_tmp9_ = menu_model_new (_tmp8_);
260
self = (MultiLoadIndicator*) g_object_new (object_type, "icondirectory", _tmp0_, "providers", _tmp1_, "menumodel", _tmp4_, "labelmodel", _tmp7_, "descriptionmodel", _tmp10_, NULL);
261
_g_object_unref0 (_tmp10_);
262
_g_object_unref0 (_tmp7_);
263
_g_object_unref0 (_tmp4_);
268
MultiLoadIndicator* multi_load_indicator_new (const gchar* icondirectory, Providers* providers) {
269
return multi_load_indicator_construct (TYPE_MULTI_LOAD_INDICATOR, icondirectory, providers);
273
void multi_load_indicator_destroy (MultiLoadIndicator* self) {
276
g_return_if_fail (IS_MULTI_LOAD_INDICATOR (self));
277
_tmp0_ = self->priv->timeout;
278
if (_tmp0_ == NULL) {
281
_tmp1_ = self->priv->timeout;
282
g_source_destroy (_tmp1_);
283
_g_source_unref0 (self->priv->timeout);
284
self->priv->timeout = NULL;
288
void multi_load_indicator_updateall (MultiLoadIndicator* self) {
289
g_return_if_fail (IS_MULTI_LOAD_INDICATOR (self));
290
multi_load_indicator_updateproviders (self);
291
multi_load_indicator_updatemodels (self);
292
multi_load_indicator_updateviews (self);
296
static void multi_load_indicator_updateproviders (MultiLoadIndicator* self) {
298
g_return_if_fail (IS_MULTI_LOAD_INDICATOR (self));
299
_tmp0_ = self->priv->_providers;
300
providers_update (_tmp0_);
304
static void multi_load_indicator_updatemodels (MultiLoadIndicator* self) {
310
g_return_if_fail (IS_MULTI_LOAD_INDICATOR (self));
311
_tmp0_ = self->priv->_menumodel;
312
menu_model_update (_tmp0_);
313
_tmp1_ = self->priv->_labelmodel;
314
menu_model_update (_tmp1_);
315
_tmp2_ = self->priv->_descriptionmodel;
316
menu_model_update (_tmp2_);
317
_tmp3_ = self->priv->_graphmodels;
318
_tmp4_ = self->priv->_width;
319
graph_models_update (_tmp3_, _tmp4_);
323
static void multi_load_indicator_updateviews (MultiLoadIndicator* self) {
325
g_return_if_fail (IS_MULTI_LOAD_INDICATOR (self));
326
multi_load_indicator_updatemenuview (self);
327
multi_load_indicator_updatelabelview (self);
328
multi_load_indicator_updategraphsview (self);
329
_tmp0_ = self->priv->_menu;
330
if (_tmp0_ != NULL) {
331
gboolean _tmp1_ = FALSE;
332
AppIndicator* _tmp2_;
333
const gchar* _tmp3_ = NULL;
337
AppIndicator* _tmp21_;
338
_tmp2_ = self->priv->indicator;
339
_tmp3_ = app_indicator_get_icon (_tmp2_);
340
_tmp4_ = strlen (_tmp3_);
343
gboolean _tmp6_ = FALSE;
344
AppIndicator* _tmp7_;
345
gchar* _tmp8_ = NULL;
350
_tmp7_ = self->priv->indicator;
351
g_object_get (_tmp7_, "label", &_tmp8_, NULL);
354
_tmp11_ = _tmp10_ == NULL;
359
AppIndicator* _tmp12_;
360
gchar* _tmp13_ = NULL;
365
_tmp12_ = self->priv->indicator;
366
g_object_get (_tmp12_, "label", &_tmp13_, NULL);
369
_tmp16_ = strlen (_tmp15_);
371
_tmp6_ = _tmp17_ == 0;
381
AppIndicator* _tmp20_;
382
_tmp20_ = self->priv->indicator;
383
app_indicator_set_label (_tmp20_, "indicator-multiload", "indicator-multiload");
385
_tmp21_ = self->priv->indicator;
386
app_indicator_set_status (_tmp21_, APP_INDICATOR_STATUS_ACTIVE);
388
AppIndicator* _tmp22_;
389
_tmp22_ = self->priv->indicator;
390
app_indicator_set_status (_tmp22_, APP_INDICATOR_STATUS_PASSIVE);
395
static gpointer _g_object_ref0 (gpointer self) {
396
return self ? g_object_ref (self) : NULL;
400
static void _vala_array_add12 (GtkMenuItem*** array, int* length, int* size, GtkMenuItem* value) {
401
if ((*length) == (*size)) {
402
*size = (*size) ? (2 * (*size)) : 4;
403
*array = g_renew (GtkMenuItem*, *array, (*size) + 1);
405
(*array)[(*length)++] = value;
406
(*array)[*length] = NULL;
410
static GtkMenuItem** _vala_array_dup16 (GtkMenuItem** self, int length) {
411
GtkMenuItem** result;
413
result = g_new0 (GtkMenuItem*, length + 1);
414
for (i = 0; i < length; i++) {
416
_tmp0_ = _g_object_ref0 (self[i]);
423
static void multi_load_indicator_updatemenuview (MultiLoadIndicator* self) {
433
GtkMenuItem** _tmp33_;
434
gint _tmp33__length1;
436
g_return_if_fail (IS_MULTI_LOAD_INDICATOR (self));
437
_tmp0_ = self->priv->_menu;
438
if (_tmp0_ == NULL) {
441
menu_position = (guint) 2;
442
_tmp1_ = self->priv->_menumodel;
443
_tmp2_ = menu_model_get_expressions (_tmp1_, &_tmp2__length1);
445
_tmp3__length1 = _tmp2__length1;
446
length = _tmp3__length1;
457
GtkMenuItem* item = NULL;
459
GtkMenuItem** _tmp10_;
460
gint _tmp10__length1;
461
GtkMenuItem* _tmp24_;
464
ExpressionCache* _tmp27_ = NULL;
465
ExpressionCache* _tmp28_;
466
gchar* _tmp29_ = NULL;
478
if (!(_tmp7_ < ((guint) _tmp8_))) {
482
_tmp10_ = self->priv->menuitems;
483
_tmp10__length1 = self->priv->menuitems_length1;
484
if (_tmp9_ < ((guint) _tmp10__length1)) {
485
GtkMenuItem** _tmp11_;
486
gint _tmp11__length1;
488
GtkMenuItem* _tmp13_;
489
GtkMenuItem* _tmp14_;
490
_tmp11_ = self->priv->menuitems;
491
_tmp11__length1 = self->priv->menuitems_length1;
493
_tmp13_ = _tmp11_[_tmp12_];
494
_tmp14_ = _g_object_ref0 (_tmp13_);
495
_g_object_unref0 (item);
498
GtkMenuItem* _tmp15_;
499
GtkMenuItem* _tmp16_;
500
GtkMenuItem* _tmp17_;
502
GtkMenuItem* _tmp19_;
504
GtkMenuItem** _tmp21_;
505
gint _tmp21__length1;
506
GtkMenuItem* _tmp22_;
507
GtkMenuItem* _tmp23_;
508
_tmp15_ = (GtkMenuItem*) gtk_menu_item_new ();
509
_tmp16_ = g_object_ref_sink (_tmp15_);
510
_g_object_unref0 (item);
513
gtk_widget_set_visible (GTK_WIDGET (_tmp17_), TRUE);
514
_tmp18_ = self->priv->_menu;
516
_tmp20_ = menu_position;
517
gtk_menu_shell_insert (GTK_MENU_SHELL (_tmp18_), GTK_WIDGET (_tmp19_), (gint) _tmp20_);
518
_tmp21_ = self->priv->menuitems;
519
_tmp21__length1 = self->priv->menuitems_length1;
521
_tmp23_ = _g_object_ref0 (_tmp22_);
522
_vala_array_add12 (&self->priv->menuitems, &self->priv->menuitems_length1, &self->priv->_menuitems_size_, _tmp23_);
525
_tmp25_ = self->priv->_menumodel;
527
_tmp27_ = menu_model_expression (_tmp25_, _tmp26_);
529
_tmp29_ = expression_cache_label (_tmp28_);
531
gtk_menu_item_set_label (_tmp24_, _tmp30_);
533
_g_object_unref0 (_tmp28_);
534
_tmp31_ = menu_position;
535
menu_position = _tmp31_ + 1;
536
_g_object_unref0 (item);
541
_tmp33_ = self->priv->menuitems;
542
_tmp33__length1 = self->priv->menuitems_length1;
543
if (_tmp32_ != _tmp33__length1) {
544
GtkMenuItem** _tmp44_;
545
gint _tmp44__length1;
547
GtkMenuItem** _tmp46_;
548
gint _tmp46__length1;
552
GtkMenuItem** _tmp35_;
553
gint _tmp35__length1;
557
_tmp35_ = self->priv->menuitems;
558
_tmp35__length1 = self->priv->menuitems_length1;
559
jsize = (guint) _tmp35__length1;
567
GtkMenuItem** _tmp41_;
568
gint _tmp41__length1;
570
GtkMenuItem* _tmp43_;
580
if (!(_tmp39_ < _tmp40_)) {
583
_tmp41_ = self->priv->menuitems;
584
_tmp41__length1 = self->priv->menuitems_length1;
586
_tmp43_ = _tmp41_[_tmp42_];
587
gtk_widget_destroy (GTK_WIDGET (_tmp43_));
591
_tmp44_ = self->priv->menuitems;
592
_tmp44__length1 = self->priv->menuitems_length1;
594
_tmp46_ = ((_tmp44_ + 0) != NULL) ? _vala_array_dup16 (_tmp44_ + 0, _tmp45_ - 0) : ((gpointer) (_tmp44_ + 0));
595
_tmp46__length1 = _tmp45_ - 0;
596
self->priv->menuitems = (_vala_array_free (self->priv->menuitems, self->priv->menuitems_length1, (GDestroyNotify) g_object_unref), NULL);
597
self->priv->menuitems = _tmp46_;
598
self->priv->menuitems_length1 = _tmp46__length1;
599
self->priv->_menuitems_size_ = self->priv->menuitems_length1;
601
_tmp47_ = self->priv->menuset;
603
AppIndicator* _tmp48_;
605
AppIndicator* _tmp50_;
607
GList* _tmp52_ = NULL;
609
gconstpointer _tmp54_;
610
_tmp48_ = self->priv->indicator;
611
_tmp49_ = self->priv->_menu;
612
app_indicator_set_menu (_tmp48_, _tmp49_);
613
_tmp50_ = self->priv->indicator;
614
_tmp51_ = self->priv->_menu;
615
_tmp52_ = gtk_container_get_children (GTK_CONTAINER (_tmp51_));
617
_tmp54_ = _tmp53_->data;
618
app_indicator_set_secondary_activate_target (_tmp50_, (GtkWidget*) _tmp54_);
619
_g_list_free0 (_tmp53_);
620
self->priv->menuset = TRUE;
625
static void multi_load_indicator_updatelabelview (MultiLoadIndicator* self) {
632
gchar* _tmp3_ = NULL;
633
gboolean _tmp4_ = FALSE;
636
const gchar* _tmp15_;
638
gchar* indicatorlabel;
639
gchar* _tmp17_ = NULL;
640
gboolean _tmp18_ = FALSE;
643
const gchar* _tmp29_;
645
gchar* indicatorguide;
646
AppIndicator* _tmp31_;
647
const gchar* _tmp32_;
648
g_return_if_fail (IS_MULTI_LOAD_INDICATOR (self));
649
_tmp0_ = self->priv->_labelmodel;
650
_tmp1_ = menu_model_get_expressions (_tmp0_, &_tmp1__length1);
652
_tmp2__length1 = _tmp1__length1;
653
indicatorcount = _tmp2__length1;
654
_tmp5_ = self->priv->_indicator_index;
658
_tmp6_ = self->priv->_indicator_index;
659
_tmp7_ = indicatorcount;
660
_tmp4_ = _tmp6_ < _tmp7_;
668
ExpressionCache* _tmp11_ = NULL;
669
ExpressionCache* _tmp12_;
670
gchar* _tmp13_ = NULL;
671
_tmp9_ = self->priv->_labelmodel;
672
_tmp10_ = self->priv->_indicator_index;
673
_tmp11_ = menu_model_expression (_tmp9_, (guint) _tmp10_);
675
_tmp13_ = expression_cache_label (_tmp12_);
678
_g_object_unref0 (_tmp12_);
681
_tmp14_ = g_strdup ("");
686
_tmp16_ = g_strdup (_tmp15_);
687
indicatorlabel = _tmp16_;
688
_tmp19_ = self->priv->_indicator_index;
692
_tmp20_ = self->priv->_indicator_index;
693
_tmp21_ = indicatorcount;
694
_tmp18_ = _tmp20_ < _tmp21_;
702
ExpressionCache* _tmp25_ = NULL;
703
ExpressionCache* _tmp26_;
704
gchar* _tmp27_ = NULL;
705
_tmp23_ = self->priv->_labelmodel;
706
_tmp24_ = self->priv->_indicator_index;
707
_tmp25_ = menu_model_expression (_tmp23_, (guint) _tmp24_);
709
_tmp27_ = expression_cache_guide (_tmp26_);
712
_g_object_unref0 (_tmp26_);
715
_tmp28_ = g_strdup ("");
720
_tmp30_ = g_strdup (_tmp29_);
721
indicatorguide = _tmp30_;
722
_tmp31_ = self->priv->indicator;
723
_tmp32_ = indicatorlabel;
724
app_indicator_set_label (_tmp31_, _tmp32_, indicatorguide);
725
_g_free0 (indicatorguide);
727
_g_free0 (indicatorlabel);
732
static Block1Data* block1_data_ref (Block1Data* _data1_) {
733
g_atomic_int_inc (&_data1_->_ref_count_);
738
static void block1_data_unref (Block1Data* _data1_) {
739
if (g_atomic_int_dec_and_test (&_data1_->_ref_count_)) {
740
_g_object_unref0 (_data1_->self);
741
g_slice_free (Block1Data, _data1_);
746
static void ____lambda3_ (Block1Data* _data1_, GtkWidget* w) {
747
MultiLoadIndicator * self;
751
gchar* _tmp3_ = NULL;
757
self = _data1_->self;
758
g_return_if_fail (GTK_IS_WIDGET (w));
760
if (!GTK_IS_IMAGE (_tmp0_)) {
764
_tmp2_ = self->priv->currenticonindex;
765
_tmp3_ = multi_load_indicator_iconpath (self, _tmp2_);
767
gtk_image_set_from_file (GTK_IMAGE (_tmp1_), _tmp4_);
770
_tmp6_ = self->priv->lasticonwidth;
771
_tmp7_ = self->priv->_height;
772
_tmp8_ = MAX (_tmp6_, _tmp7_);
773
gtk_image_set_pixel_size (GTK_IMAGE (_tmp5_), (gint) _tmp8_);
774
_data1_->found = TRUE;
778
static void _____lambda3__gtk_callback (GtkWidget* widget, gpointer self) {
779
____lambda3_ (self, widget);
783
static void multi_load_indicator_updategraphsview (MultiLoadIndicator* self) {
785
GList* _tmp0_ = NULL;
787
g_return_if_fail (IS_MULTI_LOAD_INDICATOR (self));
788
_data1_ = g_slice_new0 (Block1Data);
789
_data1_->_ref_count_ = 1;
790
_data1_->self = g_object_ref (self);
791
multi_load_indicator_iconwrite (self);
792
_data1_->found = FALSE;
793
_tmp0_ = gtk_window_list_toplevels ();
795
GList* toplevel_collection = NULL;
796
GList* toplevel_it = NULL;
797
toplevel_collection = _tmp0_;
798
for (toplevel_it = toplevel_collection; toplevel_it != NULL; toplevel_it = toplevel_it->next) {
799
GtkWindow* toplevel = NULL;
800
toplevel = (GtkWindow*) toplevel_it->data;
802
gboolean _tmp1_ = FALSE;
805
const gchar* _tmp4_ = NULL;
809
_tmp3_ = G_TYPE_FROM_INSTANCE (G_OBJECT (_tmp2_));
810
_tmp4_ = g_type_name (_tmp3_);
811
if (g_strcmp0 (_tmp4_, "GtkTrayIcon") != 0) {
816
_tmp1_ = !GTK_IS_CONTAINER (_tmp5_);
823
gtk_container_foreach (GTK_CONTAINER (_tmp7_), _____lambda3__gtk_callback, _data1_);
826
_g_list_free0 (toplevel_collection);
828
_tmp8_ = _data1_->found;
830
AppIndicator* _tmp9_;
832
gchar* _tmp11_ = NULL;
835
ExpressionCache* _tmp14_ = NULL;
836
ExpressionCache* _tmp15_;
837
gchar* _tmp16_ = NULL;
839
_tmp9_ = self->priv->indicator;
840
_tmp10_ = self->priv->currenticonindex;
841
_tmp11_ = multi_load_indicator_iconname (self, _tmp10_);
843
_tmp13_ = self->priv->_descriptionmodel;
844
_tmp14_ = menu_model_expression (_tmp13_, (guint) 0);
846
_tmp16_ = expression_cache_label (_tmp15_);
848
app_indicator_set_icon_full (_tmp9_, _tmp12_, _tmp17_);
850
_g_object_unref0 (_tmp15_);
853
block1_data_unref (_data1_);
858
static gchar* multi_load_indicator_iconname (MultiLoadIndicator* self, guint index) {
859
gchar* result = NULL;
861
gchar* _tmp1_ = NULL;
863
gchar* _tmp3_ = NULL;
865
g_return_val_if_fail (IS_MULTI_LOAD_INDICATOR (self), NULL);
867
_tmp1_ = g_strdup_printf ("%u", _tmp0_);
869
_tmp3_ = g_strconcat ("indicator-multiload-graphs-", _tmp2_, NULL);
877
static gchar* multi_load_indicator_iconpath (MultiLoadIndicator* self, guint index) {
878
gchar* result = NULL;
881
gchar* _tmp2_ = NULL;
885
gchar* _tmp6_ = NULL;
887
g_return_val_if_fail (IS_MULTI_LOAD_INDICATOR (self), NULL);
888
_tmp0_ = self->priv->_icondirectory;
890
_tmp2_ = multi_load_indicator_iconname (self, _tmp1_);
892
_tmp4_ = g_strconcat (_tmp3_, ".png", NULL);
894
_tmp6_ = g_build_filename (_tmp0_, _tmp5_, NULL);
903
static void multi_load_indicator_iconwritedummy (MultiLoadIndicator* self) {
904
cairo_surface_t* _tmp0_;
905
cairo_surface_t* surface;
906
gchar* _tmp1_ = NULL;
908
gchar* _tmp3_ = NULL;
910
g_return_if_fail (IS_MULTI_LOAD_INDICATOR (self));
911
_tmp0_ = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 1, 1);
913
_tmp1_ = multi_load_indicator_iconpath (self, (guint) 0);
915
cairo_surface_write_to_png (surface, _tmp2_);
917
_tmp3_ = multi_load_indicator_iconpath (self, (guint) 1);
919
cairo_surface_write_to_png (surface, _tmp4_);
921
_cairo_surface_destroy0 (surface);
925
static TraceModel** _vala_array_dup17 (TraceModel** self, int length) {
928
result = g_new0 (TraceModel*, length + 1);
929
for (i = 0; i < length; i++) {
931
_tmp0_ = _g_object_ref0 (self[i]);
938
static void multi_load_indicator_iconwrite (MultiLoadIndicator* self) {
951
cairo_surface_t* _tmp14_;
952
cairo_surface_t* surface;
953
cairo_surface_t* _tmp15_;
959
GraphModels* _tmp19_;
960
GraphModel** _tmp20_;
961
gint _tmp20__length1;
962
GraphModel** _tmp21_;
963
gint _tmp21__length1;
965
cairo_surface_t* _tmp123_;
967
gchar* _tmp125_ = NULL;
969
g_return_if_fail (IS_MULTI_LOAD_INDICATOR (self));
970
self->priv->lasticonwidth = (guint) 0;
971
_tmp0_ = self->priv->_graphmodels;
972
if (_tmp0_ == NULL) {
976
_tmp1_ = self->priv->_graphmodels;
977
_tmp2_ = graph_models_get_graphmodels (_tmp1_, &_tmp2__length1);
979
_tmp3__length1 = _tmp2__length1;
981
GraphModel** graphmodel_collection = NULL;
982
gint graphmodel_collection_length1 = 0;
983
gint _graphmodel_collection_size_ = 0;
984
gint graphmodel_it = 0;
985
graphmodel_collection = _tmp3_;
986
graphmodel_collection_length1 = _tmp3__length1;
987
for (graphmodel_it = 0; graphmodel_it < _tmp3__length1; graphmodel_it = graphmodel_it + 1) {
989
GraphModel* graphmodel = NULL;
990
_tmp4_ = _g_object_ref0 (graphmodel_collection[graphmodel_it]);
997
_tmp6_ = graph_model_get_enabled (_tmp5_);
1004
_g_object_unref0 (graphmodel);
1009
if (_tmp9_ == ((guint) 0)) {
1013
_tmp11_ = self->priv->_width;
1014
self->priv->lasticonwidth = (guint) (((gint) (_tmp10_ * (_tmp11_ + 2))) - 2);
1015
_tmp12_ = self->priv->lasticonwidth;
1016
_tmp13_ = self->priv->_height;
1017
_tmp14_ = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, (gint) _tmp12_, (gint) _tmp13_);
1020
_tmp16_ = cairo_create (_tmp15_);
1023
cairo_set_antialias (_tmp17_, CAIRO_ANTIALIAS_NONE);
1025
cairo_set_line_width (_tmp18_, (gdouble) 1);
1027
_tmp19_ = self->priv->_graphmodels;
1028
_tmp20_ = graph_models_get_graphmodels (_tmp19_, &_tmp20__length1);
1030
_tmp21__length1 = _tmp20__length1;
1032
GraphModel** graphmodel_collection = NULL;
1033
gint graphmodel_collection_length1 = 0;
1034
gint _graphmodel_collection_size_ = 0;
1035
gint graphmodel_it = 0;
1036
graphmodel_collection = _tmp21_;
1037
graphmodel_collection_length1 = _tmp21__length1;
1038
for (graphmodel_it = 0; graphmodel_it < _tmp21__length1; graphmodel_it = graphmodel_it + 1) {
1039
GraphModel* _tmp22_;
1040
GraphModel* graphmodel = NULL;
1041
_tmp22_ = _g_object_ref0 (graphmodel_collection[graphmodel_it]);
1042
graphmodel = _tmp22_;
1044
GraphModel* _tmp23_;
1047
GraphModel* _tmp26_;
1054
GraphModel* _tmp33_;
1055
TraceModel** _tmp34_;
1056
gint _tmp34__length1;
1057
TraceModel** _tmp35_;
1058
gint _tmp35__length1;
1059
TraceModel** _tmp36_;
1060
gint _tmp36__length1;
1061
TraceModel** tracemodels;
1062
gint tracemodels_length1;
1063
gint _tracemodels_size_;
1064
TraceModel** _tmp37_;
1065
gint _tmp37__length1;
1067
gdouble* _tmp39_ = NULL;
1069
gint values_length1;
1070
gint values_length2;
1071
GraphModel* _tmp40_;
1077
_tmp23_ = graphmodel;
1078
_tmp24_ = graph_model_get_enabled (_tmp23_);
1081
_g_object_unref0 (graphmodel);
1084
_tmp26_ = graphmodel;
1086
graph_model_set_source_color (_tmp26_, _tmp27_);
1089
_tmp30_ = self->priv->_width;
1090
_tmp31_ = self->priv->_height;
1091
cairo_rectangle (_tmp28_, (gdouble) _tmp29_, (gdouble) 0, (gdouble) _tmp30_, (gdouble) _tmp31_);
1093
cairo_fill (_tmp32_);
1094
_tmp33_ = graphmodel;
1095
_tmp34_ = graph_model_get_tracemodels (_tmp33_, &_tmp34__length1);
1097
_tmp35__length1 = _tmp34__length1;
1098
_tmp36_ = (_tmp35_ != NULL) ? _vala_array_dup17 (_tmp35_, _tmp35__length1) : ((gpointer) _tmp35_);
1099
_tmp36__length1 = _tmp35__length1;
1100
tracemodels = _tmp36_;
1101
tracemodels_length1 = _tmp36__length1;
1102
_tracemodels_size_ = tracemodels_length1;
1103
_tmp37_ = tracemodels;
1104
_tmp37__length1 = tracemodels_length1;
1105
_tmp38_ = self->priv->_width;
1106
_tmp39_ = g_new0 (gdouble, _tmp37__length1 * _tmp38_);
1108
values_length1 = _tmp37__length1;
1109
values_length2 = _tmp38_;
1110
_tmp40_ = graphmodel;
1111
_tmp41_ = graph_model_get_scale (_tmp40_);
1117
gint _tmp43__length1;
1118
gint _tmp43__length2;
1123
_tmp43__length1 = values_length1;
1124
_tmp43__length2 = values_length2;
1125
_tmp44_ = _tmp43__length1;
1126
jsize = (guint) _tmp44_;
1134
TraceModel** _tmp50_;
1135
gint _tmp50__length1;
1137
TraceModel* _tmp52_;
1141
TraceModel** _tmp55_;
1142
gint _tmp55__length1;
1144
TraceModel* _tmp57_;
1146
gint _tmp58__length1;
1148
gint _tmp59__length1;
1150
gint tracedata_length1;
1151
gint _tracedata_size_;
1161
if (!(_tmp48_ < _tmp49_)) {
1164
_tmp50_ = tracemodels;
1165
_tmp50__length1 = tracemodels_length1;
1167
_tmp52_ = _tmp50_[_tmp51_];
1168
_tmp53_ = trace_model_get_enabled (_tmp52_);
1171
_tmp55_ = tracemodels;
1172
_tmp55__length1 = tracemodels_length1;
1174
_tmp57_ = _tmp55_[_tmp56_];
1175
_tmp58_ = trace_model_get_values (_tmp57_, &_tmp58__length1);
1177
_tmp59__length1 = _tmp58__length1;
1178
tracedata = _tmp59_;
1179
tracedata_length1 = _tmp59__length1;
1180
_tracedata_size_ = tracedata_length1;
1184
gint _tmp60__length1;
1185
gint _tmp60__length2;
1190
_tmp60__length1 = values_length1;
1191
_tmp60__length2 = values_length2;
1192
_tmp61_ = _tmp60__length2;
1193
isize = (guint) _tmp61_;
1201
gdouble _tmp67_ = 0.0;
1203
gdouble _tmp73_ = 0.0;
1206
gint _tmp78__length1;
1207
gint _tmp78__length2;
1223
if (!(_tmp65_ < _tmp66_)) {
1227
if (_tmp68_ > ((guint) 0)) {
1229
gint _tmp69__length1;
1230
gint _tmp69__length2;
1235
_tmp69__length1 = values_length1;
1236
_tmp69__length2 = values_length2;
1239
_tmp72_ = _tmp69_[((_tmp70_ - 1) * _tmp69__length2) + _tmp71_];
1242
_tmp67_ = (gdouble) 0;
1247
gint _tmp75__length1;
1250
_tmp75_ = tracedata;
1251
_tmp75__length1 = tracedata_length1;
1253
_tmp77_ = _tmp75_[_tmp76_];
1256
_tmp73_ = (gdouble) 0;
1259
_tmp78__length1 = values_length1;
1260
_tmp78__length2 = values_length2;
1266
_tmp78_[(_tmp79_ * _tmp78__length2) + _tmp80_] = _tmp81_ + (_tmp82_ / _tmp83_);
1267
_tmp84_ = _tmp78_[(_tmp79_ * _tmp78__length2) + _tmp80_];
1276
gint _tmp85__length1;
1277
gint _tmp85__length2;
1281
_tmp85__length1 = values_length1;
1282
_tmp85__length2 = values_length2;
1283
_tmp86_ = _tmp85__length1;
1292
GraphModel* _tmp92_;
1293
TraceModel** _tmp93_;
1294
gint _tmp93__length1;
1295
TraceModel** _tmp94_;
1296
gint _tmp94__length1;
1298
TraceModel* _tmp96_;
1310
if (!(_tmp90_ >= 0)) {
1314
_tmp92_ = graphmodel;
1315
_tmp93_ = graph_model_get_tracemodels (_tmp92_, &_tmp93__length1);
1317
_tmp94__length1 = _tmp93__length1;
1319
_tmp96_ = _tmp94_[_tmp95_];
1320
trace_model_get_color (_tmp96_, &_tmp97_);
1322
gdk_cairo_set_source_color (_tmp91_, &_tmp98_);
1326
gint _tmp99__length1;
1327
gint _tmp99__length2;
1332
_tmp99__length1 = values_length1;
1333
_tmp99__length2 = values_length2;
1334
_tmp100_ = _tmp99__length2;
1335
isize = (guint) _tmp100_;
1353
gint _tmp115__length1;
1354
gint _tmp115__length2;
1358
_tmp102_ = _tmp101_;
1367
if (!(_tmp104_ < _tmp105_)) {
1373
_tmp109_ = self->priv->_height;
1374
cairo_move_to (_tmp106_, (0.5 + _tmp107_) + _tmp108_, _tmp109_ + 0.5);
1378
_tmp113_ = self->priv->_height;
1379
_tmp114_ = self->priv->_height;
1381
_tmp115__length1 = values_length1;
1382
_tmp115__length2 = values_length2;
1385
_tmp118_ = _tmp115_[(_tmp116_ * _tmp115__length2) + _tmp117_];
1386
cairo_line_to (_tmp110_, (0.5 + _tmp111_) + _tmp112_, (_tmp113_ + 0.5) - (_tmp114_ * _tmp118_));
1391
cairo_stroke (_tmp119_);
1396
_tmp121_ = self->priv->_width;
1397
offset = _tmp120_ + (_tmp121_ + 2);
1398
values = (g_free (values), NULL);
1399
tracemodels = (_vala_array_free (tracemodels, tracemodels_length1, (GDestroyNotify) g_object_unref), NULL);
1400
_g_object_unref0 (graphmodel);
1404
_tmp122_ = self->priv->currenticonindex;
1405
self->priv->currenticonindex = 1 - _tmp122_;
1407
_tmp124_ = self->priv->currenticonindex;
1408
_tmp125_ = multi_load_indicator_iconpath (self, _tmp124_);
1409
_tmp126_ = _tmp125_;
1410
cairo_surface_write_to_png (_tmp123_, _tmp126_);
1411
_g_free0 (_tmp126_);
1412
_cairo_destroy0 (ctx);
1413
_cairo_surface_destroy0 (surface);
1417
const gchar* multi_load_indicator_get_icondirectory (MultiLoadIndicator* self) {
1418
const gchar* result;
1419
const gchar* _tmp0_;
1420
g_return_val_if_fail (IS_MULTI_LOAD_INDICATOR (self), NULL);
1421
_tmp0_ = self->priv->_icondirectory;
1427
static void multi_load_indicator_set_icondirectory (MultiLoadIndicator* self, const gchar* value) {
1428
const gchar* _tmp0_;
1430
g_return_if_fail (IS_MULTI_LOAD_INDICATOR (self));
1432
_tmp1_ = g_strdup (_tmp0_);
1433
_g_free0 (self->priv->_icondirectory);
1434
self->priv->_icondirectory = _tmp1_;
1435
g_object_notify ((GObject *) self, "icondirectory");
1439
Providers* multi_load_indicator_get_providers (MultiLoadIndicator* self) {
1442
g_return_val_if_fail (IS_MULTI_LOAD_INDICATOR (self), NULL);
1443
_tmp0_ = self->priv->_providers;
1449
static void multi_load_indicator_set_providers (MultiLoadIndicator* self, Providers* value) {
1452
g_return_if_fail (IS_MULTI_LOAD_INDICATOR (self));
1454
_tmp1_ = _g_object_ref0 (_tmp0_);
1455
_g_object_unref0 (self->priv->_providers);
1456
self->priv->_providers = _tmp1_;
1457
g_object_notify ((GObject *) self, "providers");
1461
MenuModel* multi_load_indicator_get_menumodel (MultiLoadIndicator* self) {
1464
g_return_val_if_fail (IS_MULTI_LOAD_INDICATOR (self), NULL);
1465
_tmp0_ = self->priv->_menumodel;
1471
static void multi_load_indicator_set_menumodel (MultiLoadIndicator* self, MenuModel* value) {
1474
g_return_if_fail (IS_MULTI_LOAD_INDICATOR (self));
1476
_tmp1_ = _g_object_ref0 (_tmp0_);
1477
_g_object_unref0 (self->priv->_menumodel);
1478
self->priv->_menumodel = _tmp1_;
1479
g_object_notify ((GObject *) self, "menumodel");
1483
MenuModel* multi_load_indicator_get_labelmodel (MultiLoadIndicator* self) {
1486
g_return_val_if_fail (IS_MULTI_LOAD_INDICATOR (self), NULL);
1487
_tmp0_ = self->priv->_labelmodel;
1493
static void multi_load_indicator_set_labelmodel (MultiLoadIndicator* self, MenuModel* value) {
1496
g_return_if_fail (IS_MULTI_LOAD_INDICATOR (self));
1498
_tmp1_ = _g_object_ref0 (_tmp0_);
1499
_g_object_unref0 (self->priv->_labelmodel);
1500
self->priv->_labelmodel = _tmp1_;
1501
g_object_notify ((GObject *) self, "labelmodel");
1505
MenuModel* multi_load_indicator_get_descriptionmodel (MultiLoadIndicator* self) {
1508
g_return_val_if_fail (IS_MULTI_LOAD_INDICATOR (self), NULL);
1509
_tmp0_ = self->priv->_descriptionmodel;
1515
static void multi_load_indicator_set_descriptionmodel (MultiLoadIndicator* self, MenuModel* value) {
1518
g_return_if_fail (IS_MULTI_LOAD_INDICATOR (self));
1520
_tmp1_ = _g_object_ref0 (_tmp0_);
1521
_g_object_unref0 (self->priv->_descriptionmodel);
1522
self->priv->_descriptionmodel = _tmp1_;
1523
g_object_notify ((GObject *) self, "descriptionmodel");
1527
gint multi_load_indicator_get_indicator_index (MultiLoadIndicator* self) {
1530
g_return_val_if_fail (IS_MULTI_LOAD_INDICATOR (self), 0);
1531
_tmp0_ = self->priv->_indicator_index;
1537
void multi_load_indicator_set_indicator_index (MultiLoadIndicator* self, gint value) {
1539
g_return_if_fail (IS_MULTI_LOAD_INDICATOR (self));
1541
self->priv->_indicator_index = _tmp0_;
1542
g_object_notify ((GObject *) self, "indicator-index");
1546
guint multi_load_indicator_get_height (MultiLoadIndicator* self) {
1549
g_return_val_if_fail (IS_MULTI_LOAD_INDICATOR (self), 0U);
1550
_tmp0_ = self->priv->_height;
1556
void multi_load_indicator_set_height (MultiLoadIndicator* self, guint value) {
1558
g_return_if_fail (IS_MULTI_LOAD_INDICATOR (self));
1560
self->priv->_height = _tmp0_;
1561
g_object_notify ((GObject *) self, "height");
1565
guint multi_load_indicator_get_width (MultiLoadIndicator* self) {
1568
g_return_val_if_fail (IS_MULTI_LOAD_INDICATOR (self), 0U);
1569
_tmp0_ = self->priv->_width;
1575
void multi_load_indicator_set_width (MultiLoadIndicator* self, guint value) {
1577
g_return_if_fail (IS_MULTI_LOAD_INDICATOR (self));
1579
self->priv->_width = _tmp0_;
1580
g_object_notify ((GObject *) self, "width");
1584
guint multi_load_indicator_get_speed (MultiLoadIndicator* self) {
1587
g_return_val_if_fail (IS_MULTI_LOAD_INDICATOR (self), 0U);
1588
_tmp0_ = self->priv->_speed;
1594
void multi_load_indicator_set_speed (MultiLoadIndicator* self, guint value) {
1596
g_return_if_fail (IS_MULTI_LOAD_INDICATOR (self));
1598
self->priv->_speed = _tmp0_;
1599
g_object_notify ((GObject *) self, "speed");
1603
GtkMenu* multi_load_indicator_get_menu (MultiLoadIndicator* self) {
1606
g_return_val_if_fail (IS_MULTI_LOAD_INDICATOR (self), NULL);
1607
_tmp0_ = self->priv->_menu;
1613
void multi_load_indicator_set_menu (MultiLoadIndicator* self, GtkMenu* value) {
1616
g_return_if_fail (IS_MULTI_LOAD_INDICATOR (self));
1618
_tmp1_ = _g_object_ref0 (_tmp0_);
1619
_g_object_unref0 (self->priv->_menu);
1620
self->priv->_menu = _tmp1_;
1621
g_object_notify ((GObject *) self, "menu");
1625
GraphModels* multi_load_indicator_get_graphmodels (MultiLoadIndicator* self) {
1626
GraphModels* result;
1627
GraphModels* _tmp0_;
1628
g_return_val_if_fail (IS_MULTI_LOAD_INDICATOR (self), NULL);
1629
_tmp0_ = self->priv->_graphmodels;
1635
void multi_load_indicator_set_graphmodels (MultiLoadIndicator* self, GraphModels* value) {
1636
GraphModels* _tmp0_;
1637
GraphModels* _tmp1_;
1638
g_return_if_fail (IS_MULTI_LOAD_INDICATOR (self));
1640
_tmp1_ = _g_object_ref0 (_tmp0_);
1641
_g_object_unref0 (self->priv->_graphmodels);
1642
self->priv->_graphmodels = _tmp1_;
1643
g_object_notify ((GObject *) self, "graphmodels");
1647
static void _multi_load_indicator___lambda4_ (MultiLoadIndicator* self, gint delta, guint direction) {
1654
gint _tmp9__length1;
1656
gint _tmp10__length1;
1659
_tmp0_ = self->priv->_indicator_index;
1662
if (_tmp1_ == ((guint) GDK_SCROLL_DOWN)) {
1667
index = _tmp2_ + _tmp3_;
1671
if (_tmp4_ == ((guint) GDK_SCROLL_UP)) {
1676
index = _tmp5_ - _tmp6_;
1680
_tmp8_ = self->priv->_labelmodel;
1681
_tmp9_ = menu_model_get_expressions (_tmp8_, &_tmp9__length1);
1683
_tmp10__length1 = _tmp9__length1;
1684
if (_tmp7_ >= _tmp10__length1) {
1687
gint _tmp12__length1;
1689
gint _tmp13__length1;
1690
_tmp11_ = self->priv->_labelmodel;
1691
_tmp12_ = menu_model_get_expressions (_tmp11_, &_tmp12__length1);
1693
_tmp13__length1 = _tmp12__length1;
1694
index = _tmp13__length1 - 1;
1701
multi_load_indicator_set_indicator_index (self, _tmp15_);
1705
static void __multi_load_indicator___lambda4__app_indicator_scroll_event (AppIndicator* _sender, gint delta, guint direction, gpointer self) {
1706
_multi_load_indicator___lambda4_ (self, delta, direction);
1710
static void _multi_load_indicator___lambda5_ (MultiLoadIndicator* self) {
1711
AppIndicator* _tmp0_;
1712
AppIndicatorStatus _tmp1_ = 0;
1713
_tmp0_ = self->priv->indicator;
1714
_tmp1_ = app_indicator_get_status (_tmp0_);
1715
if (_tmp1_ == APP_INDICATOR_STATUS_ACTIVE) {
1716
multi_load_indicator_updateviews (self);
1721
static void __multi_load_indicator___lambda5__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
1722
_multi_load_indicator___lambda5_ (self);
1726
static gboolean __lambda7_ (MultiLoadIndicator* self) {
1727
gboolean result = FALSE;
1728
multi_load_indicator_updateall (self);
1734
static gboolean ___lambda7__gsource_func (gpointer self) {
1736
result = __lambda7_ (self);
1741
static void _multi_load_indicator___lambda6_ (MultiLoadIndicator* self) {
1747
_tmp0_ = self->priv->timeout;
1748
if (_tmp0_ != NULL) {
1750
_tmp1_ = self->priv->timeout;
1751
g_source_destroy (_tmp1_);
1753
_tmp2_ = self->priv->_speed;
1754
if (_tmp2_ == ((guint) 0)) {
1755
_g_source_unref0 (self->priv->timeout);
1756
self->priv->timeout = NULL;
1759
_tmp3_ = self->priv->_speed;
1760
if ((_tmp3_ % 1000) == ((guint) 0)) {
1763
_tmp4_ = self->priv->_speed;
1764
_tmp5_ = g_timeout_source_new_seconds (_tmp4_ / 1000);
1765
_g_source_unref0 (self->priv->timeout);
1766
self->priv->timeout = _tmp5_;
1770
_tmp6_ = self->priv->_speed;
1771
_tmp7_ = g_timeout_source_new (_tmp6_);
1772
_g_source_unref0 (self->priv->timeout);
1773
self->priv->timeout = _tmp7_;
1775
_tmp8_ = self->priv->timeout;
1776
g_source_attach (_tmp8_, NULL);
1777
_tmp9_ = self->priv->timeout;
1778
g_source_set_callback (_tmp9_, ___lambda7__gsource_func, g_object_ref (self), g_object_unref);
1782
static void __multi_load_indicator___lambda6__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
1783
_multi_load_indicator___lambda6_ (self);
1787
static GObject * multi_load_indicator_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
1789
GObjectClass * parent_class;
1790
MultiLoadIndicator * self;
1791
const gchar* _tmp0_;
1792
const gchar* _tmp1_;
1793
AppIndicator* _tmp2_;
1794
AppIndicator* _tmp3_;
1795
parent_class = G_OBJECT_CLASS (multi_load_indicator_parent_class);
1796
obj = parent_class->constructor (type, n_construct_properties, construct_properties);
1797
self = MULTI_LOAD_INDICATOR (obj);
1798
_tmp0_ = self->priv->_icondirectory;
1799
g_mkdir (_tmp0_, 0777);
1800
multi_load_indicator_iconwritedummy (self);
1801
_tmp1_ = self->priv->_icondirectory;
1802
_tmp2_ = app_indicator_new_with_path ("multiload", "", APP_INDICATOR_CATEGORY_SYSTEM_SERVICES, _tmp1_);
1803
_g_object_unref0 (self->priv->indicator);
1804
self->priv->indicator = _tmp2_;
1805
_tmp3_ = self->priv->indicator;
1806
g_signal_connect_object (_tmp3_, "scroll-event", (GCallback) __multi_load_indicator___lambda4__app_indicator_scroll_event, self, 0);
1807
g_signal_connect_object (G_OBJECT (self), "notify::indicator-index", (GCallback) __multi_load_indicator___lambda5__g_object_notify, self, 0);
1808
g_signal_connect_object (G_OBJECT (self), "notify::speed", (GCallback) __multi_load_indicator___lambda6__g_object_notify, self, 0);
1813
static void multi_load_indicator_class_init (MultiLoadIndicatorClass * klass) {
1814
multi_load_indicator_parent_class = g_type_class_peek_parent (klass);
1815
g_type_class_add_private (klass, sizeof (MultiLoadIndicatorPrivate));
1816
G_OBJECT_CLASS (klass)->get_property = _vala_multi_load_indicator_get_property;
1817
G_OBJECT_CLASS (klass)->set_property = _vala_multi_load_indicator_set_property;
1818
G_OBJECT_CLASS (klass)->constructor = multi_load_indicator_constructor;
1819
G_OBJECT_CLASS (klass)->finalize = multi_load_indicator_finalize;
1820
g_object_class_install_property (G_OBJECT_CLASS (klass), MULTI_LOAD_INDICATOR_ICONDIRECTORY, g_param_spec_string ("icondirectory", "icondirectory", "icondirectory", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
1821
g_object_class_install_property (G_OBJECT_CLASS (klass), MULTI_LOAD_INDICATOR_PROVIDERS, g_param_spec_object ("providers", "providers", "providers", TYPE_PROVIDERS, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
1822
g_object_class_install_property (G_OBJECT_CLASS (klass), MULTI_LOAD_INDICATOR_MENUMODEL, g_param_spec_object ("menumodel", "menumodel", "menumodel", TYPE_MENU_MODEL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
1823
g_object_class_install_property (G_OBJECT_CLASS (klass), MULTI_LOAD_INDICATOR_LABELMODEL, g_param_spec_object ("labelmodel", "labelmodel", "labelmodel", TYPE_MENU_MODEL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
1824
g_object_class_install_property (G_OBJECT_CLASS (klass), MULTI_LOAD_INDICATOR_DESCRIPTIONMODEL, g_param_spec_object ("descriptionmodel", "descriptionmodel", "descriptionmodel", TYPE_MENU_MODEL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
1825
g_object_class_install_property (G_OBJECT_CLASS (klass), MULTI_LOAD_INDICATOR_INDICATOR_INDEX, g_param_spec_int ("indicator-index", "indicator-index", "indicator-index", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
1826
g_object_class_install_property (G_OBJECT_CLASS (klass), MULTI_LOAD_INDICATOR_HEIGHT, g_param_spec_uint ("height", "height", "height", 0, G_MAXUINT, 0U, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
1827
g_object_class_install_property (G_OBJECT_CLASS (klass), MULTI_LOAD_INDICATOR_WIDTH, g_param_spec_uint ("width", "width", "width", 0, G_MAXUINT, 0U, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
1828
g_object_class_install_property (G_OBJECT_CLASS (klass), MULTI_LOAD_INDICATOR_SPEED, g_param_spec_uint ("speed", "speed", "speed", 0, G_MAXUINT, 0U, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
1829
g_object_class_install_property (G_OBJECT_CLASS (klass), MULTI_LOAD_INDICATOR_MENU, g_param_spec_object ("menu", "menu", "menu", GTK_TYPE_MENU, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
1830
g_object_class_install_property (G_OBJECT_CLASS (klass), MULTI_LOAD_INDICATOR_GRAPHMODELS, g_param_spec_object ("graphmodels", "graphmodels", "graphmodels", TYPE_GRAPH_MODELS, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
1834
static void multi_load_indicator_instance_init (MultiLoadIndicator * self) {
1835
self->priv = MULTI_LOAD_INDICATOR_GET_PRIVATE (self);
1839
static void multi_load_indicator_finalize (GObject* obj) {
1840
MultiLoadIndicator * self;
1841
gchar* _tmp0_ = NULL;
1843
gchar* _tmp2_ = NULL;
1845
const gchar* _tmp4_;
1846
self = MULTI_LOAD_INDICATOR (obj);
1847
_tmp0_ = multi_load_indicator_iconpath (self, (guint) 0);
1851
_tmp2_ = multi_load_indicator_iconpath (self, (guint) 1);
1855
_tmp4_ = self->priv->_icondirectory;
1857
_g_source_unref0 (self->priv->timeout);
1858
_g_object_unref0 (self->priv->indicator);
1859
self->priv->menuitems = (_vala_array_free (self->priv->menuitems, self->priv->menuitems_length1, (GDestroyNotify) g_object_unref), NULL);
1860
_g_free0 (self->priv->_icondirectory);
1861
_g_object_unref0 (self->priv->_providers);
1862
_g_object_unref0 (self->priv->_menumodel);
1863
_g_object_unref0 (self->priv->_labelmodel);
1864
_g_object_unref0 (self->priv->_descriptionmodel);
1865
_g_object_unref0 (self->priv->_menu);
1866
_g_object_unref0 (self->priv->_graphmodels);
1867
G_OBJECT_CLASS (multi_load_indicator_parent_class)->finalize (obj);
1871
/******************************************************************************
1872
* Copyright (C) 2011 Michael Hofmann <mh21@piware.de> *
1874
* This program is free software; you can redistribute it and/or modify *
1875
* it under the terms of the GNU General Public License as published by *
1876
* the Free Software Foundation; either version 3 of the License, or *
1877
* (at your option) any later version. *
1879
* This program is distributed in the hope that it will be useful, *
1880
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
1881
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
1882
* GNU General Public License for more details. *
1884
* You should have received a copy of the GNU General Public License along *
1885
* with this program; if not, write to the Free Software Foundation, Inc., *
1886
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
1887
******************************************************************************/
1888
GType multi_load_indicator_get_type (void) {
1889
static volatile gsize multi_load_indicator_type_id__volatile = 0;
1890
if (g_once_init_enter (&multi_load_indicator_type_id__volatile)) {
1891
static const GTypeInfo g_define_type_info = { sizeof (MultiLoadIndicatorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) multi_load_indicator_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MultiLoadIndicator), 0, (GInstanceInitFunc) multi_load_indicator_instance_init, NULL };
1892
GType multi_load_indicator_type_id;
1893
multi_load_indicator_type_id = g_type_register_static (G_TYPE_OBJECT, "MultiLoadIndicator", &g_define_type_info, 0);
1894
g_once_init_leave (&multi_load_indicator_type_id__volatile, multi_load_indicator_type_id);
1896
return multi_load_indicator_type_id__volatile;
1900
static void _vala_multi_load_indicator_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
1901
MultiLoadIndicator * self;
1902
self = MULTI_LOAD_INDICATOR (object);
1903
switch (property_id) {
1904
case MULTI_LOAD_INDICATOR_ICONDIRECTORY:
1905
g_value_set_string (value, multi_load_indicator_get_icondirectory (self));
1907
case MULTI_LOAD_INDICATOR_PROVIDERS:
1908
g_value_set_object (value, multi_load_indicator_get_providers (self));
1910
case MULTI_LOAD_INDICATOR_MENUMODEL:
1911
g_value_set_object (value, multi_load_indicator_get_menumodel (self));
1913
case MULTI_LOAD_INDICATOR_LABELMODEL:
1914
g_value_set_object (value, multi_load_indicator_get_labelmodel (self));
1916
case MULTI_LOAD_INDICATOR_DESCRIPTIONMODEL:
1917
g_value_set_object (value, multi_load_indicator_get_descriptionmodel (self));
1919
case MULTI_LOAD_INDICATOR_INDICATOR_INDEX:
1920
g_value_set_int (value, multi_load_indicator_get_indicator_index (self));
1922
case MULTI_LOAD_INDICATOR_HEIGHT:
1923
g_value_set_uint (value, multi_load_indicator_get_height (self));
1925
case MULTI_LOAD_INDICATOR_WIDTH:
1926
g_value_set_uint (value, multi_load_indicator_get_width (self));
1928
case MULTI_LOAD_INDICATOR_SPEED:
1929
g_value_set_uint (value, multi_load_indicator_get_speed (self));
1931
case MULTI_LOAD_INDICATOR_MENU:
1932
g_value_set_object (value, multi_load_indicator_get_menu (self));
1934
case MULTI_LOAD_INDICATOR_GRAPHMODELS:
1935
g_value_set_object (value, multi_load_indicator_get_graphmodels (self));
1938
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
1944
static void _vala_multi_load_indicator_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
1945
MultiLoadIndicator * self;
1946
self = MULTI_LOAD_INDICATOR (object);
1947
switch (property_id) {
1948
case MULTI_LOAD_INDICATOR_ICONDIRECTORY:
1949
multi_load_indicator_set_icondirectory (self, g_value_get_string (value));
1951
case MULTI_LOAD_INDICATOR_PROVIDERS:
1952
multi_load_indicator_set_providers (self, g_value_get_object (value));
1954
case MULTI_LOAD_INDICATOR_MENUMODEL:
1955
multi_load_indicator_set_menumodel (self, g_value_get_object (value));
1957
case MULTI_LOAD_INDICATOR_LABELMODEL:
1958
multi_load_indicator_set_labelmodel (self, g_value_get_object (value));
1960
case MULTI_LOAD_INDICATOR_DESCRIPTIONMODEL:
1961
multi_load_indicator_set_descriptionmodel (self, g_value_get_object (value));
1963
case MULTI_LOAD_INDICATOR_INDICATOR_INDEX:
1964
multi_load_indicator_set_indicator_index (self, g_value_get_int (value));
1966
case MULTI_LOAD_INDICATOR_HEIGHT:
1967
multi_load_indicator_set_height (self, g_value_get_uint (value));
1969
case MULTI_LOAD_INDICATOR_WIDTH:
1970
multi_load_indicator_set_width (self, g_value_get_uint (value));
1972
case MULTI_LOAD_INDICATOR_SPEED:
1973
multi_load_indicator_set_speed (self, g_value_get_uint (value));
1975
case MULTI_LOAD_INDICATOR_MENU:
1976
multi_load_indicator_set_menu (self, g_value_get_object (value));
1978
case MULTI_LOAD_INDICATOR_GRAPHMODELS:
1979
multi_load_indicator_set_graphmodels (self, g_value_get_object (value));
1982
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
1988
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
1989
if ((array != NULL) && (destroy_func != NULL)) {
1991
for (i = 0; i < array_length; i = i + 1) {
1992
if (((gpointer*) array)[i] != NULL) {
1993
destroy_func (((gpointer*) array)[i]);
2000
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
2001
_vala_array_destroy (array, array_length, destroy_func);