summaryrefslogtreecommitdiffstats
path: root/src/sp-object-group.cpp
diff options
context:
space:
mode:
authorMarkus Engel <markus.engel@tum.de>2013-03-29 23:52:42 +0000
committerMarkus Engel <markus.engel@tum.de>2013-03-29 23:52:42 +0000
commita168040d5a452544328a1e6ad35aaac351f94d44 (patch)
treefae1ba829f543a473da281bd5fa6e4deabbf6912 /src/sp-object-group.cpp
parentRemoved function pointers from SPObject and subclasses. (diff)
parentDutch translation update (diff)
downloadinkscape-a168040d5a452544328a1e6ad35aaac351f94d44.tar.gz
inkscape-a168040d5a452544328a1e6ad35aaac351f94d44.zip
merged from trunk
(bzr r11608.1.56)
Diffstat (limited to 'src/sp-object-group.cpp')
-rw-r--r--src/sp-object-group.cpp63
1 files changed, 11 insertions, 52 deletions
diff --git a/src/sp-object-group.cpp b/src/sp-object-group.cpp
index e18755ea2..a4ada0120 100644
--- a/src/sp-object-group.cpp
+++ b/src/sp-object-group.cpp
@@ -16,40 +16,21 @@
#include "xml/repr.h"
#include "document.h"
-SPObjectClass * SPObjectGroupClass::static_parent_class = 0;
-GType SPObjectGroup::sp_objectgroup_get_type(void)
+G_DEFINE_TYPE(SPObjectGroup, sp_objectgroup, SP_TYPE_OBJECT);
+
+static void
+sp_objectgroup_class_init(SPObjectGroupClass *klass)
{
- static GType objectgroup_type = 0;
- if (!objectgroup_type) {
- GTypeInfo objectgroup_info = {
- sizeof(SPObjectGroupClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) SPObjectGroupClass::sp_objectgroup_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof(SPObjectGroup),
- 16, /* n_preallocs */
- (GInstanceInitFunc) init,
- NULL, /* value_table */
- };
- objectgroup_type = g_type_register_static(SP_TYPE_OBJECT, "SPObjectGroup", &objectgroup_info, (GTypeFlags)0);
- }
- return objectgroup_type;
}
-void SPObjectGroupClass::sp_objectgroup_class_init(SPObjectGroupClass *klass)
+static void
+sp_objectgroup_init(SPObjectGroup * objectgroup)
{
- //GObjectClass * object_class = (GObjectClass *) klass;
- SPObjectClass * sp_object_class = (SPObjectClass *) klass;
-
- static_parent_class = (SPObjectClass *)g_type_class_ref(SP_TYPE_OBJECT);
+ objectgroup->cobjectgroup = new CObjectGroup(objectgroup);
-// sp_object_class->child_added = SPObjectGroup::childAdded;
-// sp_object_class->remove_child = SPObjectGroup::removeChild;
-// sp_object_class->order_changed = SPObjectGroup::orderChanged;
-// sp_object_class->write = SPObjectGroup::write;
+ delete objectgroup->cobject;
+ objectgroup->cobject = objectgroup->cobjectgroup;
}
CObjectGroup::CObjectGroup(SPObjectGroup* gr) : CObject(gr) {
@@ -59,11 +40,6 @@ CObjectGroup::CObjectGroup(SPObjectGroup* gr) : CObject(gr) {
CObjectGroup::~CObjectGroup() {
}
-void SPObjectGroup::init(SPObjectGroup * objectgroup)
-{
- objectgroup->cobjectgroup = new CObjectGroup(objectgroup);
- objectgroup->cobject = objectgroup->cobjectgroup;
-}
void CObjectGroup::onChildAdded(Inkscape::XML::Node *child, Inkscape::XML::Node *ref) {
SPObjectGroup* object = this->spobjectgroup;
@@ -73,10 +49,6 @@ void CObjectGroup::onChildAdded(Inkscape::XML::Node *child, Inkscape::XML::Node
object->requestModified(SP_OBJECT_MODIFIED_FLAG);
}
-void SPObjectGroup::childAdded(SPObject *object, Inkscape::XML::Node *child, Inkscape::XML::Node *ref)
-{
- ((SPObjectGroup*)object)->cobjectgroup->onChildAdded(child, ref);
-}
void CObjectGroup::onRemoveChild(Inkscape::XML::Node *child) {
SPObjectGroup* object = this->spobjectgroup;
@@ -86,10 +58,6 @@ void CObjectGroup::onRemoveChild(Inkscape::XML::Node *child) {
object->requestModified(SP_OBJECT_MODIFIED_FLAG);
}
-void SPObjectGroup::removeChild(SPObject *object, Inkscape::XML::Node *child)
-{
- ((SPObjectGroup*)object)->cobjectgroup->onRemoveChild(child);
-}
void CObjectGroup::onOrderChanged(Inkscape::XML::Node *child, Inkscape::XML::Node *old_ref, Inkscape::XML::Node *new_ref) {
SPObjectGroup* object = this->spobjectgroup;
@@ -99,10 +67,6 @@ void CObjectGroup::onOrderChanged(Inkscape::XML::Node *child, Inkscape::XML::Nod
object->requestModified(SP_OBJECT_MODIFIED_FLAG);
}
-void SPObjectGroup::orderChanged(SPObject *object, Inkscape::XML::Node *child, Inkscape::XML::Node *old_ref, Inkscape::XML::Node *new_ref)
-{
- ((SPObjectGroup*)object)->cobjectgroup->onOrderChanged(child, old_ref, new_ref);
-}
Inkscape::XML::Node *CObjectGroup::onWrite(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, guint flags) {
SPObjectGroup* object = this->spobjectgroup;
@@ -119,8 +83,8 @@ Inkscape::XML::Node *CObjectGroup::onWrite(Inkscape::XML::Document *xml_doc, Ink
}
}
while (l) {
- repr->addChild((Inkscape::XML::Node *) l->data, NULL);
- Inkscape::GC::release((Inkscape::XML::Node *) l->data);
+ repr->addChild(static_cast<Inkscape::XML::Node *>(l->data), NULL);
+ Inkscape::GC::release(static_cast<Inkscape::XML::Node *>(l->data));
l = g_slist_remove(l, l->data);
}
} else {
@@ -134,11 +98,6 @@ Inkscape::XML::Node *CObjectGroup::onWrite(Inkscape::XML::Document *xml_doc, Ink
return repr;
}
-Inkscape::XML::Node *SPObjectGroup::write(SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, guint flags)
-{
- return ((SPObjectGroup*)object)->cobjectgroup->onWrite(xml_doc, repr, flags);
-}
-
/*
Local Variables:
mode:c++