diff options
| author | Ted Gould <ted@gould.cx> | 2006-05-02 05:27:56 +0000 |
|---|---|---|
| committer | gouldtj <gouldtj@users.sourceforge.net> | 2006-05-02 05:27:56 +0000 |
| commit | 1dcf253149818904079c685de17c51aef75f2492 (patch) | |
| tree | e0c6f531f7e33637de6ad38f03a3f64b3878832a /src/extension/parameter.cpp | |
| parent | r11513@tres: ted | 2006-04-24 21:43:16 -0700 (diff) | |
| download | inkscape-1dcf253149818904079c685de17c51aef75f2492.tar.gz inkscape-1dcf253149818904079c685de17c51aef75f2492.zip | |
r11514@tres: ted | 2006-04-24 22:19:54 -0700
Added in some helper functions.
(bzr r684)
Diffstat (limited to 'src/extension/parameter.cpp')
| -rw-r--r-- | src/extension/parameter.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/extension/parameter.cpp b/src/extension/parameter.cpp index 0e67d96c8..00bc8369a 100644 --- a/src/extension/parameter.cpp +++ b/src/extension/parameter.cpp @@ -24,6 +24,8 @@ #include "extension.h" #include "prefs-utils.h" +#include "document-private.h" +#include "sp-object.h" #include "parameter.h" @@ -510,6 +512,37 @@ Parameter::pref_name (void) return g_strdup_printf("%s.%s", extension->get_id(), _name); } +/** \brief Build the name to write the parameter in a node object. This + requires the inkscape namespace and the other info. */ +gchar * +Parameter::node_name (void) +{ + return g_strdup_printf("inkscape:extension-param-%s-%s", extension->get_id(), _name); +} + +Inkscape::XML::Node * +Parameter::document_param_node (SPDocument * doc) +{ + Inkscape::XML::Node * defs = SP_OBJECT_REPR(SP_DOCUMENT_DEFS(doc)); + Inkscape::XML::Node * params = NULL; + + for (Inkscape::XML::Node * child = defs->firstChild(); + child != NULL; + child = child->next()) { + if (!strcmp(child->name(), "inkscape:extension-param")) { + params = child; + break; + } + } + + if (params == NULL) { + params = sp_repr_new("inkscape:extension-param"); + defs->appendChild(params); + } + + return params; +} + /** \brief Basically, if there is no widget pass a NULL. */ Gtk::Widget * Parameter::get_widget (void) |
