summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNicolas Dufour <nicoduf@yahoo.fr>2011-08-06 18:48:21 +0000
committerJazzyNico <nicoduf@yahoo.fr>2011-08-06 18:48:21 +0000
commitec8d0b742153e4715efd13fb19607c3167cc2092 (patch)
treed26d7c4e09e293481d9cf5af322b4178f6deb605 /src
parentPatch from Yu-Jie Lin for bug 820863 to add the option to disable libwpg (diff)
downloadinkscape-ec8d0b742153e4715efd13fb19607c3167cc2092.tar.gz
inkscape-ec8d0b742153e4715efd13fb19607c3167cc2092.zip
Extensions. New "indent" attribute to add an indent level to extension elements.
Filters. Adding the new "indent" attribute to parameters groups. (bzr r10529)
Diffstat (limited to 'src')
-rw-r--r--src/extension/internal/filter/bumps.h34
-rwxr-xr-xsrc/extension/internal/filter/experimental.h20
-rw-r--r--src/extension/param/bool.cpp18
-rw-r--r--src/extension/param/bool.h1
-rw-r--r--src/extension/param/description.cpp26
-rw-r--r--src/extension/param/description.h1
-rw-r--r--src/extension/param/enum.cpp43
-rw-r--r--src/extension/param/enum.h2
-rw-r--r--src/extension/param/float.cpp41
-rw-r--r--src/extension/param/float.h1
-rw-r--r--src/extension/param/int.cpp39
-rw-r--r--src/extension/param/int.h1
-rw-r--r--src/extension/param/radiobutton.cpp41
-rw-r--r--src/extension/param/radiobutton.h2
-rw-r--r--src/extension/param/string.cpp40
-rw-r--r--src/extension/param/string.h1
16 files changed, 210 insertions, 101 deletions
diff --git a/src/extension/internal/filter/bumps.h b/src/extension/internal/filter/bumps.h
index 3591377be..b52581844 100644
--- a/src/extension/internal/filter/bumps.h
+++ b/src/extension/internal/filter/bumps.h
@@ -84,10 +84,10 @@ public:
"<param name=\"simplifyBump\" gui-text=\"" N_("Bump simplification:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"10.00\">0.01</param>\n"
"<param name=\"crop\" gui-text=\"" N_("Crop:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-1.\" max=\"1.\">0</param>\n"
"<_param name=\"sourceHeader\" type=\"description\" appearance=\"header\">Bump source</_param>\n"
- "<param name=\"red\" gui-text=\"" N_("Red:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-50.\" max=\"50.\">0</param>\n"
- "<param name=\"green\" gui-text=\"" N_("Green:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-50.\" max=\"50.\">0</param>\n"
- "<param name=\"blue\" gui-text=\"" N_("Blue:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-50.\" max=\"50.\">0</param>\n"
- "<param name=\"background\" gui-text=\"" N_("Bump from background") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"red\" gui-text=\"" N_("Red:") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-50.\" max=\"50.\">0</param>\n"
+ "<param name=\"green\" gui-text=\"" N_("Green:") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-50.\" max=\"50.\">0</param>\n"
+ "<param name=\"blue\" gui-text=\"" N_("Blue:") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-50.\" max=\"50.\">0</param>\n"
+ "<param name=\"background\" gui-text=\"" N_("Bump from background") "\" indent=\"1\" type=\"boolean\">false</param>\n"
"</page>\n"
"<page name=\"lightingtab\" _gui-text=\"Lighting\">\n"
"<param name=\"lightType\" gui-text=\"" N_("Lighting type:") "\" type=\"enum\">\n"
@@ -106,21 +106,21 @@ public:
"<_item value=\"spot\">" N_("Spot") "</_item>\n"
"</param>\n"
"<_param name=\"distantHeader\" type=\"description\" appearance=\"header\">Distant light options</_param>\n"
- "<param name=\"distantAzimuth\" gui-text=\"" N_("Azimuth:") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">225</param>\n"
- "<param name=\"distantElevation\" gui-text=\"" N_("Elevation:") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"180\">45</param>\n"
+ "<param name=\"distantAzimuth\" gui-text=\"" N_("Azimuth:") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"360\">225</param>\n"
+ "<param name=\"distantElevation\" gui-text=\"" N_("Elevation:") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"180\">45</param>\n"
"<_param name=\"pointHeader\" type=\"description\" appearance=\"header\">Point light options</_param>\n"
- "<param name=\"pointX\" gui-text=\"" N_("X location:") "\" type=\"int\" appearance=\"full\" min=\"-5000\" max=\"5000\">526</param>\n"
- "<param name=\"pointY\" gui-text=\"" N_("Y location:") "\" type=\"int\" appearance=\"full\" min=\"-5000\" max=\"5000\">372</param>\n"
- "<param name=\"pointZ\" gui-text=\"" N_("Z location:") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"5000\">150</param>\n"
+ "<param name=\"pointX\" gui-text=\"" N_("X location:") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"5000\">526</param>\n"
+ "<param name=\"pointY\" gui-text=\"" N_("Y location:") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"5000\">372</param>\n"
+ "<param name=\"pointZ\" gui-text=\"" N_("Z location:") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"5000\">150</param>\n"
"<_param name=\"spotHeader\" type=\"description\" appearance=\"header\">Spot light options</_param>\n"
- "<param name=\"spotX\" gui-text=\"" N_("X location:") "\" type=\"int\" appearance=\"full\" min=\"-5000\" max=\"5000\">526</param>\n"
- "<param name=\"spotY\" gui-text=\"" N_("Y location:") "\" type=\"int\" appearance=\"full\" min=\"-5000\" max=\"5000\">372</param>\n"
- "<param name=\"spotZ\" gui-text=\"" N_("Z location:") "\" type=\"int\" appearance=\"full\" min=\"-5000\" max=\"5000\">150</param>\n"
- "<param name=\"spotAtX\" gui-text=\"" N_("X target:") "\" type=\"int\" appearance=\"full\" min=\"-5000\" max=\"5000\">0</param>\n"
- "<param name=\"spotAtY\" gui-text=\"" N_("Y target:") "\" type=\"int\" appearance=\"full\" min=\"-5000\" max=\"5000\">0</param>\n"
- "<param name=\"spotAtZ\" gui-text=\"" N_("Z target:") "\" type=\"int\" appearance=\"full\" min=\"-5000\" max=\"0\">-1000</param>\n"
- "<param name=\"spotExponent\" gui-text=\"" N_("Specular exponent:") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"100\">1</param>\n"
- "<param name=\"spotConeAngle\" gui-text=\"" N_("Cone angle:") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"100\">50</param>\n"
+ "<param name=\"spotX\" gui-text=\"" N_("X location:") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"5000\">526</param>\n"
+ "<param name=\"spotY\" gui-text=\"" N_("Y location:") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"5000\">372</param>\n"
+ "<param name=\"spotZ\" gui-text=\"" N_("Z location:") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"5000\">150</param>\n"
+ "<param name=\"spotAtX\" gui-text=\"" N_("X target:") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"5000\">0</param>\n"
+ "<param name=\"spotAtY\" gui-text=\"" N_("Y target:") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"5000\">0</param>\n"
+ "<param name=\"spotAtZ\" gui-text=\"" N_("Z target:") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"0\">-1000</param>\n"
+ "<param name=\"spotExponent\" gui-text=\"" N_("Specular exponent:") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"1\" max=\"100\">1</param>\n"
+ "<param name=\"spotConeAngle\" gui-text=\"" N_("Cone angle:") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"100\">50</param>\n"
"</page>\n"
"<page name=\"colortab\" _gui-text=\"Color bump\">\n"
"<param name=\"imageColor\" gui-text=\"" N_("Image color") "\" type=\"color\">-987158017</param>\n"
diff --git a/src/extension/internal/filter/experimental.h b/src/extension/internal/filter/experimental.h
index 3dbb6a76d..2032cb513 100755
--- a/src/extension/internal/filter/experimental.h
+++ b/src/extension/internal/filter/experimental.h
@@ -332,18 +332,18 @@ public:
"<param name=\"tab\" type=\"notebook\">\n"
"<page name=\"optionstab\" _gui-text=\"Options\">\n"
"<_param name=\"simplifyheader\" type=\"description\" appearance=\"header\">Simplify</_param>\n"
- "<param name=\"simply\" gui-text=\"" N_("Strength:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">0.6</param>\n"
- "<param name=\"clean\" gui-text=\"" N_("Clean-up:") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"500\">10</param>\n"
- "<param name=\"erase\" gui-text=\"" N_("Erase:") "\" type=\"float\" appearance=\"full\" min=\"0\" max=\"60\">0</param>\n"
- "<param name=\"translucent\" gui-text=\"" N_("Translucent") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"simply\" gui-text=\"" N_("Strength:") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">0.6</param>\n"
+ "<param name=\"clean\" gui-text=\"" N_("Clean-up:") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"1\" max=\"500\">10</param>\n"
+ "<param name=\"erase\" gui-text=\"" N_("Erase:") "\" type=\"float\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"60\">0</param>\n"
+ "<param name=\"translucent\" gui-text=\"" N_("Translucent") "\" indent=\"1\" type=\"boolean\" >false</param>\n"
"<_param name=\"smoothheader\" type=\"description\" appearance=\"header\">Smoothness</_param>\n"
- "<param name=\"smooth\" gui-text=\"" N_("Strength:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">0.6</param>\n"
- "<param name=\"dilat\" gui-text=\"" N_("Dilatation:") "\" type=\"float\" appearance=\"full\" min=\"1\" max=\"50\">6</param>\n"
- "<param name=\"erosion\" gui-text=\"" N_("Erosion:") "\" type=\"float\" appearance=\"full\" min=\"0\" max=\"50\">2</param>\n"
+ "<param name=\"smooth\" gui-text=\"" N_("Strength:") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">0.6</param>\n"
+ "<param name=\"dilat\" gui-text=\"" N_("Dilatation:") "\" type=\"float\" indent=\"1\" appearance=\"full\" min=\"1\" max=\"50\">6</param>\n"
+ "<param name=\"erosion\" gui-text=\"" N_("Erosion:") "\" type=\"float\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"50\">2</param>\n"
"<_param name=\"meltheader\" type=\"description\" appearance=\"header\">Melt</_param>\n"
- "<param name=\"blur\" gui-text=\"" N_("Level:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">1</param>\n"
- "<param name=\"bdilat\" gui-text=\"" N_("Dilatation:") "\" type=\"float\" appearance=\"full\" min=\"1\" max=\"50\">6</param>\n"
- "<param name=\"berosion\" gui-text=\"" N_("Erosion:") "\" type=\"float\" appearance=\"full\" min=\"0\" max=\"50\">2</param>\n"
+ "<param name=\"blur\" gui-text=\"" N_("Level:") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">1</param>\n"
+ "<param name=\"bdilat\" gui-text=\"" N_("Dilatation:") "\" type=\"float\" indent=\"1\" appearance=\"full\" min=\"1\" max=\"50\">6</param>\n"
+ "<param name=\"berosion\" gui-text=\"" N_("Erosion:") "\" type=\"float\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"50\">2</param>\n"
"</page>\n"
"<page name=\"co11tab\" _gui-text=\"Fill color\">\n"
"<param name=\"fcolor\" gui-text=\"" N_("Fill color") "\" type=\"color\">-1515870721</param>\n"
diff --git a/src/extension/param/bool.cpp b/src/extension/param/bool.cpp
index a8a410382..36ea9c556 100644
--- a/src/extension/param/bool.cpp
+++ b/src/extension/param/bool.cpp
@@ -23,11 +23,13 @@ namespace Extension {
/** \brief Use the superclass' allocator and set the \c _value */
ParamBool::ParamBool (const gchar * name, const gchar * guitext, const gchar * desc, const Parameter::_scope_t scope, bool gui_hidden, const gchar * gui_tip, Inkscape::Extension::Extension * ext, Inkscape::XML::Node * xml) :
- Parameter(name, guitext, desc, scope, gui_hidden, gui_tip, ext), _value(false)
+ Parameter(name, guitext, desc, scope, gui_hidden, gui_tip, ext),
+ _value(false), _indent(0)
{
const char * defaultval = NULL;
- if (sp_repr_children(xml) != NULL)
+ if (sp_repr_children(xml) != NULL) {
defaultval = sp_repr_children(xml)->content();
+ }
if (defaultval != NULL && (!strcmp(defaultval, "true") || !strcmp(defaultval, "true") || !strcmp(defaultval, "1"))) {
_value = true;
@@ -35,6 +37,11 @@ ParamBool::ParamBool (const gchar * name, const gchar * guitext, const gchar * d
_value = false;
}
+ const char * indent = xml->attribute("indent");
+ if (indent != NULL) {
+ _indent = atoi(indent) * 12;
+ }
+
gchar * pref_name = this->pref_name();
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
_value = prefs->getBool(extension_pref_root + pref_name, _value);
@@ -134,7 +141,10 @@ ParamBool::string (std::string &string)
Gtk::Widget *
ParamBool::get_widget (SPDocument * doc, Inkscape::XML::Node * node, sigc::signal<void> * changeSignal)
{
- if (_gui_hidden) return NULL;
+ if (_gui_hidden) {
+ return NULL;
+ }
+
Gtk::HBox * hbox = Gtk::manage(new Gtk::HBox(false, 4));
Gtk::Label * label = Gtk::manage(new Gtk::Label(_(_text), Gtk::ALIGN_LEFT));
@@ -143,7 +153,7 @@ ParamBool::get_widget (SPDocument * doc, Inkscape::XML::Node * node, sigc::signa
ParamBoolCheckButton * checkbox = Gtk::manage(new ParamBoolCheckButton(this, doc, node, changeSignal));
checkbox->show();
- hbox->pack_start(*checkbox, false, false);
+ hbox->pack_start(*checkbox, false, false, _indent);
hbox->show();
diff --git a/src/extension/param/bool.h b/src/extension/param/bool.h
index a1cd4ce4a..964778f8f 100644
--- a/src/extension/param/bool.h
+++ b/src/extension/param/bool.h
@@ -20,6 +20,7 @@ class ParamBool : public Parameter {
private:
/** \brief Internal value. */
bool _value;
+ int _indent;
public:
ParamBool(const gchar * name, const gchar * guitext, const gchar * desc, const Parameter::_scope_t scope, bool gui_hidden, const gchar * gui_tip, Inkscape::Extension::Extension * ext, Inkscape::XML::Node * xml);
bool get (const SPDocument * doc, const Inkscape::XML::Node * node);
diff --git a/src/extension/param/description.cpp b/src/extension/param/description.cpp
index 049b7d5a3..7a68aff62 100644
--- a/src/extension/param/description.cpp
+++ b/src/extension/param/description.cpp
@@ -39,18 +39,26 @@ ParamDescription::ParamDescription (const gchar * name,
Inkscape::Extension::Extension * ext,
Inkscape::XML::Node * xml,
AppearanceMode mode) :
- Parameter(name, guitext, desc, scope, gui_hidden, gui_tip, ext), _value(NULL), _mode(mode)
+ Parameter(name, guitext, desc, scope, gui_hidden, gui_tip, ext),
+ _value(NULL), _mode(mode), _indent(0)
{
// printf("Building Description\n");
const char * defaultval = NULL;
- if (sp_repr_children(xml) != NULL)
+ if (sp_repr_children(xml) != NULL) {
defaultval = sp_repr_children(xml)->content();
+ }
- if (defaultval != NULL)
+ if (defaultval != NULL) {
_value = g_strdup(defaultval);
-
+ }
+
_context = xml->attribute("msgctxt");
-
+
+ const char * indent = xml->attribute("indent");
+ if (indent != NULL) {
+ _indent = atoi(indent) * 12;
+ }
+
return;
}
@@ -58,7 +66,9 @@ ParamDescription::ParamDescription (const gchar * name,
Gtk::Widget *
ParamDescription::get_widget (SPDocument * /*doc*/, Inkscape::XML::Node * /*node*/, sigc::signal<void> * /*changeSignal*/)
{
- if (_gui_hidden) return NULL;
+ if (_gui_hidden) {
+ return NULL;
+ }
Glib::ustring newguitext;
@@ -69,12 +79,12 @@ ParamDescription::get_widget (SPDocument * /*doc*/, Inkscape::XML::Node * /*node
}
Gtk::Label * label;
- int padding = 12;
+ int padding = 12 + _indent;
if (_mode == HEADER) {
label = Gtk::manage(new Gtk::Label(Glib::ustring("<b>") +newguitext + Glib::ustring("</b>"), Gtk::ALIGN_LEFT));
label->set_padding(0,5);
label->set_use_markup(true);
- padding = 0;
+ padding = _indent;
} else {
label = Gtk::manage(new Gtk::Label(newguitext, Gtk::ALIGN_LEFT));
}
diff --git a/src/extension/param/description.h b/src/extension/param/description.h
index c34e4ee38..a33ff719a 100644
--- a/src/extension/param/description.h
+++ b/src/extension/param/description.h
@@ -36,6 +36,7 @@ private:
/** \brief Internal value. */
gchar * _value;
AppearanceMode _mode;
+ int _indent;
const gchar* _context;
};
diff --git a/src/extension/param/enum.cpp b/src/extension/param/enum.cpp
index 9ed5aac16..e25559eeb 100644
--- a/src/extension/param/enum.cpp
+++ b/src/extension/param/enum.cpp
@@ -49,7 +49,7 @@ public:
ParamComboBox::ParamComboBox (const gchar * name, const gchar * guitext, const gchar * desc, const Parameter::_scope_t scope, bool gui_hidden, const gchar * gui_tip, Inkscape::Extension::Extension * ext, Inkscape::XML::Node * xml) :
- Parameter(name, guitext, desc, scope, gui_hidden, gui_tip, ext)
+ Parameter(name, guitext, desc, scope, gui_hidden, gui_tip, ext), _indent(0)
{
choices = NULL;
_value = NULL;
@@ -62,7 +62,9 @@ ParamComboBox::ParamComboBox (const gchar * name, const gchar * guitext, const g
if (!strcmp(chname, INKSCAPE_EXTENSION_NS "item") || !strcmp(chname, INKSCAPE_EXTENSION_NS "_item")) {
Glib::ustring newguitext, newvalue;
const char * contents = NULL;
- if (node->firstChild()) contents = node->firstChild()->content();
+ if (node->firstChild()) {
+ contents = node->firstChild()->content();
+ }
if (contents != NULL) {
// don't translate when 'item' but do translate when '_item'
// NOTE: internal extensions use build_from_mem and don't need _item but
@@ -80,10 +82,11 @@ ParamComboBox::ParamComboBox (const gchar * name, const gchar * guitext, const g
continue;
const char * val = node->attribute("value");
- if (val != NULL)
+ if (val != NULL) {
newvalue = val;
- else
+ } else {
newvalue = contents;
+ }
if ( (!newguitext.empty()) && (!newvalue.empty()) ) { // logical error if this is not true here
choices = g_slist_append( choices, new enumentry(newvalue, newguitext) );
@@ -95,18 +98,26 @@ ParamComboBox::ParamComboBox (const gchar * name, const gchar * guitext, const g
// Initialize _value with the default value from xml
// for simplicity : default to the contents of the first xml-child
const char * defaultval = NULL;
- if (xml->firstChild() && xml->firstChild()->firstChild())
+ if (xml->firstChild() && xml->firstChild()->firstChild()) {
defaultval = xml->firstChild()->attribute("value");
+ }
+
+ const char * indent = xml->attribute("indent");
+ if (indent != NULL) {
+ _indent = atoi(indent) * 12;
+ }
gchar * pref_name = this->pref_name();
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
Glib::ustring paramval = prefs->getString(extension_pref_root + pref_name);
g_free(pref_name);
- if (!paramval.empty())
+ if (!paramval.empty()) {
defaultval = paramval.data();
- if (defaultval != NULL)
+ }
+ if (defaultval != NULL) {
_value = g_strdup(defaultval);
+ }
return;
}
@@ -139,7 +150,9 @@ ParamComboBox::~ParamComboBox (void)
const gchar *
ParamComboBox::set (const gchar * in, SPDocument * /*doc*/, Inkscape::XML::Node * /*node*/)
{
- if (in == NULL) return NULL; /* Can't have NULL string */
+ if (in == NULL) {
+ return NULL; /* Can't have NULL string */
+ }
Glib::ustring settext;
for (GSList * list = choices; list != NULL; list = g_slist_next(list)) {
@@ -150,7 +163,9 @@ ParamComboBox::set (const gchar * in, SPDocument * /*doc*/, Inkscape::XML::Node
}
}
if (!settext.empty()) {
- if (_value != NULL) g_free(_value);
+ if (_value != NULL) {
+ g_free(_value);
+ }
_value = g_strdup(settext.data());
gchar * prefname = this->pref_name();
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
@@ -221,13 +236,15 @@ ParamComboBoxEntry::changed (void)
Gtk::Widget *
ParamComboBox::get_widget (SPDocument * doc, Inkscape::XML::Node * node, sigc::signal<void> * changeSignal)
{
- if (_gui_hidden) return NULL;
+ if (_gui_hidden) {
+ return NULL;
+ }
Gtk::HBox * hbox = Gtk::manage(new Gtk::HBox(false, 4));
Gtk::Label * label = Gtk::manage(new Gtk::Label(_(_text), Gtk::ALIGN_LEFT));
label->show();
- hbox->pack_start(*label, false, false);
+ hbox->pack_start(*label, false, false, _indent);
ParamComboBoxEntry * combo = Gtk::manage(new ParamComboBoxEntry(this, doc, node, changeSignal));
// add choice strings:
@@ -240,7 +257,9 @@ ParamComboBox::get_widget (SPDocument * doc, Inkscape::XML::Node * node, sigc::s
settext = entr->guitext;
}
}
- if (!settext.empty()) combo->set_active_text(settext);
+ if (!settext.empty()) {
+ combo->set_active_text(settext);
+ }
combo->show();
hbox->pack_start(*combo, true, true);
diff --git a/src/extension/param/enum.h b/src/extension/param/enum.h
index 3f9707c34..6fc22e8aa 100644
--- a/src/extension/param/enum.h
+++ b/src/extension/param/enum.h
@@ -33,7 +33,7 @@ private:
been allocated in memory. And should be free'd.
It is the value of the current selected string */
gchar * _value;
-
+ int _indent;
GSList * choices; /**< A table to store the choice strings */
public:
diff --git a/src/extension/param/float.cpp b/src/extension/param/float.cpp
index 4ef816d61..ea6a70855 100644
--- a/src/extension/param/float.cpp
+++ b/src/extension/param/float.cpp
@@ -34,27 +34,31 @@ ParamFloat::ParamFloat (const gchar * name,
Inkscape::XML::Node * xml,
AppearanceMode mode) :
Parameter(name, guitext, desc, scope, gui_hidden, gui_tip, ext),
- _value(0.0), _mode(mode), _min(0.0), _max(10.0)
+ _value(0.0), _mode(mode), _indent(0), _min(0.0), _max(10.0)
{
const gchar * defaultval = NULL;
- if (sp_repr_children(xml) != NULL)
+ if (sp_repr_children(xml) != NULL) {
defaultval = sp_repr_children(xml)->content();
+ }
if (defaultval != NULL) {
_value = g_ascii_strtod (defaultval,NULL);
}
const char * maxval = xml->attribute("max");
- if (maxval != NULL)
+ if (maxval != NULL) {
_max = g_ascii_strtod (maxval,NULL);
+ }
const char * minval = xml->attribute("min");
- if (minval != NULL)
+ if (minval != NULL) {
_min = g_ascii_strtod (minval,NULL);
+ }
_precision = 1;
const char * precision = xml->attribute("precision");
- if (precision != NULL)
+ if (precision != NULL) {
_precision = atoi(precision);
+ }
/* We're handling this by just killing both values */
if (_max < _min) {
@@ -62,6 +66,11 @@ ParamFloat::ParamFloat (const gchar * name,
_min = 0.0;
}
+ const char * indent = xml->attribute("indent");
+ if (indent != NULL) {
+ _indent = atoi(indent) * 12;
+ }
+
gchar * pref_name = this->pref_name();
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
_value = prefs->getDouble(extension_pref_root + pref_name, _value);
@@ -69,8 +78,12 @@ ParamFloat::ParamFloat (const gchar * name,
// std::cout << "New Float:: value: " << _value << " max: " << _max << " min: " << _min << std::endl;
- if (_value > _max) _value = _max;
- if (_value < _min) _value = _min;
+ if (_value > _max) {
+ _value = _max;
+ }
+ if (_value < _min) {
+ _value = _min;
+ }
return;
}
@@ -88,8 +101,12 @@ float
ParamFloat::set (float in, SPDocument * /*doc*/, Inkscape::XML::Node * /*node*/)
{
_value = in;
- if (_value > _max) _value = _max;
- if (_value < _min) _value = _min;
+ if (_value > _max) {
+ _value = _max;
+ }
+ if (_value < _min) {
+ _value = _min;
+ }
gchar * prefname = this->pref_name();
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
@@ -154,13 +171,15 @@ ParamFloatAdjustment::val_changed (void)
Gtk::Widget *
ParamFloat::get_widget (SPDocument * doc, Inkscape::XML::Node * node, sigc::signal<void> * changeSignal)
{
- if (_gui_hidden) return NULL;
+ if (_gui_hidden) {
+ return NULL;
+ }
Gtk::HBox * hbox = Gtk::manage(new Gtk::HBox(false, 4));
Gtk::Label * label = Gtk::manage(new Gtk::Label(_(_text), Gtk::ALIGN_LEFT));
label->show();
- hbox->pack_start(*label, true, true);
+ hbox->pack_start(*label, true, true, _indent);
ParamFloatAdjustment * fadjust = Gtk::manage(new ParamFloatAdjustment(this, doc, node, changeSignal));
diff --git a/src/extension/param/float.h b/src/extension/param/float.h
index 2e816d4dc..a2c19441d 100644
--- a/src/extension/param/float.h
+++ b/src/extension/param/float.h
@@ -42,6 +42,7 @@ private:
/** \brief Internal value. */
float _value;
AppearanceMode _mode;
+ int _indent;
float _min;
float _max;
int _precision;
diff --git a/src/extension/param/int.cpp b/src/extension/param/int.cpp
index 3ed8addd9..090441c17 100644
--- a/src/extension/param/int.cpp
+++ b/src/extension/param/int.cpp
@@ -34,29 +34,36 @@ ParamInt::ParamInt (const gchar * name,
Inkscape::XML::Node * xml,
AppearanceMode mode) :
Parameter(name, guitext, desc, scope, gui_hidden, gui_tip, ext),
- _value(0), _mode(mode), _min(0), _max(10)
+ _value(0), _mode(mode), _indent(0), _min(0), _max(10)
{
const char * defaultval = NULL;
- if (sp_repr_children(xml) != NULL)
+ if (sp_repr_children(xml) != NULL) {
defaultval = sp_repr_children(xml)->content();
+ }
if (defaultval != NULL) {
_value = atoi(defaultval);
}
const char * maxval = xml->attribute("max");
- if (maxval != NULL)
+ if (maxval != NULL) {
_max = atoi(maxval);
+ }
const char * minval = xml->attribute("min");
- if (minval != NULL)
+ if (minval != NULL) {
_min = atoi(minval);
-
+ }
/* We're handling this by just killing both values */
if (_max < _min) {
_max = 10;
_min = 0;
}
+ const char * indent = xml->attribute("indent");
+ if (indent != NULL) {
+ _indent = atoi(indent) * 12;
+ }
+
gchar *pref_name = this->pref_name();
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
_value = prefs->getInt(extension_pref_root + pref_name, _value);
@@ -64,8 +71,12 @@ ParamInt::ParamInt (const gchar * name,
// std::cout << "New Int:: value: " << _value << " max: " << _max << " min: " << _min << std::endl;
- if (_value > _max) _value = _max;
- if (_value < _min) _value = _min;
+ if (_value > _max) {
+ _value = _max;
+ }
+ if (_value < _min) {
+ _value = _min;
+ }
return;
}
@@ -83,8 +94,12 @@ int
ParamInt::set (int in, SPDocument * /*doc*/, Inkscape::XML::Node * /*node*/)
{
_value = in;
- if (_value > _max) _value = _max;
- if (_value < _min) _value = _min;
+ if (_value > _max) {
+ _value = _max;
+ }
+ if (_value < _min) {
+ _value = _min;
+ }
gchar * prefname = this->pref_name();
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
@@ -139,13 +154,15 @@ ParamIntAdjustment::val_changed (void)
Gtk::Widget *
ParamInt::get_widget (SPDocument * doc, Inkscape::XML::Node * node, sigc::signal<void> * changeSignal)
{
- if (_gui_hidden) return NULL;
+ if (_gui_hidden) {
+ return NULL;
+ }
Gtk::HBox * hbox = Gtk::manage(new Gtk::HBox(false, 4));
Gtk::Label * label = Gtk::manage(new Gtk::Label(_(_text), Gtk::ALIGN_LEFT));
label->show();
- hbox->pack_start(*label, true, true);
+ hbox->pack_start(*label, true, true, _indent);
ParamIntAdjustment * fadjust = Gtk::manage(new ParamIntAdjustment(this, doc, node, changeSignal));
diff --git a/src/extension/param/int.h b/src/extension/param/int.h
index fce085378..138368ff3 100644
--- a/src/extension/param/int.h
+++ b/src/extension/param/int.h
@@ -41,6 +41,7 @@ private:
/** \brief Internal value. */
int _value;
AppearanceMode _mode;
+ int _indent;
int _min;
int _max;
};
diff --git a/src/extension/param/radiobutton.cpp b/src/extension/param/radiobutton.cpp
index 23655baea..a805efc7e 100644
--- a/src/extension/param/radiobutton.cpp
+++ b/src/extension/param/radiobutton.cpp
@@ -69,9 +69,7 @@ ParamRadioButton::ParamRadioButton (const gchar * name,
Inkscape::XML::Node * xml,
AppearanceMode mode) :
Parameter(name, guitext, desc, scope, gui_hidden, gui_tip, ext),
- _value(0),
- _mode(mode),
- choices(0)
+ _value(0), _mode(mode), _indent(0), choices(0)
{
// Read XML tree to add enumeration items:
// printf("Extension Constructor: ");
@@ -95,16 +93,17 @@ ParamRadioButton::ParamRadioButton (const gchar * name,
} else {
newguitext = new Glib::ustring(contents);
}
- } else
+ } else {
continue;
-
+ }
const char * val = child_repr->attribute("value");
- if (val != NULL)
+ if (val != NULL) {
newvalue = new Glib::ustring(val);
- else
+ } else {
newvalue = new Glib::ustring(contents);
+ }
if ( (newguitext) && (newvalue) ) { // logical error if this is not true here
choices = g_slist_append( choices, new optionentry(newvalue, newguitext) );
@@ -117,18 +116,26 @@ ParamRadioButton::ParamRadioButton (const gchar * name,
// Initialize _value with the default value from xml
// for simplicity : default to the contents of the first xml-child
const char * defaultval = NULL;
- if (choices)
+ if (choices) {
defaultval = ((optionentry*) choices->data)->value->c_str();
+ }
+
+ const char * indent = xml->attribute("indent");
+ if (indent != NULL) {
+ _indent = atoi(indent) * 12;
+ }
gchar * pref_name = this->pref_name();
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
Glib::ustring paramval = prefs->getString(extension_pref_root + pref_name);
g_free(pref_name);
- if (!paramval.empty())
+ if (!paramval.empty()) {
defaultval = paramval.data();
- if (defaultval != NULL)
+ }
+ if (defaultval != NULL) {
_value = g_strdup(defaultval); // allocate space for _value
+ }
return;
}
@@ -161,7 +168,9 @@ ParamRadioButton::~ParamRadioButton (void)
const gchar *
ParamRadioButton::set (const gchar * in, SPDocument * /*doc*/, Inkscape::XML::Node * /*node*/)
{
- if (in == NULL) return NULL; /* Can't have NULL string */
+ if (in == NULL) {
+ return NULL; /* Can't have NULL string */
+ }
Glib::ustring * settext = NULL;
for (GSList * list = choices; list != NULL; list = g_slist_next(list)) {
@@ -172,7 +181,9 @@ ParamRadioButton::set (const gchar * in, SPDocument * /*doc*/, Inkscape::XML::No
}
}
if (settext) {
- if (_value != NULL) g_free(_value);
+ if (_value != NULL) {
+ g_free(_value);
+ }
_value = g_strdup(settext->c_str());
gchar * prefname = this->pref_name();
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
@@ -269,14 +280,16 @@ protected:
Gtk::Widget *
ParamRadioButton::get_widget (SPDocument * doc, Inkscape::XML::Node * node, sigc::signal<void> * changeSignal)
{
- if (_gui_hidden) return NULL;
+ if (_gui_hidden) {
+ return NULL;
+ }
Gtk::HBox * hbox = Gtk::manage(new Gtk::HBox(false, 4));
Gtk::VBox * vbox = Gtk::manage(new Gtk::VBox(false, 0));
Gtk::Label * label = Gtk::manage(new Gtk::Label(_(_text), Gtk::ALIGN_LEFT, Gtk::ALIGN_TOP));
label->show();
- hbox->pack_start(*label, false, false);
+ hbox->pack_start(*label, false, false, _indent);
Gtk::ComboBoxText* cbt = 0;
bool comboSet = false;
diff --git a/src/extension/param/radiobutton.h b/src/extension/param/radiobutton.h
index ea8440de2..e15afdbc7 100644
--- a/src/extension/param/radiobutton.h
+++ b/src/extension/param/radiobutton.h
@@ -55,7 +55,7 @@ private:
It is the value of the current selected string */
gchar * _value;
AppearanceMode _mode;
-
+ int _indent;
GSList * choices; /**< A table to store the choice strings */
}; /* class ParamRadioButton */
diff --git a/src/extension/param/string.cpp b/src/extension/param/string.cpp
index e32224332..18cc754a6 100644
--- a/src/extension/param/string.cpp
+++ b/src/extension/param/string.cpp
@@ -44,10 +44,14 @@ ParamString::~ParamString(void)
const gchar *
ParamString::set (const gchar * in, SPDocument * /*doc*/, Inkscape::XML::Node * /*node*/)
{
- if (in == NULL) return NULL; /* Can't have NULL string */
+ if (in == NULL) {
+ return NULL; /* Can't have NULL string */
+ }
- if (_value != NULL)
+ if (_value != NULL) {
g_free(_value);
+ }
+
_value = g_strdup(in);
gchar * prefname = this->pref_name();
@@ -62,31 +66,40 @@ ParamString::set (const gchar * in, SPDocument * /*doc*/, Inkscape::XML::Node *
void
ParamString::string (std::string &string)
{
- if (_value == NULL)
+ if (_value == NULL) {
return;
-
+ }
string += _value;
return;
}
/** \brief Initialize the object, to do that, copy the data. */
ParamString::ParamString (const gchar * name, const gchar * guitext, const gchar * desc, const Parameter::_scope_t scope, bool gui_hidden, const gchar * gui_tip, Inkscape::Extension::Extension * ext, Inkscape::XML::Node * xml) :
- Parameter(name, guitext, desc, scope, gui_hidden, gui_tip, ext), _value(NULL)
+ Parameter(name, guitext, desc, scope, gui_hidden, gui_tip, ext),
+ _value(NULL), _indent(0)
{
const char * defaultval = NULL;
- if (sp_repr_children(xml) != NULL)
+ if (sp_repr_children(xml) != NULL) {
defaultval = sp_repr_children(xml)->content();
+ }
+
+ const char * indent = xml->attribute("indent");
+ if (indent != NULL) {
+ _indent = atoi(indent) * 12;
+ }
gchar * pref_name = this->pref_name();
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
Glib::ustring paramval = prefs->getString(extension_pref_root + pref_name);
g_free(pref_name);
- if (!paramval.empty())
+ if (!paramval.empty()) {
defaultval = paramval.data();
- if (defaultval != NULL)
+ }
+ if (defaultval != NULL) {
_value = g_strdup(defaultval);
-
+ }
+
_max_length = 0;
return;
@@ -106,8 +119,9 @@ public:
*/
ParamStringEntry (ParamString * pref, SPDocument * doc, Inkscape::XML::Node * node, sigc::signal<void> * changeSignal) :
Gtk::Entry(), _pref(pref), _doc(doc), _node(node), _changeSignal(changeSignal) {
- if (_pref->get(NULL, NULL) != NULL)
+ if (_pref->get(NULL, NULL) != NULL) {
this->set_text(Glib::ustring(_pref->get(NULL, NULL)));
+ }
this->set_max_length(_pref->getMaxLength()); //Set the max lenght - default zero means no maximum
this->signal_changed().connect(sigc::mem_fun(this, &ParamStringEntry::changed_text));
};
@@ -139,13 +153,15 @@ ParamStringEntry::changed_text (void)
Gtk::Widget *
ParamString::get_widget (SPDocument * doc, Inkscape::XML::Node * node, sigc::signal<void> * changeSignal)
{
- if (_gui_hidden) return NULL;
+ if (_gui_hidden) {
+ return NULL;
+ }
Gtk::HBox * hbox = Gtk::manage(new Gtk::HBox(false, 4));
Gtk::Label * label = Gtk::manage(new Gtk::Label(_(_text), Gtk::ALIGN_LEFT));
label->show();
- hbox->pack_start(*label, false, false);
+ hbox->pack_start(*label, false, false, _indent);
ParamStringEntry * textbox = new ParamStringEntry(this, doc, node, changeSignal);
textbox->show();
diff --git a/src/extension/param/string.h b/src/extension/param/string.h
index 10f45e5ac..a1892fe9c 100644
--- a/src/extension/param/string.h
+++ b/src/extension/param/string.h
@@ -23,6 +23,7 @@ private:
gchar * _value;
/** \brief Internal value. This indicates the maximum leght of the string. Zero meaning unlimited.
*/
+ int _indent;
gint _max_length;
public:
ParamString(const gchar * name, const gchar * guitext, const gchar * desc, const Parameter::_scope_t scope, bool gui_hidden, const gchar * gui_tip, Inkscape::Extension::Extension * ext, Inkscape::XML::Node * xml);