Actions

Créez tout d'abord un objet Action et ajoutez-le à un ActionGroup avec ActionGroup::add().

Les paramètres de Action::create() définissent le nom de l'action et la manière dont celle-ci apparaîtra dans les menus et barres d'outils. Utilisez des éléments du catalogue si possible ; ainsi, il ne vous sera pas nécessaire de préciser l'étiquette, le raccourci clavier, l'icône et les infobulles ; de plus, vous bénéficierez des traductions existantes.

Vous pouvez également indiquer le gestionnaire de signal lors de l'appel à ActionGroup::add(). Ce gestionnaire de signal sera appelé quand l'action sera activée par l'intermédiaire, soit de l'élément de menu, soit du bouton de la barre d'outils.

Notez que vous devez définir des actions pour les éléments de sous-menus de la même manière que pour les menus.

Par exemple :

m_refActionGroup = Gtk::ActionGroup::create();

m_refActionGroup->add( Gtk::Action::create("MenuFile", "_File") );
m_refActionGroup->add( Gtk::Action::create("New", Gtk::Stock::NEW),
  sigc::mem_fun(*this, &ExampleWindow::on_action_file_new) );
m_refActionGroup->add( Gtk::Action::create("ExportData", "Export Data"),
  sigc::mem_fun(*this, &ExampleWindow::on_action_file_open) );
m_refActionGroup->add( Gtk::Action::create("Quit", Gtk::Stock::QUIT),
  sigc::mem_fun(*this, &ExampleWindow::on_action_file_quit) );

Notez que les noms des actions, tels qu'ils seront vus par l'utilisateur dans les menus et les barres d'outils, est précisé ici. En les plaçant dans la macro _(), ces chaînes pourront être traduites. Quand vous utilisez les éléments du catalogue Gtk::Stock, les traductions sont, bien entendu, automatiquement accessibles.