Merge branch 'bug4480'

This commit is contained in:
Steffen Schaefer committed 2018-05-15 09:13:28 +02:00
commit b74d7994ea
1 file changed
+24 -1
@@ -2,12 +2,16 @@ package com.sap.sailing.gwt.ui.client.shared.racemap;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.maps.client.events.click.ClickMapHandler;
import com.google.gwt.maps.client.events.mousedown.MouseDownMapEvent;
import com.google.gwt.maps.client.events.mousedown.MouseDownMapHandler;
import com.google.gwt.maps.client.events.mousemove.MouseMoveMapEvent;
import com.google.gwt.maps.client.events.mousemove.MouseMoveMapHandler;
import com.google.gwt.maps.client.events.mouseout.MouseOutMapEvent;
import com.google.gwt.maps.client.events.mouseout.MouseOutMapHandler;
import com.google.gwt.maps.client.events.mouseover.MouseOverMapEvent;
import com.google.gwt.maps.client.events.mouseover.MouseOverMapHandler;
import com.google.gwt.maps.client.events.mouseup.MouseUpMapEvent;
import com.google.gwt.maps.client.events.mouseup.MouseUpMapHandler;
import com.google.gwt.maps.client.overlays.Polyline;
import com.google.gwt.maps.client.overlays.PolylineOptions;
@@ -17,6 +21,7 @@ public class Hoverline {
private final Polyline hoverline;
private final PolylineOptions options;
protected boolean doNotProcessMouseMoveOut;
public Hoverline(final Polyline polyline, PolylineOptions polylineOptions, final RaceMap map) {
this.options = PolylineOptions.newInstance();
@@ -41,10 +46,28 @@ public class Hoverline {
hoverline.setOptions(options);
}
});
//Workaround for bug4480 (chrome does fire mouseOutMove on mouseclick)
hoverline.addMouseDownHandler(new MouseDownMapHandler() {
@Override
public void onEvent(MouseDownMapEvent event) {
doNotProcessMouseMoveOut = true;
}
});
hoverline.addMouseUpHandler(new MouseUpMapHandler() {
@Override
public void onEvent(MouseUpMapEvent event) {
doNotProcessMouseMoveOut = false;
}
});
hoverline.addMouseOutMoveHandler(new MouseOutMapHandler() {
@Override
public void onEvent(MouseOutMapEvent event) {
hoverline.setVisible(false);
if (!doNotProcessMouseMoveOut) {
hoverline.setVisible(false);
}
}
});
map.getMap().addMouseMoveHandler(new MouseMoveMapHandler() {