/* Copyright (C) 2000-2007 Paul Davis This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef __libgtkmm2ext_actions_h__ #define __libgtkmm2ext_actions_h__ #include #include #include #include #include #include namespace Gtk { class UIManager; } namespace ActionManager { extern std::string unbound_string; /* the key string returned if an action is not bound */ extern Glib::RefPtr ui_manager; extern void set_sensitive (std::vector >& actions, bool); extern std::string get_key_representation (const std::string& accel_path, Gtk::AccelKey& key); extern Gtk::Widget* get_widget (const char * name); extern Glib::RefPtr get_action (const char* group, const char* name); extern Glib::RefPtr get_action (const char* path); extern void do_action (const char* group, const char* name); extern void add_action_group (Glib::RefPtr); extern Glib::RefPtr register_action (Glib::RefPtr group, const char * name, const char * label); extern Glib::RefPtr register_action (Glib::RefPtr group, const char * name, const char * label, sigc::slot sl, guint key, Gdk::ModifierType mods); extern Glib::RefPtr register_action (Glib::RefPtr group, const char * name, const char * label, sigc::slot sl); extern Glib::RefPtr register_radio_action (Glib::RefPtr group, Gtk::RadioAction::Group&, const char * name, const char * label, sigc::slot sl, guint key, Gdk::ModifierType mods); extern Glib::RefPtr register_radio_action (Glib::RefPtr group, Gtk::RadioAction::Group&, const char * name, const char * label, sigc::slot sl); extern Glib::RefPtr register_radio_action (Glib::RefPtr group, Gtk::RadioAction::Group&, std::string const &, std::string const &, std::string const &, sigc::slot sl); extern Glib::RefPtr register_toggle_action (Glib::RefPtr group, const char * name, const char * label, sigc::slot sl, guint key, Gdk::ModifierType mods); extern Glib::RefPtr register_toggle_action (Glib::RefPtr group, std::string const &, std::string const &, std::string const &, sigc::slot sl); extern Glib::RefPtr register_toggle_action (Glib::RefPtr group, const char * name, const char * label, sigc::slot sl); extern bool lookup_entry (const Glib::ustring accel_path, Gtk::AccelKey& key); extern void get_all_actions (std::vector& names, std::vector& paths, std::vector& tooltips, std::vector& keys, std::vector& bindings); extern void get_all_actions (std::vector& groups, std::vector& paths, std::vector& tooltips, std::vector& bindings); extern void uncheck_toggleaction (std::string); }; #endif /* __libgtkmm2ext_actions_h__ */