removed static fields on Hoverline, replacing by direct RaceMap.getSettings() access

This commit is contained in:
Axel Uhl committed 2015-12-02 18:14:53 +01:00
1 parent 0dfed3110f
commit 2a9d181c29
2 files changed
+12 -36

No files matched your search

@@ -16,42 +16,32 @@ class Hoverline {
private static final double TRANSPARENT = 0;
private static final double VISIBLE = 0.2d;
private static boolean transparent = true;
private static int weight = 10;
private final Polyline hoverline;
private final PolylineOptions options;
private final RaceMap map;
private Polyline hoverline;
private PolylineOptions options;
public Hoverline(final Polyline polyline, PolylineOptions polylineOptions) {
public Hoverline(final Polyline polyline, PolylineOptions polylineOptions, RaceMap map) {
this.map = map;
this.options = PolylineOptions.newInstance();
this.options.setClickable(polylineOptions.getClickable());
this.options.setGeodesic(polylineOptions.getGeodesic());
this.options.setMap(polylineOptions.getMap());
this.options.setPath(polylineOptions.getPath_JsArray());
this.options.setStrokeColor(polylineOptions.getStrokeColor());
this.options.setStrokeOpacity(Hoverline.transparent ? TRANSPARENT : VISIBLE);
this.options.setStrokeWeight(weight);
this.options.setVisible(polylineOptions.getVisible());
this.options.setZindex(polylineOptions.getZindex());
hoverline = Polyline.newInstance(this.options);
this.hoverline = Polyline.newInstance(this.options);
this.hoverline.setVisible(false);
polyline.addMouseOverHandler(new MouseOverMapHandler() {
@Override
public void onEvent(MouseOverMapEvent event) {
options.setStrokeOpacity(Hoverline.getOpacity());
options.setStrokeWeight(weight);
Hoverline.this.options.setStrokeOpacity(Hoverline.this.map.getSettings().getTransparentHoverlines() ? TRANSPARENT : VISIBLE);
options.setStrokeWeight(Hoverline.this.map.getSettings().getHoverlineStrokeWeight());
options.setMap(polyline.getMap());
options.setPath(polyline.getPath());
hoverline.setOptions(options);
hoverline.setVisible(true);
}
});
hoverline.addMouseOutMoveHandler(new MouseOutMapHandler() {
@Override
public void onEvent(MouseOutMapEvent event) {
@@ -65,14 +55,6 @@ class Hoverline {
return this;
}
public static void setTransparent(boolean transparent) {
Hoverline.transparent = transparent;
}
public static void setStrokeWeight(int weight) {
Hoverline.weight = weight;
}
public MVCArray<LatLng> getPath() {
return this.hoverline.getPath();
}
@@ -93,8 +75,4 @@ class Hoverline {
public HandlerRegistration addMouseOverHandler(MouseOverMapHandler handler) {
return this.hoverline.addMouseOverHandler(handler);
}
private static double getOpacity() {
return Hoverline.transparent ? TRANSPARENT : VISIBLE;
}
}
@@ -596,7 +596,7 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
}
});
// If there was a time change before the API was loaded, reset the timeadvantage
// If there was a time change before the API was loaded, reset the time
if (lastTimeChangeBeforeInitialization != null) {
timeChanged(lastTimeChangeBeforeInitialization, null);
lastTimeChangeBeforeInitialization = null;
@@ -1301,7 +1301,7 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
options.setStrokeOpacity(0.5);
advantageLine = Polyline.newInstance(options);
Hoverline advantageHoverline = new Hoverline(advantageLine, options);
Hoverline advantageHoverline = new Hoverline(advantageLine, options, this);
MVCArray<LatLng> pointsAsArray = MVCArray.newInstance();
pointsAsArray.insertAt(0, advantageLinePos1);
pointsAsArray.insertAt(1, advantageLinePos2);
@@ -1561,7 +1561,7 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
options.setStrokeOpacity(1.0);
pointsAsArray = MVCArray.newInstance();
lineToShowOrRemoveOrUpdate = Polyline.newInstance(options);
Hoverline lineToShowOrRemoveOrUpdateHoverline = new Hoverline(lineToShowOrRemoveOrUpdate, options);
Hoverline lineToShowOrRemoveOrUpdateHoverline = new Hoverline(lineToShowOrRemoveOrUpdate, options, this);
lineToShowOrRemoveOrUpdate.setPath(pointsAsArray);
lineToShowOrRemoveOrUpdate.addMouseOverHandler(new MouseOverMapHandler() {
@Override
@@ -2332,11 +2332,9 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
}
if (newSettings.getTransparentHoverlines() != settings.getTransparentHoverlines()) {
settings.setTransparentHoverlines(newSettings.getTransparentHoverlines());
Hoverline.setTransparent(settings.getTransparentHoverlines());
}
if (newSettings.getHoverlineStrokeWeight() != settings.getHoverlineStrokeWeight()) {
settings.setHoverlineStrokeWeight(newSettings.getHoverlineStrokeWeight());
Hoverline.setStrokeWeight(newSettings.getHoverlineStrokeWeight());
}
if (requiredRedraw) {
redraw();
@@ -2503,7 +2501,7 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
public Polyline createTail(final CompetitorDTO competitor, List<LatLng> points) {
PolylineOptions options = createTailStyle(competitor, displayHighlighted(competitor));
Polyline result = Polyline.newInstance(options);
Hoverline resultHoverline = new Hoverline(result, options);
Hoverline resultHoverline = new Hoverline(result, options, this);
MVCArray<LatLng> pointsAsArray = MVCArray.newInstance(points.toArray(new LatLng[0]));
result.setPath(pointsAsArray);