1/* $Id: relationset.hg,v 1.3 2005/01/05 18:21:30 murrayc Exp $ */
2
3/* Copyright (C) 1998-2002 The gtkmm Development Team
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free
17 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 */
19
20
21#include <atkmm/relation.h>
22#include <atkmm/object.h>
23
24_DEFS(atkmm,atk)
25_PINCLUDE(glibmm/private/object_p.h)
26
27namespace Atk
28{
29
30/** A set of Atk::Relations, normally the set of AtkRelations which an Atk::Object has.
31 */
32class RelationSet : public Glib::Object
33{
34  _CLASS_GOBJECT(RelationSet, AtkRelationSet, ATK_RELATION_SET, Glib::Object, GObject)
35protected:
36  _CTOR_DEFAULT
37
38public:
39  _WRAP_CREATE()
40
41  _WRAP_METHOD(bool set_contains(RelationType relationship), atk_relation_set_contains)
42  _WRAP_METHOD(void set_remove(const Glib::RefPtr<Relation>& relation), atk_relation_set_remove)
43  _WRAP_METHOD(void set_add(const Glib::RefPtr<Relation>& relation), atk_relation_set_add)
44  _WRAP_METHOD(int get_n_relations() const, atk_relation_set_get_n_relations)
45  _WRAP_METHOD(Glib::RefPtr<Relation> get_relation(gint i), atk_relation_set_get_relation, refreturn)
46  _WRAP_METHOD(Glib::RefPtr<Relation> get_relation(RelationType relationship), atk_relation_set_get_relation_by_type, refreturn)
47
48  _WRAP_METHOD(void add_relation_by_type(RelationType relationship, const Glib::RefPtr<Atk::Object>& target), atk_relation_set_add_relation_by_type)
49};
50
51} // namespace Atk
52
53