diff options
| author | Markus Engel <markus.engel@tum.de> | 2013-03-29 23:52:42 +0000 |
|---|---|---|
| committer | Markus Engel <markus.engel@tum.de> | 2013-03-29 23:52:42 +0000 |
| commit | a168040d5a452544328a1e6ad35aaac351f94d44 (patch) | |
| tree | fae1ba829f543a473da281bd5fa6e4deabbf6912 /src/sp-script.cpp | |
| parent | Removed function pointers from SPObject and subclasses. (diff) | |
| parent | Dutch translation update (diff) | |
| download | inkscape-a168040d5a452544328a1e6ad35aaac351f94d44.tar.gz inkscape-a168040d5a452544328a1e6ad35aaac351f94d44.zip | |
merged from trunk
(bzr r11608.1.56)
Diffstat (limited to 'src/sp-script.cpp')
| -rw-r--r-- | src/sp-script.cpp | 80 |
1 files changed, 8 insertions, 72 deletions
diff --git a/src/sp-script.cpp b/src/sp-script.cpp index 0d999feca..f9c2e6493 100644 --- a/src/sp-script.cpp +++ b/src/sp-script.cpp @@ -16,52 +16,10 @@ #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); -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; -// sp_object_class->release = sp_script_release; -// sp_object_class->update = sp_script_update; -// sp_object_class->modified = sp_script_modified; -// sp_object_class->write = sp_script_write; -// sp_object_class->set = sp_script_set; } CScript::CScript(SPScript* script) : CObject(script) { @@ -74,6 +32,8 @@ CScript::~CScript() { static void sp_script_init(SPScript *script) { script->cscript = new CScript(script); + + delete script->cobject; script->cobject = script->cscript; } @@ -93,11 +53,6 @@ void CScript::onBuild(SPDocument* doc, Inkscape::XML::Node* repr) { * our name must be associated with a repr via "sp_object_type_register". Best done through * sp-object-repr.cpp's repr_name_entries array. */ -static void -sp_script_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr) -{ - ((SPScript*)object)->cscript->onBuild(document, repr); -} void CScript::onRelease() { SPScript* object = this->spscript; @@ -110,26 +65,13 @@ void CScript::onRelease() { CObject::onRelease(); } -static void sp_script_release(SPObject *object) -{ - ((SPScript*)object)->cscript->onRelease(); -} - void CScript::onUpdate(SPCtx* ctx, unsigned int flags) { - } -static void sp_script_update(SPObject */*object*/, SPCtx */*ctx*/, guint /*flags*/) -{ -} void CScript::onModified(unsigned int flags) { - } -static void sp_script_modified(SPObject */*object*/, guint /*flags*/) -{ -} void CScript::onSet(unsigned int key, const gchar* value) { SPScript* object = this->spscript; @@ -148,18 +90,12 @@ void CScript::onSet(unsigned int key, const gchar* value) { } } -static void -sp_script_set(SPObject *object, unsigned int key, gchar const *value) -{ - ((SPScript*)object)->cscript->onSet(key, value); -} - Inkscape::XML::Node* CScript::onWrite(Inkscape::XML::Document* doc, Inkscape::XML::Node* repr, guint flags) { return repr; } -static Inkscape::XML::Node *sp_script_write(SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, guint flags) -{ +//static Inkscape::XML::Node *sp_script_write(SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, guint flags) +//{ /* TODO: code copied from sp-defs @@ -195,9 +131,9 @@ TODO: (* ((SPObjectClass *) (parent_class))->write)(object, xml_doc, repr, flags); } */ - - return ((SPScript*)object)->cscript->onWrite(xml_doc, repr, flags); -} +// +// return ((SPScript*)object)->cscript->onWrite(xml_doc, repr, flags); +//} /* Local Variables: |
