tests/menu.c
authorAlan Knowles <alan@roojs.com>
Tue, 17 Jun 2014 06:31:00 +0000 (14:31 +0800)
committerAlan Knowles <alan@roojs.com>
Tue, 17 Jun 2014 06:31:00 +0000 (14:31 +0800)
tests/menu.c [new file with mode: 0644]

diff --git a/tests/menu.c b/tests/menu.c
new file mode 100644 (file)
index 0000000..6b6882f
--- /dev/null
@@ -0,0 +1,337 @@
+/* menu.c generated by valac 0.24.0, the Vala compiler
+ * generated from menu.vala, do not modify */
+
+/* -- to compile
+valac  --pkg gio-2.0  --pkg posix  --pkg gtk+-3.0  \
+    menu.vala  -o /tmp/menutest
+*/
+/* -- to test class
+static int main (string[] args) {
+    Gtk.init (ref args);
+    new Xcls_WindowLeftTree();
+    WindowLeftTree.show_all();
+     Gtk.main ();
+    return 0;
+}
+*/
+
+#include <glib.h>
+#include <glib-object.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gtk/gtk.h>
+#include <gdk/gdk.h>
+
+
+#define TYPE_XCLS_WINDOW (xcls_window_get_type ())
+#define XCLS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_XCLS_WINDOW, Xcls_Window))
+#define XCLS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_XCLS_WINDOW, Xcls_WindowClass))
+#define IS_XCLS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_XCLS_WINDOW))
+#define IS_XCLS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_XCLS_WINDOW))
+#define XCLS_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_XCLS_WINDOW, Xcls_WindowClass))
+
+typedef struct _Xcls_Window Xcls_Window;
+typedef struct _Xcls_WindowClass Xcls_WindowClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+typedef struct _Xcls_WindowPrivate Xcls_WindowPrivate;
+typedef struct _Block1Data Block1Data;
+
+#define XCLS_WINDOW_TYPE_XCLS_MENUITEM7 (xcls_window_xcls_menuitem7_get_type ())
+#define XCLS_WINDOW_XCLS_MENUITEM7(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XCLS_WINDOW_TYPE_XCLS_MENUITEM7, Xcls_WindowXcls_MenuItem7))
+#define XCLS_WINDOW_XCLS_MENUITEM7_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XCLS_WINDOW_TYPE_XCLS_MENUITEM7, Xcls_WindowXcls_MenuItem7Class))
+#define XCLS_WINDOW_IS_XCLS_MENUITEM7(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XCLS_WINDOW_TYPE_XCLS_MENUITEM7))
+#define XCLS_WINDOW_IS_XCLS_MENUITEM7_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XCLS_WINDOW_TYPE_XCLS_MENUITEM7))
+#define XCLS_WINDOW_XCLS_MENUITEM7_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XCLS_WINDOW_TYPE_XCLS_MENUITEM7, Xcls_WindowXcls_MenuItem7Class))
+
+typedef struct _Xcls_WindowXcls_MenuItem7 Xcls_WindowXcls_MenuItem7;
+typedef struct _Xcls_WindowXcls_MenuItem7Class Xcls_WindowXcls_MenuItem7Class;
+typedef struct _Xcls_WindowXcls_MenuItem7Private Xcls_WindowXcls_MenuItem7Private;
+
+struct _Xcls_Window {
+       GObject parent_instance;
+       Xcls_WindowPrivate * priv;
+};
+
+struct _Xcls_WindowClass {
+       GObjectClass parent_class;
+};
+
+struct _Block1Data {
+       int _ref_count_;
+       Xcls_Window* self;
+       GtkMenu* leftmenu;
+};
+
+struct _Xcls_WindowXcls_MenuItem7 {
+       GObject parent_instance;
+       Xcls_WindowXcls_MenuItem7Private * priv;
+       GtkMenuItem* el;
+       Xcls_Window* _this;
+};
+
+struct _Xcls_WindowXcls_MenuItem7Class {
+       GObjectClass parent_class;
+};
+
+
+static gpointer xcls_window_parent_class = NULL;
+static gpointer xcls_window_xcls_menuitem7_parent_class = NULL;
+
+gint _vala_main (gchar** args, int args_length1);
+Xcls_Window* xcls_window_new (void);
+Xcls_Window* xcls_window_construct (GType object_type);
+GType xcls_window_get_type (void) G_GNUC_CONST;
+enum  {
+       XCLS_WINDOW_DUMMY_PROPERTY
+};
+static Block1Data* block1_data_ref (Block1Data* _data1_);
+static void block1_data_unref (void * _userdata_);
+static gboolean __lambda3_ (Block1Data* _data1_, GdkEventButton* ev);
+static gboolean ___lambda3__gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self);
+GType xcls_window_xcls_menuitem7_get_type (void) G_GNUC_CONST;
+Xcls_WindowXcls_MenuItem7* xcls_window_xcls_menuitem7_new (void);
+Xcls_WindowXcls_MenuItem7* xcls_window_xcls_menuitem7_construct (GType object_type);
+void xcls_window_xcls_menuitem7_init (Xcls_WindowXcls_MenuItem7* self, Xcls_Window* _owner);
+enum  {
+       XCLS_WINDOW_XCLS_MENUITEM7_DUMMY_PROPERTY
+};
+static void __lambda4_ (Xcls_WindowXcls_MenuItem7* self);
+static void ___lambda4__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self);
+static void xcls_window_xcls_menuitem7_finalize (GObject* obj);
+
+
+gint _vala_main (gchar** args, int args_length1) {
+       gint result = 0;
+       Xcls_Window* _tmp0_ = NULL;
+       Xcls_Window* _tmp1_ = NULL;
+       gtk_init (&args_length1, &args);
+       g_log_set_always_fatal (G_LOG_LEVEL_ERROR | G_LOG_LEVEL_CRITICAL);
+       _tmp0_ = xcls_window_new ();
+       _tmp1_ = _tmp0_;
+       _g_object_unref0 (_tmp1_);
+       gtk_main ();
+       result = 0;
+       return result;
+}
+
+
+int main (int argc, char ** argv) {
+#if !GLIB_CHECK_VERSION (2,35,0)
+       g_type_init ();
+#endif
+       return _vala_main (argv, argc);
+}
+
+
+static Block1Data* block1_data_ref (Block1Data* _data1_) {
+       g_atomic_int_inc (&_data1_->_ref_count_);
+       return _data1_;
+}
+
+
+static void block1_data_unref (void * _userdata_) {
+       Block1Data* _data1_;
+       _data1_ = (Block1Data*) _userdata_;
+       if (g_atomic_int_dec_and_test (&_data1_->_ref_count_)) {
+               Xcls_Window* self;
+               self = _data1_->self;
+               _g_object_unref0 (_data1_->leftmenu);
+               _g_object_unref0 (self);
+               g_slice_free (Block1Data, _data1_);
+       }
+}
+
+
+static gboolean __lambda3_ (Block1Data* _data1_, GdkEventButton* ev) {
+       Xcls_Window* self;
+       gboolean result = FALSE;
+       gboolean _tmp0_ = FALSE;
+       GdkEventButton* _tmp1_ = NULL;
+       GdkEventType _tmp2_ = 0;
+       GdkEventButton* _tmp5_ = NULL;
+       guint _tmp6_ = 0U;
+       GdkEventButton* _tmp7_ = NULL;
+       guint32 _tmp8_ = 0U;
+       self = _data1_->self;
+       g_return_val_if_fail (ev != NULL, FALSE);
+       _tmp1_ = ev;
+       _tmp2_ = _tmp1_->type;
+       if (_tmp2_ != GDK_BUTTON_PRESS) {
+               _tmp0_ = TRUE;
+       } else {
+               GdkEventButton* _tmp3_ = NULL;
+               guint _tmp4_ = 0U;
+               _tmp3_ = ev;
+               _tmp4_ = _tmp3_->button;
+               _tmp0_ = _tmp4_ != ((guint) 3);
+       }
+       if (_tmp0_) {
+               result = FALSE;
+               return result;
+       }
+       _tmp5_ = ev;
+       _tmp6_ = _tmp5_->button;
+       _tmp7_ = ev;
+       _tmp8_ = _tmp7_->time;
+       gtk_menu_popup (_data1_->leftmenu, NULL, NULL, NULL, NULL, _tmp6_, _tmp8_);
+       result = TRUE;
+       return result;
+}
+
+
+static gboolean ___lambda3__gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) {
+       gboolean result;
+       result = __lambda3_ (self, event);
+       return result;
+}
+
+
+Xcls_Window* xcls_window_construct (GType object_type) {
+       Xcls_Window * self = NULL;
+       Block1Data* _data1_;
+       GtkWindow* w = NULL;
+       GtkWindow* _tmp0_ = NULL;
+       GtkButton* b = NULL;
+       GtkButton* _tmp1_ = NULL;
+       GtkMenu* _tmp2_ = NULL;
+       Xcls_WindowXcls_MenuItem7* child_0 = NULL;
+       Xcls_WindowXcls_MenuItem7* _tmp3_ = NULL;
+       GtkMenuItem* _tmp4_ = NULL;
+       _data1_ = g_slice_new0 (Block1Data);
+       _data1_->_ref_count_ = 1;
+       self = (Xcls_Window*) g_object_new (object_type, NULL);
+       _data1_->self = g_object_ref (self);
+       _tmp0_ = (GtkWindow*) gtk_window_new (GTK_WINDOW_TOPLEVEL);
+       g_object_ref_sink (_tmp0_);
+       w = _tmp0_;
+       _tmp1_ = (GtkButton*) gtk_button_new_with_label ("Click me (0)");
+       g_object_ref_sink (_tmp1_);
+       b = _tmp1_;
+       gtk_container_add ((GtkContainer*) w, (GtkWidget*) b);
+       _tmp2_ = (GtkMenu*) gtk_menu_new ();
+       g_object_ref_sink (_tmp2_);
+       _data1_->leftmenu = _tmp2_;
+       g_signal_connect_data ((GtkWidget*) b, "button-press-event", (GCallback) ___lambda3__gtk_widget_button_press_event, block1_data_ref (_data1_), (GClosureNotify) block1_data_unref, 0);
+       _tmp3_ = xcls_window_xcls_menuitem7_new ();
+       child_0 = _tmp3_;
+       xcls_window_xcls_menuitem7_init (child_0, self);
+       _tmp4_ = child_0->el;
+       gtk_menu_shell_append ((GtkMenuShell*) _data1_->leftmenu, (GtkWidget*) _tmp4_);
+       gtk_widget_show_all ((GtkWidget*) _data1_->leftmenu);
+       gtk_widget_show_all ((GtkWidget*) w);
+       _g_object_unref0 (child_0);
+       _g_object_unref0 (b);
+       _g_object_unref0 (w);
+       block1_data_unref (_data1_);
+       _data1_ = NULL;
+       return self;
+}
+
+
+Xcls_Window* xcls_window_new (void) {
+       return xcls_window_construct (TYPE_XCLS_WINDOW);
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+       return self ? g_object_ref (self) : NULL;
+}
+
+
+static void __lambda4_ (Xcls_WindowXcls_MenuItem7* self) {
+       g_print ("SELECT?");
+       return;
+}
+
+
+static void ___lambda4__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
+       __lambda4_ ((Xcls_WindowXcls_MenuItem7*) self);
+}
+
+
+void xcls_window_xcls_menuitem7_init (Xcls_WindowXcls_MenuItem7* self, Xcls_Window* _owner) {
+       Xcls_Window* _tmp0_ = NULL;
+       Xcls_Window* _tmp1_ = NULL;
+       GtkMenuItem* _tmp2_ = NULL;
+       GtkMenuItem* _tmp3_ = NULL;
+       g_return_if_fail (self != NULL);
+       g_return_if_fail (_owner != NULL);
+       _tmp0_ = _owner;
+       _tmp1_ = _g_object_ref0 (_tmp0_);
+       _g_object_unref0 (self->_this);
+       self->_this = _tmp1_;
+       _tmp2_ = (GtkMenuItem*) gtk_menu_item_new_with_label ("Delete Element");
+       g_object_ref_sink (_tmp2_);
+       _g_object_unref0 (self->el);
+       self->el = _tmp2_;
+       g_print ("add activate\n");
+       _tmp3_ = self->el;
+       g_signal_connect_object (_tmp3_, "activate", (GCallback) ___lambda4__gtk_menu_item_activate, self, 0);
+}
+
+
+Xcls_WindowXcls_MenuItem7* xcls_window_xcls_menuitem7_construct (GType object_type) {
+       Xcls_WindowXcls_MenuItem7 * self = NULL;
+       self = (Xcls_WindowXcls_MenuItem7*) g_object_new (object_type, NULL);
+       return self;
+}
+
+
+Xcls_WindowXcls_MenuItem7* xcls_window_xcls_menuitem7_new (void) {
+       return xcls_window_xcls_menuitem7_construct (XCLS_WINDOW_TYPE_XCLS_MENUITEM7);
+}
+
+
+static void xcls_window_xcls_menuitem7_class_init (Xcls_WindowXcls_MenuItem7Class * klass) {
+       xcls_window_xcls_menuitem7_parent_class = g_type_class_peek_parent (klass);
+       G_OBJECT_CLASS (klass)->finalize = xcls_window_xcls_menuitem7_finalize;
+}
+
+
+static void xcls_window_xcls_menuitem7_instance_init (Xcls_WindowXcls_MenuItem7 * self) {
+}
+
+
+static void xcls_window_xcls_menuitem7_finalize (GObject* obj) {
+       Xcls_WindowXcls_MenuItem7 * self;
+       self = G_TYPE_CHECK_INSTANCE_CAST (obj, XCLS_WINDOW_TYPE_XCLS_MENUITEM7, Xcls_WindowXcls_MenuItem7);
+       _g_object_unref0 (self->el);
+       _g_object_unref0 (self->_this);
+       G_OBJECT_CLASS (xcls_window_xcls_menuitem7_parent_class)->finalize (obj);
+}
+
+
+GType xcls_window_xcls_menuitem7_get_type (void) {
+       static volatile gsize xcls_window_xcls_menuitem7_type_id__volatile = 0;
+       if (g_once_init_enter (&xcls_window_xcls_menuitem7_type_id__volatile)) {
+               static const GTypeInfo g_define_type_info = { sizeof (Xcls_WindowXcls_MenuItem7Class), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) xcls_window_xcls_menuitem7_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Xcls_WindowXcls_MenuItem7), 0, (GInstanceInitFunc) xcls_window_xcls_menuitem7_instance_init, NULL };
+               GType xcls_window_xcls_menuitem7_type_id;
+               xcls_window_xcls_menuitem7_type_id = g_type_register_static (G_TYPE_OBJECT, "Xcls_WindowXcls_MenuItem7", &g_define_type_info, 0);
+               g_once_init_leave (&xcls_window_xcls_menuitem7_type_id__volatile, xcls_window_xcls_menuitem7_type_id);
+       }
+       return xcls_window_xcls_menuitem7_type_id__volatile;
+}
+
+
+static void xcls_window_class_init (Xcls_WindowClass * klass) {
+       xcls_window_parent_class = g_type_class_peek_parent (klass);
+}
+
+
+static void xcls_window_instance_init (Xcls_Window * self) {
+}
+
+
+GType xcls_window_get_type (void) {
+       static volatile gsize xcls_window_type_id__volatile = 0;
+       if (g_once_init_enter (&xcls_window_type_id__volatile)) {
+               static const GTypeInfo g_define_type_info = { sizeof (Xcls_WindowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) xcls_window_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Xcls_Window), 0, (GInstanceInitFunc) xcls_window_instance_init, NULL };
+               GType xcls_window_type_id;
+               xcls_window_type_id = g_type_register_static (G_TYPE_OBJECT, "Xcls_Window", &g_define_type_info, 0);
+               g_once_init_leave (&xcls_window_type_id__volatile, xcls_window_type_id);
+       }
+       return xcls_window_type_id__volatile;
+}
+
+
+