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);
23 var w = new Gtk.Window( );
25 var b = new Gtk.Button.with_label ("Click me (0)");
27 var leftmenu = new Gtk.Menu();
29 this.el.button_press_event.connect( ( ev) => {
31 if (ev.type != Gdk.EventType.BUTTON_PRESS || ev.button != 3) {
36 //leftmenu.el.set_screen(Gdk.Screen.get_default());
38 leftmenu.popup(null, null, null, ev.button, ev.time);
47 var child_0 = new Xcls_button(); child_0.init(__this);
48 this.el.add ( child_0.el );
49 __this.LeftTreeMenu = new Xcls_LeftTreeMenu();
50 __this.LeftTreeMenu.init(__this);
58 // skip xvala_id - not pipe
59 public class Xcls_button : Object
62 private Xcls_WindowLeftTree __this;
65 public void init(Xcls_WindowLeftTree _owner)
68 this.el = new Gtk.Button.with_label ("Click me (0)");
75 this.el.button_press_event.connect( ( ev) => {
76 //console.log("button press?");
80 if (ev.type != Gdk.EventType.BUTTON_PRESS || ev.button != 3) {
81 //print("click" + ev.type);
86 __this.LeftTreeMenu.el.set_screen(Gdk.Screen.get_default());
88 __this.LeftTreeMenu.el.popup(null, null, null, ev.button, ev.time);
90 // print("click:" + res.path.to_string());
102 public class Xcls_LeftTreeMenu : Object
105 private Xcls_WindowLeftTree __this;
111 public void init(Xcls_WindowLeftTree _owner)
114 print("Xcls_LeftTreeMenu:Ctor called\n");
118 this.el = new Gtk.Menu();
119 __this.LeftTreeMenu = this;
123 // set gobject values
124 var child_0 = new Xcls_MenuItem7();
125 child_0.init(__this);
126 this.el.append ( child_0.el );
128 var child_1 = new Xcls_MenuItem8();
129 child_1.init(__this);
130 this.el.append ( child_1.el );
136 public class Xcls_MenuItem7
138 public Gtk.MenuItem el;
139 private Xcls_WindowLeftTree __this;
146 public void init(Xcls_WindowLeftTree _owner) {
150 this.el = new Gtk.MenuItem.with_label("Delete Element");
153 // set gobject values
154 //this.el.label = "Delete Element";
158 print("add activate\n");
159 this.el.activate.connect( ( ) => {
168 public class Xcls_MenuItem8 : Object
170 public Gtk.MenuItem el;
171 private Xcls_WindowLeftTree __this;
177 public void init(Xcls_WindowLeftTree _owner)
180 this.el = new Gtk.MenuItem();
185 // set gobject values
186 this.el.label = "Save as Template";
189 this.el.activate.connect( () => {