mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-27 06:17:27 +00:00
removed static fields on Hoverline, replacing by direct RaceMap.getSettings() access
This commit is contained in:
1 parent
0dfed3110f
commit
2a9d181c29
2 files changed
+12
-36
No files matched your search
+8
-30
@@ -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;
|
||||
}
|
||||
}
|
||||
+4
-6
@@ -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);
|
||||
|
||||
Reference in new issue
Block a user