diff --git a/src/lib/aqdiagram/graph/axis.t2d b/src/lib/aqdiagram/graph/axis.t2d
index b089cad..36e9507 100644
--- a/src/lib/aqdiagram/graph/axis.t2d
+++ b/src/lib/aqdiagram/graph/axis.t2d
@@ -67,6 +67,7 @@
double vRun; \n
double startValue; \n
GWEN_BUFFER *dbuf; \n
+ int nextLevel=0; \n
\n
absMaxValue=abs(st->minValue); \n
v=abs(st->maxValue); \n
@@ -77,23 +78,24 @@
absMaxValue=1.0; \n
v=pow(10, floor(log10(absMaxValue))); \n
\n
- startValue=v*10.0; \n
+ startValue=v; \n
if ((st->minValue)<startValue) \n
startValue=-startValue; \n
\n
vRun=startValue; \n
- v/=10.0; \n
DBG_ERROR(NULL, "vRun=%.2f, v=%.2f, vMin=%.2f, vMax=%.2f", vRun, v, st->minValue, st->maxValue); \n
while(vRun<=(st->maxValue)) { \n
if (vRun>=(st->minValue)) { \n
if (!$(struct_prefix)_HasTickValue(st, vRun)) { \n
GWEN_Buffer_AppendArgs(dbuf, "%.*f", st->precision, vRun); \n
- $(struct_prefix)_AddNewTick(st, GWEN_Buffer_GetStart(dbuf), vRun, 0, 0); \n
+ $(struct_prefix)_AddNewTick(st, GWEN_Buffer_GetStart(dbuf), vRun, nextLevel, 0); \n
GWEN_Buffer_Reset(dbuf); \n
} \n
} \n
vRun+=v; \n
} \n
+ if ($(struct_prefix)_HasLevelTicks(st, nextLevel)) \n
+ nextLevel++; \n
\n
vRun=startValue; \n
v/=2.0; \n
@@ -102,12 +104,31 @@
if (vRun>=(st->minValue)) { \n
if (!$(struct_prefix)_HasTickValue(st, vRun)) { \n
GWEN_Buffer_AppendArgs(dbuf, "%.*f", st->precision, vRun); \n
- $(struct_prefix)_AddNewTick(st, GWEN_Buffer_GetStart(dbuf), vRun, 1, 0); \n
+ $(struct_prefix)_AddNewTick(st, GWEN_Buffer_GetStart(dbuf), vRun, nextLevel, 0); \n
GWEN_Buffer_Reset(dbuf); \n
} \n
} \n
vRun+=v; \n
} \n
+ if ($(struct_prefix)_HasLevelTicks(st, nextLevel)) \n
+ nextLevel++; \n
+ \n
+ vRun=startValue; \n
+ v/=5.0; \n
+ DBG_ERROR(NULL, "vRun=%.2f, v=%.2f, vMin=%.2f, vMax=%.2f", vRun, v, st->minValue, st->maxValue); \n
+ while(vRun<=(st->maxValue)) { \n
+ if (vRun>=(st->minValue)) { \n
+ if (!$(struct_prefix)_HasTickValue(st, vRun)) { \n
+ GWEN_Buffer_AppendArgs(dbuf, "%.*f", st->precision, vRun); \n
+ $(struct_prefix)_AddNewTick(st, GWEN_Buffer_GetStart(dbuf), vRun, nextLevel, 0); \n
+ GWEN_Buffer_Reset(dbuf); \n
+ } \n
+ } \n
+ vRun+=v; \n
+ } \n
+ if ($(struct_prefix)_HasLevelTicks(st, nextLevel)) \n
+ nextLevel++; \n
+ \n
GWEN_Buffer_free(dbuf); \n
} \n
@@ -138,6 +159,30 @@
+
+
+ $(api) int $(struct_prefix)_HasLevelTicks(const $(struct_type) *st, int level);
+
+
+
+
+
+ int $(struct_prefix)_HasLevelTicks(const $(struct_type) *st, int level) \n
+ { \n
+ const AQDG_GRAPH_TICK *tick; \n
+ \n
+ tick=AQDG_Graph_Tick_List_First(st->tickList); \n
+ while(tick) { \n
+ if (AQDG_Graph_Tick_GetLevel(tick)==level) \n
+ return 1; \n
+ tick=AQDG_Graph_Tick_List_Next(tick); \n
+ } \n
+ return 0; \n
+ } \n
+
+
+
+
$(api) void $(struct_prefix)_GenHourTicks($(struct_type) *st, int lvl, int hours);