summaryrefslogtreecommitdiffstats
path: root/src/sp-string.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sp-string.cpp')
-rw-r--r--src/sp-string.cpp41
1 files changed, 7 insertions, 34 deletions
diff --git a/src/sp-string.cpp b/src/sp-string.cpp
index 3512aa45a..2fe84ac6a 100644
--- a/src/sp-string.cpp
+++ b/src/sp-string.cpp
@@ -37,37 +37,12 @@
# SPSTRING
#####################################################*/
-static void sp_string_class_init(SPStringClass *classname);
-static void sp_string_init(SPString *string);
-
static void sp_string_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_string_release(SPObject *object);
static void sp_string_read_content(SPObject *object);
static void sp_string_update(SPObject *object, SPCtx *ctx, unsigned flags);
-static SPObjectClass *string_parent_class;
-
-GType
-sp_string_get_type()
-{
- static GType type = 0;
- if (!type) {
- GTypeInfo info = {
- sizeof(SPStringClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) sp_string_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof(SPString),
- 16, /* n_preallocs */
- (GInstanceInitFunc) sp_string_init,
- NULL, /* value_table */
- };
- type = g_type_register_static(SP_TYPE_OBJECT, "SPString", &info, (GTypeFlags)0);
- }
- return type;
-}
+G_DEFINE_TYPE(SPString, sp_string, SP_TYPE_OBJECT);
static void
sp_string_class_init(SPStringClass *classname)
@@ -76,8 +51,6 @@ sp_string_class_init(SPStringClass *classname)
sp_object_class = (SPObjectClass *) classname;
- string_parent_class = (SPObjectClass*)g_type_class_ref(SP_TYPE_OBJECT);
-
sp_object_class->build = sp_string_build;
sp_object_class->release = sp_string_release;
sp_object_class->read_content = sp_string_read_content;
@@ -95,8 +68,8 @@ sp_string_build(SPObject *object, SPDocument *doc, Inkscape::XML::Node *repr)
{
sp_string_read_content(object);
- if (((SPObjectClass *) string_parent_class)->build)
- ((SPObjectClass *) string_parent_class)->build(object, doc, repr);
+ if (((SPObjectClass *) sp_string_parent_class)->build)
+ ((SPObjectClass *) sp_string_parent_class)->build(object, doc, repr);
}
static void
@@ -106,8 +79,8 @@ sp_string_release(SPObject *object)
string->string.~ustring();
- if (((SPObjectClass *) string_parent_class)->release)
- ((SPObjectClass *) string_parent_class)->release(object);
+ if (((SPObjectClass *) sp_string_parent_class)->release)
+ ((SPObjectClass *) sp_string_parent_class)->release(object);
}
static void
@@ -156,8 +129,8 @@ sp_string_read_content(SPObject *object)
static void
sp_string_update(SPObject *object, SPCtx *ctx, unsigned flags)
{
- if (((SPObjectClass *) string_parent_class)->update)
- ((SPObjectClass *) string_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_string_parent_class)->update)
+ ((SPObjectClass *) sp_string_parent_class)->update(object, ctx, flags);
if (flags & (SP_OBJECT_STYLE_MODIFIED_FLAG | SP_OBJECT_MODIFIED_FLAG)) {
/* Parent style or we ourselves changed, so recalculate */