1 /* menu.c generated by valac 0.24.0, the Vala compiler
2 * generated from menu.vala, do not modify */
5 valac --pkg gio-2.0 --pkg posix --pkg gtk+-3.0 \
6 menu.vala -o /tmp/menutest
9 static int main (string[] args) {
11 new Xcls_WindowLeftTree();
12 WindowLeftTree.show_all();
19 #include <glib-object.h>
26 #define TYPE_XCLS_WINDOW (xcls_window_get_type ())
27 #define XCLS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_XCLS_WINDOW, Xcls_Window))
28 #define XCLS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_XCLS_WINDOW, Xcls_WindowClass))
29 #define IS_XCLS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_XCLS_WINDOW))
30 #define IS_XCLS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_XCLS_WINDOW))
31 #define XCLS_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_XCLS_WINDOW, Xcls_WindowClass))
33 typedef struct _Xcls_Window Xcls_Window;
34 typedef struct _Xcls_WindowClass Xcls_WindowClass;
35 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
36 typedef struct _Xcls_WindowPrivate Xcls_WindowPrivate;
37 typedef struct _Block1Data Block1Data;
39 #define XCLS_WINDOW_TYPE_XCLS_MENUITEM7 (xcls_window_xcls_menuitem7_get_type ())
40 #define XCLS_WINDOW_XCLS_MENUITEM7(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XCLS_WINDOW_TYPE_XCLS_MENUITEM7, Xcls_WindowXcls_MenuItem7))
41 #define XCLS_WINDOW_XCLS_MENUITEM7_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XCLS_WINDOW_TYPE_XCLS_MENUITEM7, Xcls_WindowXcls_MenuItem7Class))
42 #define XCLS_WINDOW_IS_XCLS_MENUITEM7(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XCLS_WINDOW_TYPE_XCLS_MENUITEM7))
43 #define XCLS_WINDOW_IS_XCLS_MENUITEM7_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XCLS_WINDOW_TYPE_XCLS_MENUITEM7))
44 #define XCLS_WINDOW_XCLS_MENUITEM7_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XCLS_WINDOW_TYPE_XCLS_MENUITEM7, Xcls_WindowXcls_MenuItem7Class))
46 typedef struct _Xcls_WindowXcls_MenuItem7 Xcls_WindowXcls_MenuItem7;
47 typedef struct _Xcls_WindowXcls_MenuItem7Class Xcls_WindowXcls_MenuItem7Class;
48 typedef struct _Xcls_WindowXcls_MenuItem7Private Xcls_WindowXcls_MenuItem7Private;
51 GObject parent_instance;
52 Xcls_WindowPrivate * priv;
55 struct _Xcls_WindowClass {
56 GObjectClass parent_class;
65 struct _Xcls_WindowXcls_MenuItem7 {
66 GObject parent_instance;
67 Xcls_WindowXcls_MenuItem7Private * priv;
72 struct _Xcls_WindowXcls_MenuItem7Class {
73 GObjectClass parent_class;
77 static gpointer xcls_window_parent_class = NULL;
78 static gpointer xcls_window_xcls_menuitem7_parent_class = NULL;
80 gint _vala_main (gchar** args, int args_length1);
81 Xcls_Window* xcls_window_new (void);
82 Xcls_Window* xcls_window_construct (GType object_type);
83 GType xcls_window_get_type (void) G_GNUC_CONST;
85 XCLS_WINDOW_DUMMY_PROPERTY
87 static Block1Data* block1_data_ref (Block1Data* _data1_);
88 static void block1_data_unref (void * _userdata_);
89 static gboolean __lambda3_ (Block1Data* _data1_, GdkEventButton* ev);
90 static gboolean ___lambda3__gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self);
91 GType xcls_window_xcls_menuitem7_get_type (void) G_GNUC_CONST;
92 Xcls_WindowXcls_MenuItem7* xcls_window_xcls_menuitem7_new (void);
93 Xcls_WindowXcls_MenuItem7* xcls_window_xcls_menuitem7_construct (GType object_type);
94 void xcls_window_xcls_menuitem7_init (Xcls_WindowXcls_MenuItem7* self, Xcls_Window* _owner);
96 XCLS_WINDOW_XCLS_MENUITEM7_DUMMY_PROPERTY
98 static void __lambda4_ (Xcls_WindowXcls_MenuItem7* self);
99 static void ___lambda4__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self);
100 static void xcls_window_xcls_menuitem7_finalize (GObject* obj);
103 gint _vala_main (gchar** args, int args_length1) {
105 Xcls_Window* _tmp0_ = NULL;
106 Xcls_Window* _tmp1_ = NULL;
107 gtk_init (&args_length1, &args);
108 g_log_set_always_fatal (G_LOG_LEVEL_ERROR | G_LOG_LEVEL_CRITICAL);
109 _tmp0_ = xcls_window_new ();
111 _g_object_unref0 (_tmp1_);
118 int main (int argc, char ** argv) {
119 #if !GLIB_CHECK_VERSION (2,35,0)
122 return _vala_main (argv, argc);
126 static Block1Data* block1_data_ref (Block1Data* _data1_) {
127 g_atomic_int_inc (&_data1_->_ref_count_);
132 static void block1_data_unref (void * _userdata_) {
134 _data1_ = (Block1Data*) _userdata_;
135 if (g_atomic_int_dec_and_test (&_data1_->_ref_count_)) {
137 self = _data1_->self;
138 _g_object_unref0 (_data1_->leftmenu);
139 _g_object_unref0 (self);
140 g_slice_free (Block1Data, _data1_);
145 static gboolean __lambda3_ (Block1Data* _data1_, GdkEventButton* ev) {
147 gboolean result = FALSE;
148 gboolean _tmp0_ = FALSE;
149 GdkEventButton* _tmp1_ = NULL;
150 GdkEventType _tmp2_ = 0;
151 GdkEventButton* _tmp5_ = NULL;
153 GdkEventButton* _tmp7_ = NULL;
155 self = _data1_->self;
156 g_return_val_if_fail (ev != NULL, FALSE);
158 _tmp2_ = _tmp1_->type;
159 if (_tmp2_ != GDK_BUTTON_PRESS) {
162 GdkEventButton* _tmp3_ = NULL;
165 _tmp4_ = _tmp3_->button;
166 _tmp0_ = _tmp4_ != ((guint) 3);
173 _tmp6_ = _tmp5_->button;
175 _tmp8_ = _tmp7_->time;
176 gtk_menu_popup (_data1_->leftmenu, NULL, NULL, NULL, NULL, _tmp6_, _tmp8_);
182 static gboolean ___lambda3__gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) {
184 result = __lambda3_ (self, event);
189 Xcls_Window* xcls_window_construct (GType object_type) {
190 Xcls_Window * self = NULL;
193 GtkWindow* _tmp0_ = NULL;
195 GtkButton* _tmp1_ = NULL;
196 GtkMenu* _tmp2_ = NULL;
197 Xcls_WindowXcls_MenuItem7* child_0 = NULL;
198 Xcls_WindowXcls_MenuItem7* _tmp3_ = NULL;
199 GtkMenuItem* _tmp4_ = NULL;
200 _data1_ = g_slice_new0 (Block1Data);
201 _data1_->_ref_count_ = 1;
202 self = (Xcls_Window*) g_object_new (object_type, NULL);
203 _data1_->self = g_object_ref (self);
204 _tmp0_ = (GtkWindow*) gtk_window_new (GTK_WINDOW_TOPLEVEL);
205 g_object_ref_sink (_tmp0_);
207 _tmp1_ = (GtkButton*) gtk_button_new_with_label ("Click me (0)");
208 g_object_ref_sink (_tmp1_);
210 gtk_container_add ((GtkContainer*) w, (GtkWidget*) b);
211 _tmp2_ = (GtkMenu*) gtk_menu_new ();
212 g_object_ref_sink (_tmp2_);
213 _data1_->leftmenu = _tmp2_;
214 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);
215 _tmp3_ = xcls_window_xcls_menuitem7_new ();
217 xcls_window_xcls_menuitem7_init (child_0, self);
218 _tmp4_ = child_0->el;
219 gtk_menu_shell_append ((GtkMenuShell*) _data1_->leftmenu, (GtkWidget*) _tmp4_);
220 gtk_widget_show_all ((GtkWidget*) _data1_->leftmenu);
221 gtk_widget_show_all ((GtkWidget*) w);
222 _g_object_unref0 (child_0);
223 _g_object_unref0 (b);
224 _g_object_unref0 (w);
225 block1_data_unref (_data1_);
231 Xcls_Window* xcls_window_new (void) {
232 return xcls_window_construct (TYPE_XCLS_WINDOW);
236 static gpointer _g_object_ref0 (gpointer self) {
237 return self ? g_object_ref (self) : NULL;
241 static void __lambda4_ (Xcls_WindowXcls_MenuItem7* self) {
247 static void ___lambda4__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) {
248 __lambda4_ ((Xcls_WindowXcls_MenuItem7*) self);
252 void xcls_window_xcls_menuitem7_init (Xcls_WindowXcls_MenuItem7* self, Xcls_Window* _owner) {
253 Xcls_Window* _tmp0_ = NULL;
254 Xcls_Window* _tmp1_ = NULL;
255 GtkMenuItem* el = NULL;
256 GtkMenuItem* _tmp2_ = NULL;
257 GtkMenuItem* _tmp3_ = NULL;
258 GtkMenuItem* _tmp4_ = NULL;
259 g_return_if_fail (self != NULL);
260 g_return_if_fail (_owner != NULL);
262 _tmp1_ = _g_object_ref0 (_tmp0_);
263 _g_object_unref0 (self->_this);
264 self->_this = _tmp1_;
265 _tmp2_ = (GtkMenuItem*) gtk_menu_item_new_with_label ("Delete Element");
266 g_object_ref_sink (_tmp2_);
268 _tmp3_ = _g_object_ref0 (el);
269 _g_object_unref0 (self->el);
271 g_print ("add activate\n");
273 g_signal_connect_object (_tmp4_, "activate", (GCallback) ___lambda4__gtk_menu_item_activate, self, 0);
274 _g_object_unref0 (el);
278 Xcls_WindowXcls_MenuItem7* xcls_window_xcls_menuitem7_construct (GType object_type) {
279 Xcls_WindowXcls_MenuItem7 * self = NULL;
280 self = (Xcls_WindowXcls_MenuItem7*) g_object_new (object_type, NULL);
285 Xcls_WindowXcls_MenuItem7* xcls_window_xcls_menuitem7_new (void) {
286 return xcls_window_xcls_menuitem7_construct (XCLS_WINDOW_TYPE_XCLS_MENUITEM7);
290 static void xcls_window_xcls_menuitem7_class_init (Xcls_WindowXcls_MenuItem7Class * klass) {
291 xcls_window_xcls_menuitem7_parent_class = g_type_class_peek_parent (klass);
292 G_OBJECT_CLASS (klass)->finalize = xcls_window_xcls_menuitem7_finalize;
296 static void xcls_window_xcls_menuitem7_instance_init (Xcls_WindowXcls_MenuItem7 * self) {
300 static void xcls_window_xcls_menuitem7_finalize (GObject* obj) {
301 Xcls_WindowXcls_MenuItem7 * self;
302 self = G_TYPE_CHECK_INSTANCE_CAST (obj, XCLS_WINDOW_TYPE_XCLS_MENUITEM7, Xcls_WindowXcls_MenuItem7);
303 _g_object_unref0 (self->el);
304 _g_object_unref0 (self->_this);
305 G_OBJECT_CLASS (xcls_window_xcls_menuitem7_parent_class)->finalize (obj);
309 GType xcls_window_xcls_menuitem7_get_type (void) {
310 static volatile gsize xcls_window_xcls_menuitem7_type_id__volatile = 0;
311 if (g_once_init_enter (&xcls_window_xcls_menuitem7_type_id__volatile)) {
312 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 };
313 GType xcls_window_xcls_menuitem7_type_id;
314 xcls_window_xcls_menuitem7_type_id = g_type_register_static (G_TYPE_OBJECT, "Xcls_WindowXcls_MenuItem7", &g_define_type_info, 0);
315 g_once_init_leave (&xcls_window_xcls_menuitem7_type_id__volatile, xcls_window_xcls_menuitem7_type_id);
317 return xcls_window_xcls_menuitem7_type_id__volatile;
321 static void xcls_window_class_init (Xcls_WindowClass * klass) {
322 xcls_window_parent_class = g_type_class_peek_parent (klass);
326 static void xcls_window_instance_init (Xcls_Window * self) {
330 GType xcls_window_get_type (void) {
331 static volatile gsize xcls_window_type_id__volatile = 0;
332 if (g_once_init_enter (&xcls_window_type_id__volatile)) {
333 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 };
334 GType xcls_window_type_id;
335 xcls_window_type_id = g_type_register_static (G_TYPE_OBJECT, "Xcls_Window", &g_define_type_info, 0);
336 g_once_init_leave (&xcls_window_type_id__volatile, xcls_window_type_id);
338 return xcls_window_type_id__volatile;