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();
56 _this.LeftTreeMenu.init();
64 // skip xvala_id - not pipe
65 public class Xcls_button : Object
68 private Xcls_WindowLeftTree _this;
71 public void init(Xcls_WindowLeftTree _owner)
74 this.el = new Gtk.Button.with_label ("Click me (0)");
81 this.el.button_press_event.connect( ( ev) => {
82 //console.log("button press?");
86 if (ev.type != Gdk.EventType.BUTTON_PRESS || ev.button != 3) {
87 //print("click" + ev.type);
92 //_this.LeftTreeMenu.el.set_screen(Gdk.Screen.get_default());
94 _this.LeftTreeMenu.el.popup(null, null, null, ev.button, ev.time);
96 // print("click:" + res.path.to_string());
108 public class Xcls_LeftTreeMenu : Object
111 private Xcls_WindowLeftTree _this;
117 public void init(Xcls_WindowLeftTree _owner)
120 print("Xcls_LeftTreeMenu:Ctor called\n");
124 this.el = new Gtk.Menu();
125 _this.LeftTreeMenu = this;
129 // set gobject values
130 var child_0 = new Xcls_MenuItem7();
132 this.el.append ( child_0.el );
134 var child_1 = new Xcls_MenuItem8(_this);
136 this.el.append ( child_1.el );
142 public class Xcls_MenuItem7 : Object
144 public Gtk.MenuItem el;
145 private Xcls_WindowLeftTree _this;
152 public void init(Xcls_WindowLeftTree _owner) {
156 this.el = new Gtk.MenuItem.with_label("Delete Element");
159 // set gobject values
160 //this.el.label = "Delete Element";
164 print("add activate\n");
165 this.el.activate.connect( ( ) => {
174 public class Xcls_MenuItem8 : Object
176 public Gtk.MenuItem el;
177 private Xcls_WindowLeftTree _this;
183 public void init(Xcls_WindowLeftTree _owner)
186 this.el = new Gtk.MenuItem();
191 // set gobject values
192 this.el.label = "Save as Template";
195 this.el.activate.connect( () => {