X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fnumber-opt-number.h;h=0025f2d07b73e51911e79c174cfb4766b72761a7;hb=b7d95f994b4858eeab9ce480b04933b5e94d40eb;hp=abbc759d83fa2ac2891bd7ad78d932e2238c047b;hpb=8c833a9abfd335f0305466ad7451c03c2f6b50dd;p=inkscape.git diff --git a/src/number-opt-number.h b/src/number-opt-number.h index abbc759d8..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 ) { - number = strtof(values[0], NULL); + number = g_ascii_strtod(values[0], NULL); _set = TRUE; if( values[1] != NULL ) { - // optNumber = g_ascii_strtod(values[1], NULL); - optNumber = strtof(values[1], NULL); + optNumber = g_ascii_strtod(values[1], NULL); optNumber_set = TRUE; } else