aboutsummaryrefslogtreecommitdiff
path: root/example/simple-client-vala.c
diff options
context:
space:
mode:
Diffstat (limited to 'example/simple-client-vala.c')
-rw-r--r--example/simple-client-vala.c884
1 files changed, 884 insertions, 0 deletions
diff --git a/example/simple-client-vala.c b/example/simple-client-vala.c
new file mode 100644
index 0000000..afe5a1e
--- /dev/null
+++ b/example/simple-client-vala.c
@@ -0,0 +1,884 @@
+/* simple-client-vala.c generated by valac 0.14.2, the Vala compiler
+ * generated from simple-client-vala.vala, do not modify */
+
+/*
+A small piece of sample code demonstrating a very simple application
+with an indicator.
+
+Copyright 2011 Canonical Ltd.
+
+Authors:
+ Marco Trevisan <mail@3v1n0.net>
+
+This program is free software: you can redistribute it and/or modify it
+under the terms of the GNU General Public License version 3, as published
+by the Free Software Foundation.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranties of
+MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
+PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along
+with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include <glib.h>
+#include <glib-object.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gtk/gtk.h>
+
+#include <gobject/gvaluecollector.h>
+
+
+#define TYPE_SIMPLE_CLIENT (simple_client_get_type ())
+#define SIMPLE_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SIMPLE_CLIENT, SimpleClient))
+#define SIMPLE_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SIMPLE_CLIENT, SimpleClientClass))
+#define IS_SIMPLE_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SIMPLE_CLIENT))
+#define IS_SIMPLE_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SIMPLE_CLIENT))
+#define SIMPLE_CLIENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SIMPLE_CLIENT, SimpleClientClass))
+
+typedef struct _SimpleClient SimpleClient;
+typedef struct _SimpleClientClass SimpleClientClass;
+#define _simple_client_unref0(var) ((var == NULL) ? NULL : (var = (simple_client_unref (var), NULL)))
+typedef struct _SimpleClientPrivate SimpleClientPrivate;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+typedef struct _Block1Data Block1Data;
+typedef struct _Block2Data Block2Data;
+#define _g_free0(var) (var = (g_free (var), NULL))
+#define __g_slist_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_slist_free__g_object_unref0_ (var), NULL)))
+typedef struct _ParamSpecSimpleClient ParamSpecSimpleClient;
+
+struct _SimpleClient {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ SimpleClientPrivate * priv;
+};
+
+struct _SimpleClientClass {
+ GTypeClass parent_class;
+ void (*finalize) (SimpleClient *self);
+};
+
+struct _SimpleClientPrivate {
+ GtkMenu* menu;
+ AppIndicator* ci;
+ gint percentage;
+ gboolean active;
+ gboolean can_haz_label;
+};
+
+struct _Block1Data {
+ int _ref_count_;
+ SimpleClient * self;
+ GtkMenuItem* prev_mi;
+};
+
+struct _Block2Data {
+ int _ref_count_;
+ SimpleClient * self;
+ GtkMenuItem* submenu;
+ GtkImageMenuItem* imgitem;
+ GtkMenuItem* att;
+ GtkMenuItem* show;
+ GtkCheckMenuItem* icon;
+};
+
+struct _ParamSpecSimpleClient {
+ GParamSpec parent_instance;
+};
+
+
+static gpointer simple_client_parent_class = NULL;
+
+gint _vala_main (gchar** args, int args_length1);
+SimpleClient* simple_client_new (gchar** args, int args_length1);
+SimpleClient* simple_client_construct (GType object_type, gchar** args, int args_length1);
+gpointer simple_client_ref (gpointer instance);
+void simple_client_unref (gpointer instance);
+GParamSpec* param_spec_simple_client (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_simple_client (GValue* value, gpointer v_object);
+void value_take_simple_client (GValue* value, gpointer v_object);
+gpointer value_get_simple_client (const GValue* value);
+GType simple_client_get_type (void) G_GNUC_CONST;
+void simple_client_run (SimpleClient* self);
+#define SIMPLE_CLIENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SIMPLE_CLIENT, SimpleClientPrivate))
+enum {
+ SIMPLE_CLIENT_DUMMY_PROPERTY
+};
+static void simple_client_toggle_sensitivity (SimpleClient* self, GtkWidget* widget);
+static void simple_client_append_submenu (SimpleClient* self, GtkMenuItem* item);
+static Block1Data* block1_data_ref (Block1Data* _data1_);
+static void block1_data_unref (Block1Data* _data1_);
+static void __lambda0_ (SimpleClient* self);
+static void ___lambda0__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self);
+static void __lambda1_ (Block1Data* _data1_);
+static void ___lambda1__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self);
+static void __lambda2_ (SimpleClient* self);
+static void ___lambda2__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self);
+static void __lambda3_ (SimpleClient* self);
+static void ___lambda3__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self);
+static void simple_client_label_toggle (SimpleClient* self, GtkMenuItem* item);
+static Block2Data* block2_data_ref (Block2Data* _data2_);
+static void block2_data_unref (Block2Data* _data2_);
+static void __lambda4_ (SimpleClient* self, gint delta, guint direction);
+static void ___lambda4__app_indicator_scroll_event (AppIndicator* _sender, gint delta, guint direction, gpointer self);
+static gboolean __lambda5_ (SimpleClient* self);
+static gboolean ___lambda5__gsource_func (gpointer self);
+static void __lambda6_ (SimpleClient* self);
+static void ___lambda6__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self);
+static void _g_object_unref0_ (gpointer var);
+static void _g_slist_free__g_object_unref0_ (GSList* self);
+static void __lambda7_ (SimpleClient* self);
+static void ___lambda7__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self);
+static void __lambda8_ (Block2Data* _data2_);
+static void ___lambda8__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self);
+static void __lambda9_ (Block2Data* _data2_);
+static void ___lambda9__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self);
+static void __lambda10_ (Block2Data* _data2_);
+static void ___lambda10__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self);
+static void __lambda11_ (Block2Data* _data2_);
+static void ___lambda11__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self);
+static void __lambda12_ (Block2Data* _data2_);
+static void ___lambda12__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self);
+static void simple_client_finalize (SimpleClient* obj);
+
+
+gint _vala_main (gchar** args, int args_length1) {
+ gint result = 0;
+ gchar** _tmp0_;
+ gint _tmp0__length1;
+ SimpleClient* _tmp1_;
+ SimpleClient* sc;
+ _tmp0_ = args;
+ _tmp0__length1 = args_length1;
+ _tmp1_ = simple_client_new (_tmp0_, _tmp0__length1);
+ sc = _tmp1_;
+ simple_client_run (sc);
+ result = 0;
+ _simple_client_unref0 (sc);
+ return result;
+}
+
+
+int main (int argc, char ** argv) {
+ g_type_init ();
+ return _vala_main (argv, argc);
+}
+
+
+SimpleClient* simple_client_construct (GType object_type, gchar** args, int args_length1) {
+ SimpleClient* self = NULL;
+ AppIndicator* _tmp0_;
+ AppIndicator* _tmp1_;
+ AppIndicator* _tmp2_;
+ AppIndicator* _tmp3_;
+ AppIndicator* _tmp4_;
+ self = (SimpleClient*) g_type_create_instance (object_type);
+ gtk_init (&args_length1, &args);
+ _tmp0_ = app_indicator_new ("example-simple-client", "indicator-messages", APP_INDICATOR_CATEGORY_APPLICATION_STATUS);
+ _g_object_unref0 (self->priv->ci);
+ self->priv->ci = _tmp0_;
+ _tmp1_ = self->priv->ci;
+ app_indicator_set_status (_tmp1_, APP_INDICATOR_STATUS_ACTIVE);
+ _tmp2_ = self->priv->ci;
+ app_indicator_set_attention_icon (_tmp2_, "indicator-messages-new");
+ _tmp3_ = self->priv->ci;
+ app_indicator_set_label (_tmp3_, "1%", "100%");
+ _tmp4_ = self->priv->ci;
+ app_indicator_set_title (_tmp4_, "Test Indicator (vala)");
+ self->priv->active = TRUE;
+ self->priv->can_haz_label = TRUE;
+ return self;
+}
+
+
+SimpleClient* simple_client_new (gchar** args, int args_length1) {
+ return simple_client_construct (TYPE_SIMPLE_CLIENT, args, args_length1);
+}
+
+
+static void simple_client_toggle_sensitivity (SimpleClient* self, GtkWidget* widget) {
+ GtkWidget* _tmp0_;
+ GtkWidget* _tmp1_;
+ gboolean _tmp2_ = FALSE;
+ g_return_if_fail (self != NULL);
+ g_return_if_fail (widget != NULL);
+ _tmp0_ = widget;
+ _tmp1_ = widget;
+ _tmp2_ = gtk_widget_is_sensitive (_tmp1_);
+ gtk_widget_set_sensitive (_tmp0_, !_tmp2_);
+}
+
+
+static Block1Data* block1_data_ref (Block1Data* _data1_) {
+ g_atomic_int_inc (&_data1_->_ref_count_);
+ return _data1_;
+}
+
+
+static void block1_data_unref (Block1Data* _data1_) {
+ if (g_atomic_int_dec_and_test (&_data1_->_ref_count_)) {
+ _simple_client_unref0 (_data1_->self);
+ _g_object_unref0 (_data1_->prev_mi);
+ g_slice_free (Block1Data, _data1_);
+ }
+}
+
+
+static void __lambda0_ (SimpleClient* self) {
+ g_print ("Sub1\n");
+}
+
+
+static void ___lambda0__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
+ __lambda0_ (self);
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+ return self ? g_object_ref (self) : NULL;
+}
+
+
+static void __lambda1_ (Block1Data* _data1_) {
+ SimpleClient * self;
+ self = _data1_->self;
+ simple_client_toggle_sensitivity (self, (GtkWidget*) _data1_->prev_mi);
+}
+
+
+static void ___lambda1__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
+ __lambda1_ (self);
+}
+
+
+static void __lambda2_ (SimpleClient* self) {
+ g_print ("Sub3\n");
+}
+
+
+static void ___lambda2__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
+ __lambda2_ (self);
+}
+
+
+static void __lambda3_ (SimpleClient* self) {
+ AppIndicator* _tmp0_;
+ AppIndicatorStatus _tmp1_ = 0;
+ _tmp0_ = self->priv->ci;
+ _tmp1_ = app_indicator_get_status (_tmp0_);
+ if (_tmp1_ == APP_INDICATOR_STATUS_ATTENTION) {
+ AppIndicator* _tmp2_;
+ _tmp2_ = self->priv->ci;
+ app_indicator_set_status (_tmp2_, APP_INDICATOR_STATUS_ACTIVE);
+ } else {
+ AppIndicator* _tmp3_;
+ _tmp3_ = self->priv->ci;
+ app_indicator_set_status (_tmp3_, APP_INDICATOR_STATUS_ATTENTION);
+ }
+}
+
+
+static void ___lambda3__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
+ __lambda3_ (self);
+}
+
+
+static void simple_client_append_submenu (SimpleClient* self, GtkMenuItem* item) {
+ Block1Data* _data1_;
+ GtkMenu* _tmp0_;
+ GtkMenu* _tmp1_;
+ GtkMenu* menu;
+ GtkMenuItem* mi = NULL;
+ GtkMenuItem* _tmp2_;
+ GtkMenuItem* _tmp3_;
+ GtkMenuItem* _tmp4_;
+ GtkMenuItem* _tmp5_;
+ GtkMenuItem* _tmp6_;
+ GtkMenuItem* _tmp7_;
+ GtkMenuItem* _tmp8_;
+ GtkMenuItem* _tmp9_;
+ GtkMenuItem* _tmp10_;
+ GtkMenuItem* _tmp11_;
+ GtkMenuItem* _tmp12_;
+ GtkMenuItem* _tmp13_;
+ GtkMenuItem* _tmp14_;
+ GtkMenuItem* _tmp15_;
+ GtkMenuItem* _tmp16_;
+ GtkMenuItem* _tmp17_;
+ GtkMenuItem* _tmp18_;
+ GtkMenuItem* _tmp19_;
+ AppIndicator* _tmp20_;
+ GtkMenuItem* _tmp21_;
+ GtkMenuItem* _tmp22_;
+ g_return_if_fail (self != NULL);
+ g_return_if_fail (item != NULL);
+ _data1_ = g_slice_new0 (Block1Data);
+ _data1_->_ref_count_ = 1;
+ _data1_->self = simple_client_ref (self);
+ _tmp0_ = (GtkMenu*) gtk_menu_new ();
+ _tmp1_ = g_object_ref_sink (_tmp0_);
+ menu = _tmp1_;
+ _tmp2_ = (GtkMenuItem*) gtk_menu_item_new_with_label ("Sub 1");
+ _tmp3_ = g_object_ref_sink (_tmp2_);
+ _g_object_unref0 (mi);
+ mi = _tmp3_;
+ _tmp4_ = mi;
+ gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) _tmp4_);
+ _tmp5_ = mi;
+ g_signal_connect (_tmp5_, "activate", (GCallback) ___lambda0__gtk_menu_item_activate, self);
+ _tmp6_ = mi;
+ _tmp7_ = _g_object_ref0 (_tmp6_);
+ _data1_->prev_mi = _tmp7_;
+ _tmp8_ = (GtkMenuItem*) gtk_menu_item_new_with_label ("Sub 2");
+ _tmp9_ = g_object_ref_sink (_tmp8_);
+ _g_object_unref0 (mi);
+ mi = _tmp9_;
+ _tmp10_ = mi;
+ gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) _tmp10_);
+ _tmp11_ = mi;
+ g_signal_connect_data (_tmp11_, "activate", (GCallback) ___lambda1__gtk_menu_item_activate, block1_data_ref (_data1_), (GClosureNotify) block1_data_unref, 0);
+ _tmp12_ = (GtkMenuItem*) gtk_menu_item_new_with_label ("Sub 3");
+ _tmp13_ = g_object_ref_sink (_tmp12_);
+ _g_object_unref0 (mi);
+ mi = _tmp13_;
+ _tmp14_ = mi;
+ gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) _tmp14_);
+ _tmp15_ = mi;
+ g_signal_connect (_tmp15_, "activate", (GCallback) ___lambda2__gtk_menu_item_activate, self);
+ _tmp16_ = (GtkMenuItem*) gtk_menu_item_new_with_label ("Toggle Attention");
+ _tmp17_ = g_object_ref_sink (_tmp16_);
+ _g_object_unref0 (mi);
+ mi = _tmp17_;
+ _tmp18_ = mi;
+ gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) _tmp18_);
+ _tmp19_ = mi;
+ g_signal_connect (_tmp19_, "activate", (GCallback) ___lambda3__gtk_menu_item_activate, self);
+ _tmp20_ = self->priv->ci;
+ _tmp21_ = mi;
+ app_indicator_set_secondary_activate_target (_tmp20_, (GtkWidget*) _tmp21_);
+ gtk_widget_show_all ((GtkWidget*) menu);
+ _tmp22_ = item;
+ gtk_menu_item_set_submenu (_tmp22_, (GtkWidget*) menu);
+ _g_object_unref0 (mi);
+ _g_object_unref0 (menu);
+ block1_data_unref (_data1_);
+ _data1_ = NULL;
+}
+
+
+static void simple_client_label_toggle (SimpleClient* self, GtkMenuItem* item) {
+ gboolean _tmp0_;
+ gboolean _tmp1_;
+ g_return_if_fail (self != NULL);
+ g_return_if_fail (item != NULL);
+ _tmp0_ = self->priv->can_haz_label;
+ self->priv->can_haz_label = !_tmp0_;
+ _tmp1_ = self->priv->can_haz_label;
+ if (_tmp1_) {
+ GtkMenuItem* _tmp2_;
+ _tmp2_ = item;
+ gtk_menu_item_set_label (_tmp2_, "Hide label");
+ } else {
+ GtkMenuItem* _tmp3_;
+ _tmp3_ = item;
+ gtk_menu_item_set_label (_tmp3_, "Show label");
+ }
+}
+
+
+static Block2Data* block2_data_ref (Block2Data* _data2_) {
+ g_atomic_int_inc (&_data2_->_ref_count_);
+ return _data2_;
+}
+
+
+static void block2_data_unref (Block2Data* _data2_) {
+ if (g_atomic_int_dec_and_test (&_data2_->_ref_count_)) {
+ _simple_client_unref0 (_data2_->self);
+ _g_object_unref0 (_data2_->icon);
+ _g_object_unref0 (_data2_->show);
+ _g_object_unref0 (_data2_->att);
+ _g_object_unref0 (_data2_->imgitem);
+ _g_object_unref0 (_data2_->submenu);
+ g_slice_free (Block2Data, _data2_);
+ }
+}
+
+
+static void __lambda4_ (SimpleClient* self, gint delta, guint direction) {
+ gint _tmp0_;
+ gchar* _tmp1_ = NULL;
+ gchar* _tmp2_;
+ guint _tmp3_;
+ gchar* _tmp4_ = NULL;
+ gchar* _tmp5_;
+ gchar* _tmp6_ = NULL;
+ gchar* _tmp7_;
+ _tmp0_ = delta;
+ _tmp1_ = g_strdup_printf ("%i", _tmp0_);
+ _tmp2_ = _tmp1_;
+ _tmp3_ = direction;
+ _tmp4_ = g_strdup_printf ("%u", _tmp3_);
+ _tmp5_ = _tmp4_;
+ _tmp6_ = g_strconcat ("Got scroll event! delta: ", _tmp2_, ", direction: ", _tmp5_, "\n", NULL);
+ _tmp7_ = _tmp6_;
+ g_print ("%s", _tmp7_);
+ _g_free0 (_tmp7_);
+ _g_free0 (_tmp5_);
+ _g_free0 (_tmp2_);
+}
+
+
+static void ___lambda4__app_indicator_scroll_event (AppIndicator* _sender, gint delta, guint direction, gpointer self) {
+ __lambda4_ (self, delta, direction);
+}
+
+
+static gboolean __lambda5_ (SimpleClient* self) {
+ gboolean result = FALSE;
+ gint _tmp0_;
+ gboolean _tmp1_;
+ _tmp0_ = self->priv->percentage;
+ self->priv->percentage = (_tmp0_ + 1) % 100;
+ _tmp1_ = self->priv->can_haz_label;
+ if (_tmp1_) {
+ AppIndicator* _tmp2_;
+ gint _tmp3_;
+ gchar* _tmp4_ = NULL;
+ gchar* _tmp5_;
+ gchar* _tmp6_ = NULL;
+ gchar* _tmp7_;
+ _tmp2_ = self->priv->ci;
+ _tmp3_ = self->priv->percentage;
+ _tmp4_ = g_strdup_printf ("%i", _tmp3_ + 1);
+ _tmp5_ = _tmp4_;
+ _tmp6_ = g_strconcat (_tmp5_, "%", NULL);
+ _tmp7_ = _tmp6_;
+ app_indicator_set_label (_tmp2_, _tmp7_, "");
+ _g_free0 (_tmp7_);
+ _g_free0 (_tmp5_);
+ } else {
+ AppIndicator* _tmp8_;
+ _tmp8_ = self->priv->ci;
+ app_indicator_set_label (_tmp8_, "", "");
+ }
+ result = TRUE;
+ return result;
+}
+
+
+static gboolean ___lambda5__gsource_func (gpointer self) {
+ gboolean result;
+ result = __lambda5_ (self);
+ return result;
+}
+
+
+static void __lambda6_ (SimpleClient* self) {
+ g_print ("1\n");
+}
+
+
+static void ___lambda6__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
+ __lambda6_ (self);
+}
+
+
+static void _g_object_unref0_ (gpointer var) {
+ (var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
+}
+
+
+static void _g_slist_free__g_object_unref0_ (GSList* self) {
+ g_slist_foreach (self, (GFunc) _g_object_unref0_, NULL);
+ g_slist_free (self);
+}
+
+
+static void __lambda7_ (SimpleClient* self) {
+ g_print ("2\n");
+}
+
+
+static void ___lambda7__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
+ __lambda7_ (self);
+}
+
+
+static void __lambda8_ (Block2Data* _data2_) {
+ SimpleClient * self;
+ self = _data2_->self;
+ simple_client_toggle_sensitivity (self, (GtkWidget*) _data2_->submenu);
+}
+
+
+static void ___lambda8__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
+ __lambda8_ (self);
+}
+
+
+static void __lambda9_ (Block2Data* _data2_) {
+ SimpleClient * self;
+ GtkWidget* _tmp0_ = NULL;
+ GtkImage* _tmp1_;
+ GtkImage* img;
+ self = _data2_->self;
+ _tmp0_ = gtk_image_menu_item_get_image (_data2_->imgitem);
+ _tmp1_ = _g_object_ref0 (GTK_IMAGE (_tmp0_));
+ img = _tmp1_;
+ gtk_image_set_from_stock (img, GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU);
+ _g_object_unref0 (img);
+}
+
+
+static void ___lambda9__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
+ __lambda9_ (self);
+}
+
+
+static void __lambda10_ (Block2Data* _data2_) {
+ SimpleClient * self;
+ gboolean _tmp0_;
+ self = _data2_->self;
+ _tmp0_ = self->priv->active;
+ if (_tmp0_) {
+ AppIndicator* _tmp1_;
+ _tmp1_ = self->priv->ci;
+ app_indicator_set_status (_tmp1_, APP_INDICATOR_STATUS_ATTENTION);
+ gtk_menu_item_set_label (_data2_->att, "I'm okay now");
+ self->priv->active = FALSE;
+ } else {
+ AppIndicator* _tmp2_;
+ _tmp2_ = self->priv->ci;
+ app_indicator_set_status (_tmp2_, APP_INDICATOR_STATUS_ACTIVE);
+ gtk_menu_item_set_label (_data2_->att, "Get Attention");
+ self->priv->active = FALSE;
+ }
+}
+
+
+static void ___lambda10__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
+ __lambda10_ (self);
+}
+
+
+static void __lambda11_ (Block2Data* _data2_) {
+ SimpleClient * self;
+ self = _data2_->self;
+ simple_client_label_toggle (self, _data2_->show);
+}
+
+
+static void ___lambda11__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
+ __lambda11_ (self);
+}
+
+
+static void __lambda12_ (Block2Data* _data2_) {
+ SimpleClient * self;
+ gboolean _tmp0_ = FALSE;
+ self = _data2_->self;
+ _tmp0_ = gtk_check_menu_item_get_active (_data2_->icon);
+ if (_tmp0_) {
+ AppIndicator* _tmp1_;
+ _tmp1_ = self->priv->ci;
+ app_indicator_set_icon (_tmp1_, "simple-client-test-icon.png");
+ } else {
+ AppIndicator* _tmp2_;
+ _tmp2_ = self->priv->ci;
+ app_indicator_set_icon (_tmp2_, "indicator-messages");
+ }
+}
+
+
+static void ___lambda12__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
+ __lambda12_ (self);
+}
+
+
+void simple_client_run (SimpleClient* self) {
+ Block2Data* _data2_;
+ AppIndicator* _tmp0_;
+ GtkMenu* _tmp1_;
+ GtkMenu* _tmp2_;
+ GtkCheckMenuItem* _tmp3_;
+ GtkCheckMenuItem* _tmp4_;
+ GtkCheckMenuItem* chk;
+ GtkMenu* _tmp5_;
+ GSList* _tmp6_;
+ GtkRadioMenuItem* _tmp7_;
+ GtkRadioMenuItem* _tmp8_;
+ GtkRadioMenuItem* _tmp9_;
+ GtkRadioMenuItem* radio;
+ GtkMenu* _tmp10_;
+ GtkMenuItem* _tmp11_;
+ GtkMenuItem* _tmp12_;
+ GtkMenu* _tmp13_;
+ GtkMenuItem* _tmp14_;
+ GtkMenuItem* _tmp15_;
+ GtkMenuItem* toggle_item;
+ GtkMenu* _tmp16_;
+ GtkImageMenuItem* _tmp17_;
+ GtkImageMenuItem* _tmp18_;
+ GtkMenu* _tmp19_;
+ GtkMenuItem* _tmp20_;
+ GtkMenuItem* _tmp21_;
+ GtkMenu* _tmp22_;
+ GtkMenuItem* _tmp23_;
+ GtkMenuItem* _tmp24_;
+ GtkMenu* _tmp25_;
+ GtkCheckMenuItem* _tmp26_;
+ GtkCheckMenuItem* _tmp27_;
+ GtkMenu* _tmp28_;
+ AppIndicator* _tmp29_;
+ GtkMenu* _tmp30_;
+ g_return_if_fail (self != NULL);
+ _data2_ = g_slice_new0 (Block2Data);
+ _data2_->_ref_count_ = 1;
+ _data2_->self = simple_client_ref (self);
+ _tmp0_ = self->priv->ci;
+ g_signal_connect (_tmp0_, "scroll-event", (GCallback) ___lambda4__app_indicator_scroll_event, self);
+ g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, (guint) 1, ___lambda5__gsource_func, simple_client_ref (self), simple_client_unref);
+ _tmp1_ = (GtkMenu*) gtk_menu_new ();
+ _tmp2_ = g_object_ref_sink (_tmp1_);
+ _g_object_unref0 (self->priv->menu);
+ self->priv->menu = _tmp2_;
+ _tmp3_ = (GtkCheckMenuItem*) gtk_check_menu_item_new_with_label ("1");
+ _tmp4_ = g_object_ref_sink (_tmp3_);
+ chk = _tmp4_;
+ g_signal_connect ((GtkMenuItem*) chk, "activate", (GCallback) ___lambda6__gtk_menu_item_activate, self);
+ _tmp5_ = self->priv->menu;
+ gtk_menu_shell_append ((GtkMenuShell*) _tmp5_, (GtkWidget*) ((GtkMenuItem*) chk));
+ gtk_widget_show ((GtkWidget*) chk);
+ _tmp6_ = NULL;
+ _tmp7_ = (GtkRadioMenuItem*) gtk_radio_menu_item_new_with_label (_tmp6_, "2");
+ _tmp8_ = g_object_ref_sink (_tmp7_);
+ _tmp9_ = _tmp8_;
+ __g_slist_free__g_object_unref0_0 (_tmp6_);
+ radio = _tmp9_;
+ g_signal_connect ((GtkMenuItem*) radio, "activate", (GCallback) ___lambda7__gtk_menu_item_activate, self);
+ _tmp10_ = self->priv->menu;
+ gtk_menu_shell_append ((GtkMenuShell*) _tmp10_, (GtkWidget*) ((GtkMenuItem*) radio));
+ gtk_widget_show ((GtkWidget*) radio);
+ _tmp11_ = (GtkMenuItem*) gtk_menu_item_new_with_label ("3");
+ _tmp12_ = g_object_ref_sink (_tmp11_);
+ _data2_->submenu = _tmp12_;
+ _tmp13_ = self->priv->menu;
+ gtk_menu_shell_append ((GtkMenuShell*) _tmp13_, (GtkWidget*) _data2_->submenu);
+ simple_client_append_submenu (self, _data2_->submenu);
+ gtk_widget_show ((GtkWidget*) _data2_->submenu);
+ _tmp14_ = (GtkMenuItem*) gtk_menu_item_new_with_label ("Toggle 3");
+ _tmp15_ = g_object_ref_sink (_tmp14_);
+ toggle_item = _tmp15_;
+ g_signal_connect_data (toggle_item, "activate", (GCallback) ___lambda8__gtk_menu_item_activate, block2_data_ref (_data2_), (GClosureNotify) block2_data_unref, 0);
+ _tmp16_ = self->priv->menu;
+ gtk_menu_shell_append ((GtkMenuShell*) _tmp16_, (GtkWidget*) toggle_item);
+ gtk_widget_show ((GtkWidget*) toggle_item);
+ _tmp17_ = (GtkImageMenuItem*) gtk_image_menu_item_new_from_stock (GTK_STOCK_NEW, NULL);
+ _tmp18_ = g_object_ref_sink (_tmp17_);
+ _data2_->imgitem = _tmp18_;
+ g_signal_connect_data ((GtkMenuItem*) _data2_->imgitem, "activate", (GCallback) ___lambda9__gtk_menu_item_activate, block2_data_ref (_data2_), (GClosureNotify) block2_data_unref, 0);
+ _tmp19_ = self->priv->menu;
+ gtk_menu_shell_append ((GtkMenuShell*) _tmp19_, (GtkWidget*) ((GtkMenuItem*) _data2_->imgitem));
+ gtk_widget_show ((GtkWidget*) _data2_->imgitem);
+ _tmp20_ = (GtkMenuItem*) gtk_menu_item_new_with_label ("Get Attention");
+ _tmp21_ = g_object_ref_sink (_tmp20_);
+ _data2_->att = _tmp21_;
+ g_signal_connect_data (_data2_->att, "activate", (GCallback) ___lambda10__gtk_menu_item_activate, block2_data_ref (_data2_), (GClosureNotify) block2_data_unref, 0);
+ _tmp22_ = self->priv->menu;
+ gtk_menu_shell_append ((GtkMenuShell*) _tmp22_, (GtkWidget*) _data2_->att);
+ gtk_widget_show ((GtkWidget*) _data2_->att);
+ _tmp23_ = (GtkMenuItem*) gtk_menu_item_new_with_label ("Show Label");
+ _tmp24_ = g_object_ref_sink (_tmp23_);
+ _data2_->show = _tmp24_;
+ simple_client_label_toggle (self, _data2_->show);
+ g_signal_connect_data (_data2_->show, "activate", (GCallback) ___lambda11__gtk_menu_item_activate, block2_data_ref (_data2_), (GClosureNotify) block2_data_unref, 0);
+ _tmp25_ = self->priv->menu;
+ gtk_menu_shell_append ((GtkMenuShell*) _tmp25_, (GtkWidget*) _data2_->show);
+ gtk_widget_show ((GtkWidget*) _data2_->show);
+ _tmp26_ = (GtkCheckMenuItem*) gtk_check_menu_item_new_with_label ("Set Local Icon");
+ _tmp27_ = g_object_ref_sink (_tmp26_);
+ _data2_->icon = _tmp27_;
+ g_signal_connect_data ((GtkMenuItem*) _data2_->icon, "activate", (GCallback) ___lambda12__gtk_menu_item_activate, block2_data_ref (_data2_), (GClosureNotify) block2_data_unref, 0);
+ _tmp28_ = self->priv->menu;
+ gtk_menu_shell_append ((GtkMenuShell*) _tmp28_, (GtkWidget*) ((GtkMenuItem*) _data2_->icon));
+ gtk_widget_show ((GtkWidget*) _data2_->icon);
+ _tmp29_ = self->priv->ci;
+ _tmp30_ = self->priv->menu;
+ app_indicator_set_menu (_tmp29_, _tmp30_);
+ gtk_main ();
+ _g_object_unref0 (toggle_item);
+ _g_object_unref0 (radio);
+ _g_object_unref0 (chk);
+ block2_data_unref (_data2_);
+ _data2_ = NULL;
+}
+
+
+static void value_simple_client_init (GValue* value) {
+ value->data[0].v_pointer = NULL;
+}
+
+
+static void value_simple_client_free_value (GValue* value) {
+ if (value->data[0].v_pointer) {
+ simple_client_unref (value->data[0].v_pointer);
+ }
+}
+
+
+static void value_simple_client_copy_value (const GValue* src_value, GValue* dest_value) {
+ if (src_value->data[0].v_pointer) {
+ dest_value->data[0].v_pointer = simple_client_ref (src_value->data[0].v_pointer);
+ } else {
+ dest_value->data[0].v_pointer = NULL;
+ }
+}
+
+
+static gpointer value_simple_client_peek_pointer (const GValue* value) {
+ return value->data[0].v_pointer;
+}
+
+
+static gchar* value_simple_client_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
+ if (collect_values[0].v_pointer) {
+ SimpleClient* object;
+ object = collect_values[0].v_pointer;
+ if (object->parent_instance.g_class == NULL) {
+ return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
+ } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
+ return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
+ }
+ value->data[0].v_pointer = simple_client_ref (object);
+ } else {
+ value->data[0].v_pointer = NULL;
+ }
+ return NULL;
+}
+
+
+static gchar* value_simple_client_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
+ SimpleClient** object_p;
+ object_p = collect_values[0].v_pointer;
+ if (!object_p) {
+ return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
+ }
+ if (!value->data[0].v_pointer) {
+ *object_p = NULL;
+ } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
+ *object_p = value->data[0].v_pointer;
+ } else {
+ *object_p = simple_client_ref (value->data[0].v_pointer);
+ }
+ return NULL;
+}
+
+
+GParamSpec* param_spec_simple_client (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
+ ParamSpecSimpleClient* spec;
+ g_return_val_if_fail (g_type_is_a (object_type, TYPE_SIMPLE_CLIENT), NULL);
+ spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
+ G_PARAM_SPEC (spec)->value_type = object_type;
+ return G_PARAM_SPEC (spec);
+}
+
+
+gpointer value_get_simple_client (const GValue* value) {
+ g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SIMPLE_CLIENT), NULL);
+ return value->data[0].v_pointer;
+}
+
+
+void value_set_simple_client (GValue* value, gpointer v_object) {
+ SimpleClient* old;
+ g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SIMPLE_CLIENT));
+ old = value->data[0].v_pointer;
+ if (v_object) {
+ g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SIMPLE_CLIENT));
+ g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
+ value->data[0].v_pointer = v_object;
+ simple_client_ref (value->data[0].v_pointer);
+ } else {
+ value->data[0].v_pointer = NULL;
+ }
+ if (old) {
+ simple_client_unref (old);
+ }
+}
+
+
+void value_take_simple_client (GValue* value, gpointer v_object) {
+ SimpleClient* old;
+ g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SIMPLE_CLIENT));
+ old = value->data[0].v_pointer;
+ if (v_object) {
+ g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SIMPLE_CLIENT));
+ g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
+ value->data[0].v_pointer = v_object;
+ } else {
+ value->data[0].v_pointer = NULL;
+ }
+ if (old) {
+ simple_client_unref (old);
+ }
+}
+
+
+static void simple_client_class_init (SimpleClientClass * klass) {
+ simple_client_parent_class = g_type_class_peek_parent (klass);
+ SIMPLE_CLIENT_CLASS (klass)->finalize = simple_client_finalize;
+ g_type_class_add_private (klass, sizeof (SimpleClientPrivate));
+}
+
+
+static void simple_client_instance_init (SimpleClient * self) {
+ self->priv = SIMPLE_CLIENT_GET_PRIVATE (self);
+ self->ref_count = 1;
+}
+
+
+static void simple_client_finalize (SimpleClient* obj) {
+ SimpleClient * self;
+ self = SIMPLE_CLIENT (obj);
+ _g_object_unref0 (self->priv->menu);
+ _g_object_unref0 (self->priv->ci);
+}
+
+
+GType simple_client_get_type (void) {
+ static volatile gsize simple_client_type_id__volatile = 0;
+ if (g_once_init_enter (&simple_client_type_id__volatile)) {
+ static const GTypeValueTable g_define_type_value_table = { value_simple_client_init, value_simple_client_free_value, value_simple_client_copy_value, value_simple_client_peek_pointer, "p", value_simple_client_collect_value, "p", value_simple_client_lcopy_value };
+ static const GTypeInfo g_define_type_info = { sizeof (SimpleClientClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) simple_client_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SimpleClient), 0, (GInstanceInitFunc) simple_client_instance_init, &g_define_type_value_table };
+ static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
+ GType simple_client_type_id;
+ simple_client_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SimpleClient", &g_define_type_info, &g_define_type_fundamental_info, 0);
+ g_once_init_leave (&simple_client_type_id__volatile, simple_client_type_id);
+ }
+ return simple_client_type_id__volatile;
+}
+
+
+gpointer simple_client_ref (gpointer instance) {
+ SimpleClient* self;
+ self = instance;
+ g_atomic_int_inc (&self->ref_count);
+ return instance;
+}
+
+
+void simple_client_unref (gpointer instance) {
+ SimpleClient* self;
+ self = instance;
+ if (g_atomic_int_dec_and_test (&self->ref_count)) {
+ SIMPLE_CLIENT_GET_CLASS (self)->finalize (self);
+ g_type_free_instance ((GTypeInstance *) self);
+ }
+}
+
+
+