Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2011-03-29 18:36:55 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-03-29 18:36:55 +0400
commitb84a6c4d7eba665975661428072eda57fa33abb7 (patch)
tree0cf48d0cb2b4274441d35d7e35687aaa90ea96da /source
parente020c1504eb90138ba8bda74085df56a3522895e (diff)
use less verbose string formatting for units and interface.
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/intern/unit.c4
-rw-r--r--source/blender/editors/interface/interface.c56
2 files changed, 20 insertions, 40 deletions
diff --git a/source/blender/blenkernel/intern/unit.c b/source/blender/blenkernel/intern/unit.c
index d4084412f63..37e604fa0cb 100644
--- a/source/blender/blenkernel/intern/unit.c
+++ b/source/blender/blenkernel/intern/unit.c
@@ -344,9 +344,7 @@ static int unit_as_string(char *str, int len_max, double value, int prec, bUnitC
/* Convert to a string */
{
- char conv_str[6] = {'%', '.', '0', 'l', 'f', '\0'}; /* "%.2lf" when prec is 2, must be under 10 */
- conv_str[2] += prec;
- len= snprintf(str, len_max, conv_str, (float)value_conv);
+ len= snprintf(str, len_max, "%.*lf", prec, value_conv);
if(len >= len_max)
len= len_max;
diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c
index afee8416239..166046aa64e 100644
--- a/source/blender/editors/interface/interface.c
+++ b/source/blender/editors/interface/interface.c
@@ -1528,18 +1528,13 @@ void ui_get_but_string(uiBut *but, char *str, int maxlen)
if(ui_is_but_unit(but)) {
ui_get_but_string_unit(but, str, maxlen, value, 0);
}
- else if(but->a2) { /* amount of digits defined */
- if(but->a2==1) BLI_snprintf(str, maxlen, "%.1f", value);
- else if(but->a2==2) BLI_snprintf(str, maxlen, "%.2f", value);
- else if(but->a2==3) BLI_snprintf(str, maxlen, "%.3f", value);
- else if(but->a2==4) BLI_snprintf(str, maxlen, "%.4f", value);
- else if(but->a2==5) BLI_snprintf(str, maxlen, "%.5f", value);
- else if(but->a2==6) BLI_snprintf(str, maxlen, "%.6f", value);
- else if(but->a2==7) BLI_snprintf(str, maxlen, "%.7f", value);
- else BLI_snprintf(str, maxlen, "%.4f", value);
+ else {
+ int prec= (int)but->a2;
+ if(prec==0) prec= 3;
+ else CLAMP(prec, 1, 7);
+
+ BLI_snprintf(str, maxlen, "%.*f", prec, value);
}
- else
- BLI_snprintf(str, maxlen, "%.3f", value);
}
else
BLI_snprintf(str, maxlen, "%d", (int)value);
@@ -1997,19 +1992,12 @@ void ui_check_but(uiBut *but)
ui_get_but_string_unit(but, new_str, sizeof(new_str), value, TRUE);
BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%s%s", but->str, new_str);
}
- else if(but->a2) { /* amount of digits defined */
- if(but->a2==1) sprintf(but->drawstr, "%s%.1f", but->str, value);
- else if(but->a2==2) sprintf(but->drawstr, "%s%.2f", but->str, value);
- else if(but->a2==3) sprintf(but->drawstr, "%s%.3f", but->str, value);
- else if(but->a2==4) sprintf(but->drawstr, "%s%.4f", but->str, value);
- else if(but->a2==5) sprintf(but->drawstr, "%s%.5f", but->str, value);
- else if(but->a2==6) sprintf(but->drawstr, "%s%.6f", but->str, value);
- else if(but->a2==7) sprintf(but->drawstr, "%s%.7f", but->str, value);
- else sprintf(but->drawstr, "%s%.4f", but->str, value);
- }
else {
- if(but->hardmax<10.001f) sprintf(but->drawstr, "%s%.3f", but->str, value);
- else sprintf(but->drawstr, "%s%.2f", but->str, value);
+ int prec= (int)but->a2;
+ if(prec==0) prec= (but->hardmax < 10.001f) ? 3 : 2;
+ else CLAMP(prec, 1, 7);
+
+ BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%s%.*f", but->str, prec, value);
}
}
else {
@@ -2026,22 +2014,16 @@ void ui_check_but(uiBut *but)
case LABEL:
if(ui_is_but_float(but)) {
+ int prec= (int)but->a2;
value= ui_get_but_val(but);
- if(but->a2) { /* amount of digits defined */
- if(but->a2==1) sprintf(but->drawstr, "%s%.1f", but->str, value);
- else if(but->a2==2) sprintf(but->drawstr, "%s%.2f", but->str, value);
- else if(but->a2==3) sprintf(but->drawstr, "%s%.3f", but->str, value);
- else if(but->a2==4) sprintf(but->drawstr, "%s%.4f", but->str, value);
- else if(but->a2==5) sprintf(but->drawstr, "%s%.5f", but->str, value);
- else if(but->a2==6) sprintf(but->drawstr, "%s%.6f", but->str, value);
- else if(but->a2==7) sprintf(but->drawstr, "%s%.7f", but->str, value);
- else sprintf(but->drawstr, "%s%.4f", but->str, value);
- }
- else {
- sprintf(but->drawstr, "%s%.2f", but->str, value);
- }
+ if(prec==0) prec= 3;
+ else CLAMP(prec, 1, 7);
+
+ BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%s%.*f", but->str, prec, value);
+ }
+ else {
+ strncpy(but->drawstr, but->str, UI_MAX_DRAW_STR);
}
- else strncpy(but->drawstr, but->str, UI_MAX_DRAW_STR);
break;