# GMenu (Vala)

Ryan Lortie
desrt@desrt.ca 2012
Tiffany Antopolski
tiffany.antopolski@gmail.com
Μια απλή υλοποίηση του GMenuModel
Δημήτρης Σπίγγος
dmtrs32@gmail.com 2012, 2013

# GMenu

Χρειάζεται να τρέξετε το Gtk+-3.4 ή μεταγενέστερο για να δουλέψει αυτό

Μια GtkApplication με ένα απλό GMenu και SimpleActions

/* A window in the application. */ public class Window : Gtk.ApplicationWindow {

/* Constructor */ public Window (Application app) { Object (application: app, title: "Gmenu Example");

var about_action = new SimpleAction ("about", null);

/* Connect the 'activate' signal to the * signal handler (aka. callback). */ about_action.activate.connect (this.about_cb);

/* Add the action to this window. */ this.add_action (about_action);

this.show (); }

/* Signal handler for 'activate' signal of the SimpleAction. */ void about_cb (SimpleAction simple, Variant? parameter) { print ("This does nothing. It is only a demonstration.\n"); } }

/* This is the Application. */ public class Application : Gtk.Application {

/* Constructor */ public Application () { Object (application_id: "org.example.application"); }

/* Override the 'activate' signal of GLib.Application. */ protected override void activate () {

/* Create a new window for this application. */ new Window (this); }

/* Override the 'startup' signal of GLib.Application. */ protected override void startup () { base.startup ();

var menu = new Menu (); menu.append ("About", "win.about"); menu.append ("Quit", "app.quit"); this.app_menu = menu;

var quit_action = new SimpleAction ("quit", null); quit_action.activate.connect (this.quit); this.add_action (quit_action); } }

/* main function creates Application and runs it. */ int main (string[] args) { return new Application ().run (args); }

Σε αυτό το παράδειγμα χρησιμοποιήσαμε τα παρακάτω:

Gtk.Application

Gtk.ApplicationWindow

Menu

append

SimpleAction

add_action