1 #ifndef SEEN_SP_OBJECTGROUP_H
2 #define SEEN_SP_OBJECTGROUP_H
4 /*
5 * Abstract base class for non-item groups
6 *
7 * Author:
8 * Lauris Kaplinski <lauris@kaplinski.com>
9 * Abhishek Sharma
10 *
11 * Copyright (C) 1999-2003 Authors
12 * Copyright (C) 2001-2002 Ximian, Inc.
13 *
14 * Released under GNU GPL, read the file 'COPYING' for more information
15 */
17 #include "sp-object.h"
19 #define SP_TYPE_OBJECTGROUP (SPObjectGroup::sp_objectgroup_get_type ())
20 #define SP_OBJECTGROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_OBJECTGROUP, SPObjectGroup))
21 #define SP_OBJECTGROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_OBJECTGROUP, SPObjectGroupClass))
22 #define SP_IS_OBJECTGROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_OBJECTGROUP))
23 #define SP_IS_OBJECTGROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_OBJECTGROUP))
25 class SPObjectGroup : public SPObject {
26 public:
27 static GType sp_objectgroup_get_type(void);
29 private:
30 static void init(SPObjectGroup *objectgroup);
32 static void childAdded(SPObject * object, Inkscape::XML::Node * child, Inkscape::XML::Node * ref);
33 static void removeChild(SPObject * object, Inkscape::XML::Node * child);
34 static void orderChanged(SPObject * object, Inkscape::XML::Node * child, Inkscape::XML::Node * old_ref, Inkscape::XML::Node * new_ref);
35 static Inkscape::XML::Node *write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
37 friend class SPObjectGroupClass;
38 };
40 class SPObjectGroupClass {
41 public:
42 SPObjectClass parent_class;
44 private:
45 static void sp_objectgroup_class_init(SPObjectGroupClass *klass);
46 static SPObjectClass *static_parent_class;
48 friend class SPObjectGroup;
49 };
51 #endif // SEEN_SP_OBJECTGROUP_H
52 /*
53 Local Variables:
54 mode:c++
55 c-file-style:"stroustrup"
56 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
57 indent-tabs-mode:nil
58 fill-column:99
59 End:
60 */
61 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :