diff options
Diffstat (limited to 'src/sp-script.cpp')
| -rw-r--r-- | src/sp-script.cpp | 41 |
1 files changed, 7 insertions, 34 deletions
diff --git a/src/sp-script.cpp b/src/sp-script.cpp index f18d231b0..736ddb4c9 100644 --- a/src/sp-script.cpp +++ b/src/sp-script.cpp @@ -16,9 +16,6 @@ #include <cstring> #include "document.h" -static void sp_script_class_init(SPScriptClass *sc); -static void sp_script_init(SPScript *script); - static void sp_script_release(SPObject *object); static void sp_script_update(SPObject *object, SPCtx *ctx, guint flags); static void sp_script_modified(SPObject *object, guint flags); @@ -26,34 +23,10 @@ static void sp_script_set(SPObject *object, unsigned int key, gchar const *value static void sp_script_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr); static Inkscape::XML::Node *sp_script_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags); -static SPObjectClass *parent_class; - -GType sp_script_get_type(void) -{ - static GType script_type = 0; - - if (!script_type) { - GTypeInfo script_info = { - sizeof(SPScriptClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) sp_script_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof(SPScript), - 16, /* n_preallocs */ - (GInstanceInitFunc) sp_script_init, - NULL, /* value_table */ - }; - script_type = g_type_register_static(SP_TYPE_OBJECT, "SPScript", &script_info, (GTypeFlags) 0); - } - - return script_type; -} +G_DEFINE_TYPE(SPScript, sp_script, SP_TYPE_OBJECT); static void sp_script_class_init(SPScriptClass *sc) { - parent_class = (SPObjectClass *) g_type_class_ref(SP_TYPE_OBJECT); SPObjectClass *sp_object_class = (SPObjectClass *) sc; sp_object_class->build = sp_script_build; @@ -78,8 +51,8 @@ static void sp_script_init(SPScript */*script*/) static void sp_script_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr) { - if (((SPObjectClass *) parent_class)->build) { - ((SPObjectClass *) parent_class)->build(object, document, repr); + if (((SPObjectClass *) sp_script_parent_class)->build) { + ((SPObjectClass *) sp_script_parent_class)->build(object, document, repr); } //Read values of key attributes from XML nodes into object. @@ -95,8 +68,8 @@ static void sp_script_release(SPObject *object) object->document->removeResource("script", object); } - if (((SPObjectClass *) parent_class)->release) { - ((SPObjectClass *) parent_class)->release(object); + if (((SPObjectClass *) sp_script_parent_class)->release) { + ((SPObjectClass *) sp_script_parent_class)->release(object); } } @@ -120,8 +93,8 @@ sp_script_set(SPObject *object, unsigned int key, gchar const *value) object->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); break; default: - if (((SPObjectClass *) parent_class)->set) - ((SPObjectClass *) parent_class)->set(object, key, value); + if (((SPObjectClass *) sp_script_parent_class)->set) + ((SPObjectClass *) sp_script_parent_class)->set(object, key, value); break; } } |
