From 8b3fa26a02ad559b90c03baf42fdcbbd703ddebf Mon Sep 17 00:00:00 2001 From: Jonas Dann Date: Thu, 10 Mar 2016 16:03:03 +0100 Subject: [PATCH 1/3] Ficed bug with timepoint for the fix position chooser being not defined for each click of the button. This caused the timepoint being the same for all button clicks --- .../com/sap/sailing/gwt/ui/client/shared/charts/MarksPanel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/MarksPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/MarksPanel.java index 875eec7209c..29281611309 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/MarksPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/MarksPanel.java @@ -93,9 +93,9 @@ public class MarksPanel extends SimplePanel implements Component() { - final Date timePoint = parent.timer.getTime(); @Override public void update(int index, final MarkDTO mark, String value) { + final Date timePoint = parent.timer.getTime(); if (parent.hasFixAtTimePoint(mark, timePoint)) { parent.showNotification(stringMessages.pleaseSelectOtherTimepoint(), NotificationType.ERROR); } else { From 6834b12cac20277bb34e25405c9ececb50f48eda Mon Sep 17 00:00:00 2001 From: Jonas Dann Date: Thu, 10 Mar 2016 17:07:00 +0100 Subject: [PATCH 2/3] Added a red plotline when the fix position chooser is opened that shows where the new fix is created --- .../gwt/ui/client/shared/charts/EditMarkPositionPanel.java | 5 +++++ .../gwt/ui/client/shared/charts/FixPositionChooser.java | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/EditMarkPositionPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/EditMarkPositionPanel.java index d5b16389b6e..b4791d3459b 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/EditMarkPositionPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/EditMarkPositionPanel.java @@ -23,6 +23,7 @@ import org.moxieapps.gwt.highcharts.client.Series; import org.moxieapps.gwt.highcharts.client.ToolTip; import org.moxieapps.gwt.highcharts.client.ToolTipData; import org.moxieapps.gwt.highcharts.client.ToolTipFormatter; +import org.moxieapps.gwt.highcharts.client.XAxis; import org.moxieapps.gwt.highcharts.client.events.ChartClickEvent; import org.moxieapps.gwt.highcharts.client.events.ChartClickEventHandler; import org.moxieapps.gwt.highcharts.client.events.ChartSelectionEvent; @@ -969,4 +970,8 @@ public class EditMarkPositionPanel extends AbstractRaceChart implements Componen return null; } } + + public XAxis getXAxis() { + return chart.getXAxis(); + } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/FixPositionChooser.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/FixPositionChooser.java index fba4e061a98..b9005cc2c45 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/FixPositionChooser.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/FixPositionChooser.java @@ -2,7 +2,10 @@ package com.sap.sailing.gwt.ui.client.shared.charts; import java.util.List; +import org.moxieapps.gwt.highcharts.client.Color; +import org.moxieapps.gwt.highcharts.client.PlotLine; import org.moxieapps.gwt.highcharts.client.Point; +import org.moxieapps.gwt.highcharts.client.PlotLine.DashStyle; import com.google.gwt.core.client.Callback; import com.google.gwt.core.client.Scheduler.ScheduledCommand; @@ -38,6 +41,7 @@ public class FixPositionChooser { private MenuBar menu; private final EditMarkPositionPanel editMarkPositionPanel; private final StringMessages stringMessages; + private final PlotLine redTimeLine; /** * Use this constructor when there is already a fix with an overlay. @@ -81,6 +85,8 @@ public class FixPositionChooser { this.coordinateSystem = coordinateSystem; this.editMarkPositionPanel = editMarkPositionPanel; this.editMarkPositionPanel.showNotification(stringMessages.selectAFixPositionBy()); + this.redTimeLine = editMarkPositionPanel.getXAxis().createPlotLine().setColor(new Color(255, 0, 0)).setWidth(1.5).setDashStyle(DashStyle.SOLID).setValue(editMarkPositionPanel.getTimepoint().getTime()); + editMarkPositionPanel.getXAxis().addPlotLines(redTimeLine); setupUIOverlay(confirmButtonText); } @@ -138,6 +144,7 @@ public class FixPositionChooser { } private void cleanupChart() { + editMarkPositionPanel.getXAxis().removePlotLine(redTimeLine); editMarkPositionPanel.updateRedPoint(polylineFixIndex); editMarkPositionPanel.resetPointColor(polylineFixIndex); editMarkPositionPanel.redrawChart(); From 61c04ff4e5eace7211ac1918f6cca09e22328d7c Mon Sep 17 00:00:00 2001 From: Jonas Dann Date: Thu, 10 Mar 2016 17:09:47 +0100 Subject: [PATCH 3/3] Fixed a problem when moving the fix with the red plotline not being at the right position --- .../gwt/ui/client/shared/charts/FixPositionChooser.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/FixPositionChooser.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/FixPositionChooser.java index b9005cc2c45..7d03c0db0e0 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/FixPositionChooser.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/FixPositionChooser.java @@ -85,8 +85,7 @@ public class FixPositionChooser { this.coordinateSystem = coordinateSystem; this.editMarkPositionPanel = editMarkPositionPanel; this.editMarkPositionPanel.showNotification(stringMessages.selectAFixPositionBy()); - this.redTimeLine = editMarkPositionPanel.getXAxis().createPlotLine().setColor(new Color(255, 0, 0)).setWidth(1.5).setDashStyle(DashStyle.SOLID).setValue(editMarkPositionPanel.getTimepoint().getTime()); - editMarkPositionPanel.getXAxis().addPlotLines(redTimeLine); + this.redTimeLine = editMarkPositionPanel.getXAxis().createPlotLine().setColor(new Color(255, 0, 0)).setWidth(1.5).setDashStyle(DashStyle.SOLID); setupUIOverlay(confirmButtonText); } @@ -100,6 +99,8 @@ public class FixPositionChooser { fix = new GPSFixDTOWithSpeedWindTackAndLegType(editMarkPositionPanel.getTimepoint(), coordinateSystem.getPosition(startPos), null, new WindDTO(), null, null, false); this.moveOverlay = new FixOverlay(map, 0, fix, FixType.BUOY, "#f00", coordinateSystem, stringMessages.dragToChangePosition()); } + redTimeLine.setValue(fix.timepoint.getTime()); + editMarkPositionPanel.getXAxis().addPlotLines(redTimeLine); map.panTo(startPos); if (polylinePath != null && newFix) { polylinePath.insertAt(polylineFixIndex, map.getCenter());