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();
33 public static Xcls_WindowLeftTree WindowLeftTree;
35 public class Xcls_WindowLeftTree : Object
38 private Xcls_WindowLeftTree _this;
39 public Xcls_button button;
40 public Xcls_LeftTreeMenu LeftTreeMenu;
46 this.el = new Gtk.Window( );
48 WindowLeftTree = this;
54 var child_0 = new Xcls_button(); child_0.init(_this);
55 this.el.add ( child_0.el );
56 _this.LeftTreeMenu = new Xcls_LeftTreeMenu();
57 _this.LeftTreeMenu.init(_this);
65 // skip xvala_id - not pipe
66 public class Xcls_button : Object
69 private Xcls_WindowLeftTree _this;
72 public void init(Xcls_WindowLeftTree _owner)
75 this.el = new Gtk.Button.with_label ("Click me (0)");
82 this.el.button_press_event.connect( ( ev) => {
83 //console.log("button press?");
87 if (ev.type != Gdk.EventType.BUTTON_PRESS || ev.button != 3) {
88 //print("click" + ev.type);
93 //_this.LeftTreeMenu.el.set_screen(Gdk.Screen.get_default());
95 _this.LeftTreeMenu.el.popup(null, null, null, ev.button, ev.time);
97 // print("click:" + res.path.to_string());
109 public class Xcls_LeftTreeMenu : Object
112 private Xcls_WindowLeftTree _this;
118 public void init(Xcls_WindowLeftTree _owner)
121 print("Xcls_LeftTreeMenu:Ctor called\n");
125 this.el = new Gtk.Menu();
126 _this.LeftTreeMenu = this;
130 // set gobject values
131 var child_0 = new Xcls_MenuItem7();
133 this.el.append ( child_0.el );
135 var child_1 = new Xcls_MenuItem8(_this);
137 this.el.append ( child_1.el );
143 public class Xcls_MenuItem7 : Object
145 public Gtk.MenuItem el;
146 private Xcls_WindowLeftTree _this;
153 public void init(Xcls_WindowLeftTree _owner) {
157 this.el = new Gtk.MenuItem.with_label("Delete Element");
160 // set gobject values
161 //this.el.label = "Delete Element";
165 print("add activate\n");
166 this.el.activate.connect( ( ) => {
175 public class Xcls_MenuItem8 : Object
177 public Gtk.MenuItem el;
178 private Xcls_WindowLeftTree _this;
184 public void init(Xcls_WindowLeftTree _owner)
187 this.el = new Gtk.MenuItem();
192 // set gobject values
193 this.el.label = "Save as Template";
196 this.el.activate.connect( () => {