2 valac --pkg gio-2.0 --pkg posix --pkg gtk+-3.0 \
3 menu.vala -o /tmp/menutest
8 static int main (string[] args) {
10 new Xcls_WindowLeftTree();
11 WindowLeftTree.show_all();
17 int main (string[] args) {
20 GLib.Log.set_always_fatal(LogLevelFlags.LEVEL_ERROR | LogLevelFlags.LEVEL_CRITICAL);
22 var a = new Xcls_WindowLeftTree();
32 public static Xcls_WindowLeftTree WindowLeftTree;
34 public class Xcls_WindowLeftTree : Object
37 private Xcls_WindowLeftTree _this;
38 public Xcls_button button;
39 public Xcls_LeftTreeMenu LeftTreeMenu;
45 this.el = new Gtk.Window( );
47 WindowLeftTree = this;
53 var child_0 = new Xcls_button(); child_0.init(_this);
54 this.el.add ( child_0.el );
55 _this.LeftTreeMenu = new Xcls_LeftTreeMenu(_this);
63 // skip xvala_id - not pipe
64 public class Xcls_button : Object
67 private Xcls_WindowLeftTree _this;
70 public void init(Xcls_WindowLeftTree _owner)
73 this.el = new Gtk.Button.with_label ("Click me (0)");
80 this.el.button_press_event.connect( ( ev) => {
81 //console.log("button press?");
85 if (ev.type != Gdk.EventType.BUTTON_PRESS || ev.button != 3) {
86 //print("click" + ev.type);
91 //_this.LeftTreeMenu.el.set_screen(Gdk.Screen.get_default());
93 _this.LeftTreeMenu.el.popup(null, null, null, ev.button, ev.time);
95 // print("click:" + res.path.to_string());
107 public class Xcls_LeftTreeMenu : Object
110 private Xcls_WindowLeftTree _this;
116 public void init(Xcls_WindowLeftTree _owner)
119 print("Xcls_LeftTreeMenu:Ctor called\n");
123 this.el = new Gtk.Menu();
124 _this.LeftTreeMenu = this;
128 // set gobject values
129 var child_0 = new Xcls_MenuItem7(_this);
130 child_0.initListeners();
131 this.el.append ( child_0.el );
133 var child_1 = new Xcls_MenuItem8(_this);
134 this.el.append ( child_1.el );
140 public class Xcls_MenuItem7 : Object
142 public Gtk.MenuItem el;
143 private Xcls_WindowLeftTree _this;
150 public void init(Xcls_WindowLeftTree _owner) {
154 this.el = new Gtk.MenuItem.with_label("Delete Element");
157 // set gobject values
158 //this.el.label = "Delete Element";
162 print("add activate\n");
163 this.el.activate.connect( ( ) => {
172 public class Xcls_MenuItem8 : Object
174 public Gtk.MenuItem el;
175 private Xcls_WindowLeftTree _this;
181 public Xcls_MenuItem8(Xcls_WindowLeftTree _owner)
184 this.el = new Gtk.MenuItem();
189 // set gobject values
190 this.el.label = "Save as Template";
193 this.el.activate.connect( () => {