X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fnumber-opt-number.h;h=0025f2d07b73e51911e79c174cfb4766b72761a7;hb=2b3eec74ab373ccd970a78fa6ce116d74a96d839;hp=ff3b17dfaef96103252f9c814e26c7dd4c5ea3f0;hpb=50b47c90f2f8e74d81b0bfcc9c61affb6b2d2a2d;p=inkscape.git diff --git a/src/number-opt-number.h b/src/number-opt-number.h index ff3b17dfa..0025f2d07 100644 --- a/src/number-opt-number.h +++ b/src/number-opt-number.h @@ -13,14 +13,18 @@ * Released under GNU GPL, read the file 'COPYING' for more information */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include #include //todo: use glib instead of stdlib #include +#include "svg/stringstream.h" -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif + +gdouble fixed_g_ascii_strtod (const gchar *nptr, gchar **endptr); class NumberOptNumber { @@ -69,20 +73,30 @@ public: number = num; } - gchar *getValueString(gchar *str) + bool optNumIsSet(){ + return optNumber_set; + } + + bool numIsSet(){ + return _set; + } + + gchar *getValueString() { + Inkscape::SVGOStringStream os; + if( _set ) { if( optNumber_set ) { - g_sprintf(str, "%lf %lf", number, optNumber); + os << number << " " << optNumber; } else { - g_sprintf(str, "%lf", number); + os << number; } } - return str; + return g_strdup(os.str().c_str()); } void set(gchar const *str) @@ -94,13 +108,12 @@ public: if( values[0] != NULL ) { - sscanf(values[0], "%f", &number); + number = g_ascii_strtod(values[0], NULL); _set = TRUE; if( values[1] != NULL ) { - // optNumber = g_ascii_strtod(values[1], NULL); - sscanf(values[1], "%f", &optNumber); + optNumber = g_ascii_strtod(values[1], NULL); optNumber_set = TRUE; } else