diff options
author | Adrián Medraño Calvo <adrian@medranocalvo.com> | 2017-07-28 09:54:54 (GMT) |
---|---|---|
committer | Adrián Medraño Calvo <adrian@medranocalvo.com> | 2017-07-28 12:06:18 (GMT) |
commit | e4521220d9623f9e00ff1a5f1497665c956b1387 (patch) | |
tree | 4beacf0e1431620b3e5bebc0074028e8bc0b5494 /generic | |
parent | d2c078754fbaee1bd22d77202f9af3d706f45b94 (diff) | |
download | blt-e4521220d9623f9e00ff1a5f1497665c956b1387.zip blt-e4521220d9623f9e00ff1a5f1497665c956b1387.tar.gz blt-e4521220d9623f9e00ff1a5f1497665c956b1387.tar.bz2 |
Add -tickformat axis option, rename -command option to -tickformatcommand
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tkbltGrAxis.C | 22 | ||||
-rw-r--r-- | generic/tkbltGrAxis.h | 4 |
2 files changed, 18 insertions, 8 deletions
diff --git a/generic/tkbltGrAxis.C b/generic/tkbltGrAxis.C index a9cb879..bac6316 100644 --- a/generic/tkbltGrAxis.C +++ b/generic/tkbltGrAxis.C @@ -84,8 +84,8 @@ static Tk_OptionSpec optionSpecs[] = { {TK_OPTION_COLOR, "-color", "color", "Color", STD_NORMAL_FOREGROUND, -1, Tk_Offset(AxisOptions, tickColor), 0, NULL, CACHE}, - {TK_OPTION_STRING, "-command", "command", "Command", - NULL, -1, Tk_Offset(AxisOptions, formatCmd), TK_OPTION_NULL_OK, NULL, 0}, + {TK_OPTION_SYNONYM, "-command", NULL, NULL, + NULL, 0, -1, 0, (ClientData)"-tickformatcommand", 0}, {TK_OPTION_BOOLEAN, "-descending", "descending", "Descending", "no", -1, Tk_Offset(AxisOptions, descending), 0, NULL, RESET}, {TK_OPTION_BOOLEAN, "-exterior", "exterior", "exterior", @@ -179,6 +179,10 @@ static Tk_OptionSpec optionSpecs[] = { "8", -1, Tk_Offset(AxisOptions, tickLength), 0, NULL, LAYOUT}, {TK_OPTION_INT, "-tickdefault", "tickDefault", "TickDefault", "4", -1, Tk_Offset(AxisOptions, reqNumMajorTicks), 0, NULL, RESET}, + {TK_OPTION_STRING, "-tickformat", "tickFormat", "TickFormat", + NULL, -1, Tk_Offset(AxisOptions, tickFormat), TK_OPTION_NULL_OK, NULL, 0}, + {TK_OPTION_STRING, "-tickformatcommand", "tickformatcommand", "TickFormatCommand", + NULL, -1, Tk_Offset(AxisOptions, tickFormatCmd), TK_OPTION_NULL_OK, NULL, 0}, {TK_OPTION_STRING, "-title", "title", "Title", NULL, -1, Tk_Offset(AxisOptions, title), TK_OPTION_NULL_OK, NULL, LAYOUT}, {TK_OPTION_BOOLEAN, "-titlealternate", "titleAlternate", "TitleAlternate", @@ -1032,12 +1036,16 @@ TickLabel* Axis::makeLabel(double value) AxisOptions* ops = (AxisOptions*)ops_; char string[TICK_LABEL_SIZE + 1]; - if (ops->logScale) + + if (ops->tickFormat && *ops->tickFormat) { + snprintf(string, TICK_LABEL_SIZE, ops->tickFormat, value); + } else if (ops->logScale) { snprintf(string, TICK_LABEL_SIZE, "1E%d", int(value)); - else - snprintf(string, TICK_LABEL_SIZE, "%.*G", 15, value); + } else { + snprintf(string, TICK_LABEL_SIZE, "%.15G", value); + } - if (ops->formatCmd) { + if (ops->tickFormatCmd) { Tcl_Interp* interp = graphPtr_->interp_; Tk_Window tkwin = graphPtr_->tkwin_; @@ -1045,7 +1053,7 @@ TickLabel* Axis::makeLabel(double value) // name of the widget and the default tick label as arguments when // invoking it. Copy and save the new label from interp->result. Tcl_ResetResult(interp); - if (Tcl_VarEval(interp, ops->formatCmd, " ", Tk_PathName(tkwin), + if (Tcl_VarEval(interp, ops->tickFormatCmd, " ", Tk_PathName(tkwin), " ", string, NULL) != TCL_OK) { Tcl_BackgroundError(interp); } diff --git a/generic/tkbltGrAxis.h b/generic/tkbltGrAxis.h index 90a1165..d459e8c 100644 --- a/generic/tkbltGrAxis.h +++ b/generic/tkbltGrAxis.h @@ -114,7 +114,7 @@ namespace Blt { int showTicks; double windowSize; - const char *formatCmd; + const char *tickFormatCmd; int descending; int labelOffset; TextStyleOptions limitsTextStyle; @@ -153,6 +153,8 @@ namespace Blt { Tk_Font tickFont; Tk_Font titleFont; XColor* titleColor; + + const char *tickFormat; } AxisOptions; class Axis { |