When zooming, ticks for chart and time slider lose sync and are not adjusted to a reasonable number (FIXED)

This commit is contained in:
Stsiapan_Tsybulski committed 2016-09-13 15:21:16 +03:00
1 parent 8220714d14
commit d6d04aea12
1 file changed
+5 -1
@@ -27,6 +27,8 @@ import com.sap.sse.common.settings.Settings;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
import com.sap.sse.gwt.client.controls.busyindicator.SimpleBusyIndicator;
import com.sap.sse.gwt.client.controls.slider.TimeTicksCalculator;
import com.sap.sse.gwt.client.controls.slider.TimeTicksCalculator.NormalizedInterval;
import com.sap.sse.gwt.client.player.TimeListener;
import com.sap.sse.gwt.client.player.TimeRangeChangeListener;
import com.sap.sse.gwt.client.player.TimeRangeWithZoomProvider;
@@ -193,7 +195,9 @@ public abstract class AbstractRaceChart<SettingsType extends Settings> extends A
if (minTimepoint != null && maxTimepoint != null) {
xAxis.setExtremes(minTimepoint.getTime(), maxTimepoint.getTime(), /* redraw */ false, false);
long tickInterval = (maxTimepoint.getTime() - minTimepoint.getTime()) / TICKCOUNT;
xAxis.setTickInterval(tickInterval);
TimeTicksCalculator calculator = new TimeTicksCalculator();
NormalizedInterval normalizedInterval = calculator.normalizeTimeTickInterval(tickInterval);
xAxis.setTickInterval(normalizedInterval.count * normalizedInterval.unitRange);
}
if (minTimepoint != null) {
xAxis.setMin(minTimepoint.getTime());