diff options
| author | Peter Moulder <peter.moulder@monash.edu> | 2007-10-11 14:30:52 +0000 |
|---|---|---|
| committer | pjrm <pjrm@users.sourceforge.net> | 2007-10-11 14:30:52 +0000 |
| commit | b7403d737c0549e540393bfe92160a5fc7b407a1 (patch) | |
| tree | 784c7cbfd26a14f67679376a700dce1d61262bb1 /src/live_effects/parameter/parameter.cpp | |
| parent | trivial: ui/widget/*, ui/dialog/*: svn propset svn:eol-style native *.h *.cpp. (diff) | |
| download | inkscape-b7403d737c0549e540393bfe92160a5fc7b407a1.tar.gz inkscape-b7403d737c0549e540393bfe92160a5fc7b407a1.zip | |
trivial: live_effects/**: svn propset svn:eol-style native *.h *.cpp.
(bzr r3884)
Diffstat (limited to 'src/live_effects/parameter/parameter.cpp')
| -rw-r--r-- | src/live_effects/parameter/parameter.cpp | 362 |
1 files changed, 181 insertions, 181 deletions
diff --git a/src/live_effects/parameter/parameter.cpp b/src/live_effects/parameter/parameter.cpp index faed7c389..efca9908d 100644 --- a/src/live_effects/parameter/parameter.cpp +++ b/src/live_effects/parameter/parameter.cpp @@ -1,181 +1,181 @@ -#define INKSCAPE_LIVEPATHEFFECT_PARAMETER_CPP
-
-/*
- * Copyright (C) Johan Engelen 2007 <j.b.c.engelen@utwente.nl>
- *
- * Released under GNU GPL, read the file 'COPYING' for more information
- */
-
-#include "live_effects/parameter/parameter.h"
-#include "live_effects/effect.h"
-#include "svg/svg.h"
-#include "libnr/nr-values.h"
-
-#include <gtkmm.h>
-#include "ui/widget/scalar.h"
-
-#include "svg/stringstream.h"
-
-#include "verbs.h"
-
-#define noLPEREALPARAM_DEBUG
-
-namespace Inkscape {
-
-namespace LivePathEffect {
-
-
-Parameter::Parameter( const Glib::ustring& label, const Glib::ustring& tip,
- const Glib::ustring& key, Inkscape::UI::Widget::Registry* wr,
- Effect* effect )
-{
- param_label = label;
- param_tooltip = tip;
- param_key = key;
- param_wr = wr;
- param_effect = effect;
-}
-
-
-
-/*###########################################
- * REAL PARAM
- */
-ScalarParam::ScalarParam( const Glib::ustring& label, const Glib::ustring& tip,
- const Glib::ustring& key, Inkscape::UI::Widget::Registry* wr,
- Effect* effect, gdouble default_value)
- : Parameter(label, tip, key, wr, effect)
-{
- defvalue = default_value;
- value = defvalue;
- min = -NR_HUGE;
- max = NR_HUGE;
- integer = false;
- rsu = NULL;
- inc_step = 0.1;
- inc_page = 1;
- digits = 2;
-}
-
-ScalarParam::~ScalarParam()
-{
- if (rsu)
- delete rsu;
-}
-
-bool
-ScalarParam::param_readSVGValue(const gchar * strvalue)
-{
- double newval;
- unsigned int success = sp_svg_number_read_d(strvalue, &newval);
- if (success == 1) {
- param_set_value(newval);
- return true;
- }
- return false;
-}
-
-gchar *
-ScalarParam::param_writeSVGValue() const
-{
- Inkscape::SVGOStringStream os;
- os << value;
- gchar * str = g_strdup(os.str().c_str());
- return str;
-}
-
-void
-ScalarParam::param_set_default()
-{
- param_set_value(defvalue);
-}
-
-void
-ScalarParam::param_set_value(gdouble val)
-{
- value = val;
- if (integer)
- value = round(value);
- if (value > max)
- value = max;
- if (value < min)
- value = min;
-
- if (rsu && !rsu->is_updating())
- rsu->setValue(value);
-}
-
-void
-ScalarParam::param_set_range(gdouble min, gdouble max)
-{
- this->min = min;
- this->max = max;
- if (rsu)
- rsu->getS()->setRange(min, max);
-
- param_set_value(value); // reset value to see whether it is in ranges
-}
-
-void
-ScalarParam::param_make_integer(bool yes)
-{
- integer = yes;
- digits = 0;
- inc_step = 1;
- inc_page = 10;
- if (rsu) {
- rsu->getS()->setDigits(digits);
- rsu->getS()->setIncrements(inc_step, inc_page);
- }
-}
-
-Gtk::Widget *
-ScalarParam::param_getWidget()
-{
- if (!rsu) {
- rsu = new Inkscape::UI::Widget::RegisteredScalar();
- rsu->init(param_label, param_tooltip, param_key, *param_wr, param_effect->getRepr(), param_effect->getSPDoc());
- rsu->setValue(value);
- rsu->getS()->setDigits(digits);
- rsu->getS()->setIncrements(inc_step, inc_page);
-
- rsu->set_undo_parameters(SP_VERB_DIALOG_LIVE_PATH_EFFECT, _("Change scalar parameter"));
- }
- return dynamic_cast<Gtk::Widget *> (rsu->getS());
-}
-
-void
-ScalarParam::param_set_digits(unsigned digits)
-{
- this->digits = digits;
- if (rsu) {
- rsu->getS()->setDigits(digits);
- }
-}
-
-void
-ScalarParam::param_set_increments(double step, double page)
-{
- inc_step = step;
- inc_page = page;
- if (rsu) {
- rsu->getS()->setIncrements(inc_step, inc_page);
- }
-}
-
-
-
-
-} /* namespace LivePathEffect */
-} /* namespace Inkscape */
-
-/*
- Local Variables:
- mode:c++
- c-file-style:"stroustrup"
- c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
- indent-tabs-mode:nil
- fill-column:99
- End:
-*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :
+#define INKSCAPE_LIVEPATHEFFECT_PARAMETER_CPP + +/* + * Copyright (C) Johan Engelen 2007 <j.b.c.engelen@utwente.nl> + * + * Released under GNU GPL, read the file 'COPYING' for more information + */ + +#include "live_effects/parameter/parameter.h" +#include "live_effects/effect.h" +#include "svg/svg.h" +#include "libnr/nr-values.h" + +#include <gtkmm.h> +#include "ui/widget/scalar.h" + +#include "svg/stringstream.h" + +#include "verbs.h" + +#define noLPEREALPARAM_DEBUG + +namespace Inkscape { + +namespace LivePathEffect { + + +Parameter::Parameter( const Glib::ustring& label, const Glib::ustring& tip, + const Glib::ustring& key, Inkscape::UI::Widget::Registry* wr, + Effect* effect ) +{ + param_label = label; + param_tooltip = tip; + param_key = key; + param_wr = wr; + param_effect = effect; +} + + + +/*########################################### + * REAL PARAM + */ +ScalarParam::ScalarParam( const Glib::ustring& label, const Glib::ustring& tip, + const Glib::ustring& key, Inkscape::UI::Widget::Registry* wr, + Effect* effect, gdouble default_value) + : Parameter(label, tip, key, wr, effect) +{ + defvalue = default_value; + value = defvalue; + min = -NR_HUGE; + max = NR_HUGE; + integer = false; + rsu = NULL; + inc_step = 0.1; + inc_page = 1; + digits = 2; +} + +ScalarParam::~ScalarParam() +{ + if (rsu) + delete rsu; +} + +bool +ScalarParam::param_readSVGValue(const gchar * strvalue) +{ + double newval; + unsigned int success = sp_svg_number_read_d(strvalue, &newval); + if (success == 1) { + param_set_value(newval); + return true; + } + return false; +} + +gchar * +ScalarParam::param_writeSVGValue() const +{ + Inkscape::SVGOStringStream os; + os << value; + gchar * str = g_strdup(os.str().c_str()); + return str; +} + +void +ScalarParam::param_set_default() +{ + param_set_value(defvalue); +} + +void +ScalarParam::param_set_value(gdouble val) +{ + value = val; + if (integer) + value = round(value); + if (value > max) + value = max; + if (value < min) + value = min; + + if (rsu && !rsu->is_updating()) + rsu->setValue(value); +} + +void +ScalarParam::param_set_range(gdouble min, gdouble max) +{ + this->min = min; + this->max = max; + if (rsu) + rsu->getS()->setRange(min, max); + + param_set_value(value); // reset value to see whether it is in ranges +} + +void +ScalarParam::param_make_integer(bool yes) +{ + integer = yes; + digits = 0; + inc_step = 1; + inc_page = 10; + if (rsu) { + rsu->getS()->setDigits(digits); + rsu->getS()->setIncrements(inc_step, inc_page); + } +} + +Gtk::Widget * +ScalarParam::param_getWidget() +{ + if (!rsu) { + rsu = new Inkscape::UI::Widget::RegisteredScalar(); + rsu->init(param_label, param_tooltip, param_key, *param_wr, param_effect->getRepr(), param_effect->getSPDoc()); + rsu->setValue(value); + rsu->getS()->setDigits(digits); + rsu->getS()->setIncrements(inc_step, inc_page); + + rsu->set_undo_parameters(SP_VERB_DIALOG_LIVE_PATH_EFFECT, _("Change scalar parameter")); + } + return dynamic_cast<Gtk::Widget *> (rsu->getS()); +} + +void +ScalarParam::param_set_digits(unsigned digits) +{ + this->digits = digits; + if (rsu) { + rsu->getS()->setDigits(digits); + } +} + +void +ScalarParam::param_set_increments(double step, double page) +{ + inc_step = step; + inc_page = page; + if (rsu) { + rsu->getS()->setIncrements(inc_step, inc_page); + } +} + + + + +} /* namespace LivePathEffect */ +} /* namespace Inkscape */ + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : |
