summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 13d912e)
raw | patch | inline | side by side (parent: 13d912e)
| author | johanengelen <johanengelen@users.sourceforge.net> | |
| Wed, 27 Feb 2008 09:21:24 +0000 (09:21 +0000) | ||
| committer | johanengelen <johanengelen@users.sourceforge.net> | |
| Wed, 27 Feb 2008 09:21:24 +0000 (09:21 +0000) |
index 825a935adc93d0babac69cf0c9210fc498d0391a..84f09aedb37b644f44f79a43606f84160ea8a97b 100644 (file)
delete out;
retlist.insert(retlist.end(), param_string);
+
+ // insert parameters subparameters if any (for example notebook parameter has subparams)
+ param->insert_subparam_strings(retlist);
}
- //g_message("paramstring=%s", param_string->c_str());
return;
}
index 19cd75ecd021426d776a32cb9237921bb5d61936..308b0b88e8cdb1b3869185871d3a040186d54ebb 100644 (file)
static Parameter * make (Inkscape::XML::Node * in_repr, Inkscape::Extension::Extension * in_ext);
virtual Gtk::Widget * get_widget (SPDocument * doc, Inkscape::XML::Node * node, sigc::signal<void> * changeSignal);
virtual Glib::ustring * string (void);
+ virtual void insert_subparam_strings(std::list <std::string> &retlist) {};
gchar const * get_tooltip (void) { return _desc; }
};
index 80a17b95b64c1e577ef3d884560f82477b4ed7f1..288186c8f42a96460f28a4620a6357966f3cdc15 100644 (file)
ParamNotebookPage(const gchar * name, const gchar * guitext, const gchar * desc, const Parameter::_scope_t scope, Inkscape::Extension::Extension * ext, Inkscape::XML::Node * xml);
~ParamNotebookPage(void);
Gtk::Widget * get_widget(SPDocument * doc, Inkscape::XML::Node * node, sigc::signal<void> * changeSignal);
- Glib::ustring * paramString (void);
+ void insert_subparam_strings (std::list <std::string> &retlist);
gchar * get_guitext (void) {return _text;};
}; /* class ParamNotebookPage */
g_slist_free(parameters);
}
-/** \brief Return the value as a string */
-Glib::ustring *
-ParamNotebookPage::paramString (void)
+/**
+ \brief A function to get the subparameters in a string form
+ \return An array with all the subparameters in it.
+
+ Look how this closely resembles Extension::paramListString
+*/
+void
+ParamNotebookPage::insert_subparam_strings (std::list <std::string> &retlist)
{
- Glib::ustring * param_string = new Glib::ustring("");
-
for (GSList * list = parameters; list != NULL; list = g_slist_next(list)) {
Parameter * param = reinterpret_cast<Parameter *>(list->data);
- *param_string += " --";
- *param_string += param->name();
- *param_string += "=";
- Glib::ustring * paramstr = param->string();
- *param_string += *paramstr;
- delete paramstr;
+ std::string param_string;
+ param_string += "--";
+ param_string += param->name();
+ param_string += "=";
+ Glib::ustring * out = param->string();
+ param_string += *out;
+ delete out;
+
+ retlist.insert(retlist.end(), param_string);
}
- return param_string;
+ return;
}
-
/**
\return None
\brief This function creates a page that can be used later. This
@@ -310,16 +315,8 @@ ParamNotebook::set (const int in, SPDocument * doc, Inkscape::XML::Node * node)
/**
- \brief A function to get the currentpage and the parameters in a string form
- \return A string with the 'value' and all the parameters on all pages as command line arguments
-
- This is really a hack. The function is called by Extension::paramString() to build
- the commandline string like: '--param1name=\"param1value\" --param2name=\"param2value\" ...'
- Extension::paramString expects this function to return '\"param1value\"'; but instead,
- this function returns: '\"param1value\" --page1param1name=\"page1param1value\" ...'
-
- \TODO Do this better. For example, make Parameter::paramString() that returns '--name=\"value\"'
- instead of just returning '\"value\"'.
+ \brief A function to get the currentpage in a string form
+ \return A string with the 'value'
*/
Glib::ustring *
ParamNotebook::string (void)
*param_string += _value; // the name of the current page
*param_string += "\"";
+ return param_string;
+}
+
+/**
+ \brief A function to get the subparameters in a string form
+ \return An array with all the subparameters in it.
+*/
+void
+ParamNotebook::insert_subparam_strings (std::list <std::string> &retlist)
+{
for (GSList * list = pages; list != NULL; list = g_slist_next(list)) {
ParamNotebookPage * page = reinterpret_cast<ParamNotebookPage *>(list->data);
- Glib::ustring * pageparamstr = page->paramString();
- *param_string += *pageparamstr;
- delete pageparamstr;
+ page->insert_subparam_strings(retlist);
}
- return param_string;
+ return;
}
/** \brief A special category of Gtk::Notebook to handle notebook parameters */
index 7aebfd97faa4b3bcc2b116db06cb8ae287ec4912..78d56777cc2c537437cd3d4052df08060e8676ce 100644 (file)
virtual ~ParamNotebook(void);
Gtk::Widget * get_widget(SPDocument * doc, Inkscape::XML::Node * node, sigc::signal<void> * changeSignal);
Glib::ustring * string (void);
+ virtual void insert_subparam_strings(std::list <std::string> &retlist);
const gchar * get (const SPDocument * doc, const Inkscape::XML::Node * node) { return _value; }
const gchar * set (const int in, SPDocument * doc, Inkscape::XML::Node * node);