1/* Copyright (C) 2011 The giomm Development Team
2 *
3 * This library is free software; you can redistribute it and/or
4 * modify it under the terms of the GNU Lesser General Public
5 * License as published by the Free Software Foundation; either
6 * version 2.1 of the License, or (at your option) any later version.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 * Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public
14 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
15 */
16
17_CONFIGINCLUDE(giommconfig.h)
18
19#include <giomm/actionmap.h>
20#include <giomm/actiongroup.h>
21
22_DEFS(giomm,gio)
23_PINCLUDE(glibmm/private/object_p.h)
24
25namespace Gio
26{
27
28class GIOMM_API Action;
29
30/** SimpleActionGroup - A simple ActionGroup implementation.
31 * SimpleActionGroup is a hash table filled with Action objects, implementing
32 * the ActionGroup interface.
33 *
34 * @newin{2,32}
35 */
36class GIOMM_API SimpleActionGroup : public Glib::Object,
37                                    public ActionGroup,
38                                    public ActionMap
39{
40  _CLASS_GOBJECT(SimpleActionGroup, GSimpleActionGroup, G_SIMPLE_ACTION_GROUP, Glib::Object, GObject, , , GIOMM_API)
41  _IMPLEMENTS_INTERFACE(ActionGroup)
42  _IMPLEMENTS_INTERFACE(ActionMap)
43
44protected:
45  _CTOR_DEFAULT()
46
47public:
48  _WRAP_METHOD_DOCS_ONLY(g_simple_action_group_new)
49  _WRAP_CREATE()
50
51  _WRAP_METHOD(Glib::RefPtr<Action> lookup(const Glib::ustring& action_name), g_simple_action_group_lookup, refreturn, deprecated "Use ActionMap::lookup_action() instead")
52  _WRAP_METHOD(Glib::RefPtr<const Action> lookup(const Glib::ustring& action_name) const, g_simple_action_group_lookup, refreturn, constversion, deprecated "Use ActionMap::lookup_action() instead")
53
54  _WRAP_METHOD(void insert(const Glib::RefPtr<Action>& action), g_simple_action_group_insert, deprecated "Use ActionMap::add_action() instead")
55  _WRAP_METHOD(void remove(const Glib::ustring& action_name), g_simple_action_group_remove, deprecated "Use ActionMap::remove_action() instead")
56
57  _IGNORE(g_simple_action_group_add_entries) // deprecated
58};
59
60} // namespace Gio
61