mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-30 17:36:40 +00:00
Merge remote-tracking branch 'origin/gwt' into gwt
This commit is contained in:
commit
d3e0b7085f
8 files changed
+47
-19
No files matched your search
+11
-1
@@ -29,6 +29,8 @@ import com.sap.sailing.gwt.ui.client.RaceSelectionProvider;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.TimeListener;
|
||||
import com.sap.sailing.gwt.ui.client.Timer;
|
||||
import com.sap.sailing.gwt.ui.client.Timer.PlayModes;
|
||||
import com.sap.sailing.gwt.ui.shared.WindDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.WindInfoForRaceDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.WindTrackInfoDTO;
|
||||
@@ -47,6 +49,7 @@ public class WindChart implements Component<WindChartSettings>, RaceSelectionCha
|
||||
private final ErrorReporter errorReporter;
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final Chart chart;
|
||||
private final Timer timer;
|
||||
|
||||
/**
|
||||
* @param raceSelectionProvider
|
||||
@@ -55,13 +58,14 @@ public class WindChart implements Component<WindChartSettings>, RaceSelectionCha
|
||||
* server and displayed in this chart. If no race is selected, the chart is cleared.
|
||||
*/
|
||||
public WindChart(SailingServiceAsync sailingService, RaceSelectionProvider raceSelectionProvider,
|
||||
WindChartSettings settings, StringMessages stringMessages, ErrorReporter errorReporter) {
|
||||
Timer timer, WindChartSettings settings, StringMessages stringMessages, ErrorReporter errorReporter) {
|
||||
super();
|
||||
this.sailingService = sailingService;
|
||||
this.stringMessages = stringMessages;
|
||||
this.errorReporter = errorReporter;
|
||||
this.windSourceSeries = new HashMap<WindSource, Series>();
|
||||
this.windSourcesToDisplay = new HashSet<WindSource>();
|
||||
this.timer = timer;
|
||||
chart = new Chart()
|
||||
.setZoomType(Chart.ZoomType.X)
|
||||
.setSpacingRight(20)
|
||||
@@ -206,6 +210,12 @@ public class WindChart implements Component<WindChartSettings>, RaceSelectionCha
|
||||
|
||||
@Override
|
||||
public void timeChanged(Date date) {
|
||||
if (timer.getPlayMode() == PlayModes.Live) {
|
||||
// TODO fetch missing pieces from cache
|
||||
} else {
|
||||
// assuming play mode is replay / non-live
|
||||
// TODO fetch all if not yet fetched
|
||||
}
|
||||
// TODO implement timeChanged by loading missing wind data and adding to series
|
||||
}
|
||||
}
|
||||
+3
-1
@@ -47,6 +47,8 @@ import com.sap.sailing.gwt.ui.client.RaceSelectionModel;
|
||||
import com.sap.sailing.gwt.ui.client.RaceSelectionProvider;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.Timer;
|
||||
import com.sap.sailing.gwt.ui.client.Timer.PlayModes;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.WindDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.WindInfoForRaceDTO;
|
||||
@@ -173,7 +175,7 @@ public class WindPanel extends FormPanel implements EventDisplayer, WindShower,
|
||||
windSourceSelectionPanel.add(showConfigAnchor);
|
||||
grid.setWidget(1, 0, windSourceSelectionPanel);
|
||||
windChart = new WindChart(sailingService, /* race selection provider */ raceSelectionProvider,
|
||||
new WindChartSettings(WindSource.values()), stringMessages, errorReporter);
|
||||
new Timer(PlayModes.Replay), new WindChartSettings(WindSource.values()), stringMessages, errorReporter);
|
||||
grid.setWidget(2, 0, windChart.getEntryWidget());
|
||||
grid.getCellFormatter().setVerticalAlignment(1, 1, HasVerticalAlignment.ALIGN_TOP);
|
||||
this.setWidget(grid);
|
||||
|
||||
+16
-3
@@ -61,6 +61,9 @@ import com.sap.sailing.gwt.ui.client.RaceSelectionChangeListener;
|
||||
import com.sap.sailing.gwt.ui.client.RaceSelectionProvider;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.TimeListener;
|
||||
import com.sap.sailing.gwt.ui.client.Timer;
|
||||
import com.sap.sailing.gwt.ui.client.Timer.PlayModes;
|
||||
import com.sap.sailing.gwt.ui.shared.CompetitorDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.CompetitorInRaceDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.CompetitorsAndTimePointsDTO;
|
||||
@@ -80,7 +83,7 @@ import com.sap.sailing.gwt.ui.shared.components.SettingsDialog;
|
||||
*
|
||||
*/
|
||||
public abstract class AbstractChartPanel<SettingsType extends ChartSettings> extends SimplePanel
|
||||
implements CompetitorSelectionChangeListener, RaceSelectionChangeListener {
|
||||
implements CompetitorSelectionChangeListener, RaceSelectionChangeListener, TimeListener {
|
||||
private CompetitorInRaceDTO chartData;
|
||||
private CompetitorsAndTimePointsDTO competitorsAndTimePointsDTO = null;
|
||||
private final SailingServiceAsync sailingService;
|
||||
@@ -102,6 +105,7 @@ implements CompetitorSelectionChangeListener, RaceSelectionChangeListener {
|
||||
private final HashMap<CompetitorDTO, Widget> competitorLabels;
|
||||
private final HashMap<String, String> markPassingBuoyName;
|
||||
private int width, height;
|
||||
private final Timer timer;
|
||||
|
||||
private DetailType dataToShow;
|
||||
private AbsolutePanel loadingPanel;
|
||||
@@ -109,11 +113,12 @@ implements CompetitorSelectionChangeListener, RaceSelectionChangeListener {
|
||||
|
||||
public AbstractChartPanel(SailingServiceAsync sailingService,
|
||||
CompetitorSelectionProvider competitorSelectionProvider, RaceSelectionProvider raceSelectionProvider,
|
||||
final StringMessages stringMessages, int chartWidth, int chartHeight, ErrorReporter errorReporter,
|
||||
DetailType dataToShow, boolean showRaceSelector) {
|
||||
Timer timer, final StringMessages stringMessages, int chartWidth, int chartHeight,
|
||||
ErrorReporter errorReporter, DetailType dataToShow, boolean showRaceSelector) {
|
||||
width = chartWidth;
|
||||
height = chartHeight;
|
||||
this.dataToShow = dataToShow;
|
||||
this.timer = timer;
|
||||
this.competitorSelectionProvider = competitorSelectionProvider;
|
||||
competitorSelectionProvider.addCompetitorSelectionChangeListener(this);
|
||||
this.errorReporter = errorReporter;
|
||||
@@ -754,4 +759,12 @@ implements CompetitorSelectionChangeListener, RaceSelectionChangeListener {
|
||||
return new Pair<Boolean, Boolean>(everyPassingInRange, twoPassingsInRangeBeforeError);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void timeChanged(Date date) {
|
||||
if (timer.getPlayMode() == PlayModes.Live) {
|
||||
// TODO fetch parts missing so far from cache
|
||||
} else {
|
||||
// TODO check if fetched already; if not, fetch all
|
||||
}
|
||||
}
|
||||
}
|
||||
+5
-4
@@ -6,6 +6,7 @@ import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.RaceSelectionProvider;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.Timer;
|
||||
import com.sap.sailing.gwt.ui.shared.components.Component;
|
||||
import com.sap.sailing.gwt.ui.shared.components.SettingsDialogComponent;
|
||||
|
||||
@@ -24,10 +25,10 @@ import com.sap.sailing.gwt.ui.shared.components.SettingsDialogComponent;
|
||||
public class ChartPanel extends AbstractChartPanel<ChartSettings> implements Component<ChartSettings> {
|
||||
|
||||
public ChartPanel(SailingServiceAsync sailingService, CompetitorSelectionProvider competitorSelectionProvider,
|
||||
RaceSelectionProvider raceSelectionProvider, DetailType dataToShow, StringMessages stringMessages, int chartWidth,
|
||||
int chartHeight, ErrorReporter errorReporter, boolean showRaceSelector) {
|
||||
super(sailingService, competitorSelectionProvider, raceSelectionProvider, stringMessages, chartWidth, chartHeight,
|
||||
errorReporter, dataToShow, showRaceSelector);
|
||||
RaceSelectionProvider raceSelectionProvider, Timer timer, DetailType dataToShow, StringMessages stringMessages,
|
||||
int chartWidth, int chartHeight, ErrorReporter errorReporter, boolean showRaceSelector) {
|
||||
super(sailingService, competitorSelectionProvider, raceSelectionProvider, timer, stringMessages, chartWidth,
|
||||
chartHeight, errorReporter, dataToShow, showRaceSelector);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+5
-4
@@ -21,6 +21,7 @@ import com.sap.sailing.gwt.ui.client.RaceSelectionModel;
|
||||
import com.sap.sailing.gwt.ui.client.RaceSelectionProvider;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.Timer;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.AbstractChartPanel.DataLoadedEvent;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.AbstractChartPanel.DataLoadedHandler;
|
||||
|
||||
@@ -34,14 +35,14 @@ public class CompareCompetitorsChartDialog extends DialogBox {
|
||||
private Anchor closeAnchor;
|
||||
|
||||
public CompareCompetitorsChartDialog(SailingServiceAsync sailingService,
|
||||
List<RaceIdentifier> races, final CompetitorSelectionProvider competitorSelectionProvider, StringMessages stringConstants,
|
||||
ErrorReporter errorReporter) {
|
||||
List<RaceIdentifier> races, final CompetitorSelectionProvider competitorSelectionProvider, Timer timer,
|
||||
StringMessages stringConstants, ErrorReporter errorReporter) {
|
||||
super(false);
|
||||
RaceSelectionProvider raceSelectionProvider = new RaceSelectionModel();
|
||||
raceSelectionProvider.setAllRaces(races);
|
||||
final MultiChartPanel ccp = new MultiChartPanel(sailingService, competitorSelectionProvider, raceSelectionProvider,
|
||||
stringConstants, (int) (Window.getClientWidth() - 350), (int) (Window.getClientHeight() - 170),
|
||||
errorReporter, /* showRaceSelector */ true);
|
||||
timer, stringConstants, (int) (Window.getClientWidth() - 350),
|
||||
(int) (Window.getClientHeight() - 170), errorReporter, /* showRaceSelector */ true);
|
||||
ccp.addDataLoadedHandler(new DataLoadedHandler() {
|
||||
@Override
|
||||
public void onDataLoaded(DataLoadedEvent event) {
|
||||
|
||||
+1
-1
@@ -1473,7 +1473,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta
|
||||
private void compareCompetitors() {
|
||||
List<RaceIdentifier> races = getTrackedRacesIdentifiers();
|
||||
CompareCompetitorsChartDialog chartDialog = new CompareCompetitorsChartDialog(sailingService, races,
|
||||
competitorSelectionProvider, stringConstants, errorReporter);
|
||||
competitorSelectionProvider, timer, stringConstants, errorReporter);
|
||||
chartDialog.show();
|
||||
}
|
||||
|
||||
|
||||
+5
-4
@@ -6,6 +6,7 @@ import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.RaceSelectionProvider;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.Timer;
|
||||
import com.sap.sailing.gwt.ui.shared.components.Component;
|
||||
import com.sap.sailing.gwt.ui.shared.components.SettingsDialogComponent;
|
||||
|
||||
@@ -23,10 +24,10 @@ import com.sap.sailing.gwt.ui.shared.components.SettingsDialogComponent;
|
||||
*/
|
||||
public class MultiChartPanel extends AbstractChartPanel<MultiChartSettings> implements Component<MultiChartSettings> {
|
||||
public MultiChartPanel(SailingServiceAsync sailingService, CompetitorSelectionProvider competitorSelectionProvider,
|
||||
RaceSelectionProvider raceSelectionProvider, final StringMessages stringMessages, int chartWidth, int chartHeight,
|
||||
ErrorReporter errorReporter, boolean showRaceSelector) {
|
||||
super(sailingService, competitorSelectionProvider, raceSelectionProvider, stringMessages, chartWidth, chartHeight,
|
||||
errorReporter, /* show initially: */ DetailType.WINDWARD_DISTANCE_TO_OVERALL_LEADER, showRaceSelector);
|
||||
RaceSelectionProvider raceSelectionProvider, Timer timer, final StringMessages stringMessages, int chartWidth,
|
||||
int chartHeight, ErrorReporter errorReporter, boolean showRaceSelector) {
|
||||
super(sailingService, competitorSelectionProvider, raceSelectionProvider, timer, stringMessages, chartWidth,
|
||||
chartHeight, errorReporter, /* show initially: */ DetailType.WINDWARD_DISTANCE_TO_OVERALL_LEADER, showRaceSelector);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-1
@@ -120,7 +120,7 @@ public class RaceBoardPanel extends FormPanel implements EventDisplayer, RaceSel
|
||||
boolean showWindChart = true;
|
||||
if(showWindChart) {
|
||||
WindChartSettings windChartSettings = new WindChartSettings();
|
||||
WindChart windChart = new WindChart(sailingService, raceSelectionProvider, windChartSettings, stringMessages, errorReporter);
|
||||
WindChart windChart = new WindChart(sailingService, raceSelectionProvider, timer, windChartSettings, stringMessages, errorReporter);
|
||||
CollapsableComponentViewer<WindChartSettings> windChartViewer = new CollapsableComponentViewer<WindChartSettings>(
|
||||
windChart, "600px", "500px", stringMessages);
|
||||
windChart.onRaceSelectionChange(raceSelectionProvider.getSelectedRaces());
|
||||
|
||||
Reference in new issue
Block a user