[gnome-devel-docs] Added submenu to example MenuButton Vala example.



commit f24d6aeea80cb05aae0c1999383551c3b3c29e3f
Author: Tiffany Antopolski <tiffany antopolski gmail com>
Date:   Thu Aug 2 12:10:10 2012 +0200

    Added submenu to example MenuButton Vala example.

 platform-demos/C/samples/menubutton.vala |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)
---
diff --git a/platform-demos/C/samples/menubutton.vala b/platform-demos/C/samples/menubutton.vala
index 4c11a6b..fd37008 100644
--- a/platform-demos/C/samples/menubutton.vala
+++ b/platform-demos/C/samples/menubutton.vala
@@ -6,15 +6,31 @@ public class MyWindow : Gtk.ApplicationWindow {
 		var grid = new Gtk.Grid ();
 
 		var menubutton = new Gtk.MenuButton();
-		menubutton.set_size_request(80, 35);
+		menubutton.set_size_request (80, 35);
 
 		var menumodel = new Menu ();
 		menumodel.append ("New", "app.new");
+		menumodel.append ("About", "win.about");
+
+		/* We create the last item as a MenuItem, so that
+		 * a submenu can be appended to this menu item.
+		 */
+		var submenu = new Menu ();
+		menumodel.append_submenu ("Other", submenu);
+		submenu.append ("Quit", "app.quit");
 		menubutton.set_menu_model (menumodel);
 
+		var about_action = new SimpleAction ("about", null);
+		about_action.activate.connect (this.about_cb);
+		this.add_action (about_action);
+
 		this.add(grid);
 		grid.attach(menubutton, 0, 0, 1, 1);
 	}
+
+	void about_cb (SimpleAction simple, Variant? parameter) {
+		print ("You clicked \"About\"\n");
+	}
 }
 
 public class MyApplication : Gtk.Application {
@@ -24,16 +40,20 @@ public class MyApplication : Gtk.Application {
 
 	internal MyApplication () {
 		Object (application_id: "org.example.MyApplication");
-
 	}
 
-    /* Override the 'startup' signal of GLib.Application. */
+	/* Override the 'startup' signal of GLib.Application. */
 	protected override void startup () {
 		base.startup ();
+
 		var new_action = new SimpleAction ("new", null);
 		new_action.activate.connect (this.new_cb);
 		this.add_action (new_action);
-}
+
+		var quit_action = new SimpleAction ("quit", null);
+		quit_action.activate.connect (this.quit);
+		this.add_action (quit_action);
+	}
 
 	void new_cb (SimpleAction simple, Variant? parameter) {
 		print ("You clicked \"New\"\n");



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]