summaryrefslogtreecommitdiffstats
path: root/src/extension/parameter.cpp
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2006-05-02 05:27:56 +0000
committergouldtj <gouldtj@users.sourceforge.net>2006-05-02 05:27:56 +0000
commit1dcf253149818904079c685de17c51aef75f2492 (patch)
treee0c6f531f7e33637de6ad38f03a3f64b3878832a /src/extension/parameter.cpp
parentr11513@tres: ted | 2006-04-24 21:43:16 -0700 (diff)
downloadinkscape-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.cpp33
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)