mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-30 17:36:40 +00:00
Merge remote-tracking branch 'server/master'
This commit is contained in:
commit
c74320870e
7 files changed
+49
-12
No files matched your search
+17
-1
@@ -18,6 +18,8 @@ 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.events.ChartClickEvent;
|
||||
import org.moxieapps.gwt.highcharts.client.events.ChartClickEventHandler;
|
||||
import org.moxieapps.gwt.highcharts.client.plotOptions.LinePlotOptions;
|
||||
import org.moxieapps.gwt.highcharts.client.plotOptions.Marker;
|
||||
|
||||
@@ -76,7 +78,7 @@ 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,
|
||||
Timer timer, WindChartSettings settings, final StringMessages stringMessages, ErrorReporter errorReporter, int chartHeight) {
|
||||
Timer timer, WindChartSettings settings, final StringMessages stringMessages, ErrorReporter errorReporter, int chartHeight, boolean compactChart) {
|
||||
super();
|
||||
this.sailingService = sailingService;
|
||||
this.stringMessages = stringMessages;
|
||||
@@ -110,11 +112,25 @@ public class WindChart implements Component<WindChartSettings>, RaceSelectionCha
|
||||
numberFormat.format(toolTipData.getYAsDouble()) + unit;
|
||||
}
|
||||
}));
|
||||
chart.setClickEventHandler(new ChartClickEventHandler() {
|
||||
@Override
|
||||
public boolean onClick(ChartClickEvent chartClickEvent) {
|
||||
WindChart.this.timer.setTime(chartClickEvent.getXAxisValueAsLong());
|
||||
return true;
|
||||
}
|
||||
});
|
||||
chart.getXAxis().setType(Axis.Type.DATE_TIME).setMaxZoom(10000) // ten seconds
|
||||
.setAxisTitleText(stringMessages.time());
|
||||
chart.getYAxis(0).setAxisTitleText(stringMessages.fromDeg()).setStartOnTick(false).setShowFirstLabel(false);
|
||||
chart.getYAxis(1).setOpposite(true).setAxisTitleText(stringMessages.speed()+" ("+stringMessages.averageSpeedInKnotsUnit()+")")
|
||||
.setStartOnTick(false).setShowFirstLabel(false).setGridLineWidth(0).setMinorGridLineWidth(0);
|
||||
if (compactChart) {
|
||||
chart.setSpacingBottom(4).setSpacingLeft(0).setSpacingRight(0).setSpacingTop(2)
|
||||
.setLegend(new Legend().setMargin(2))
|
||||
.setOption("title/margin", 5)
|
||||
.setChartSubtitle(null)
|
||||
.getXAxis().setAxisTitle(null);
|
||||
}
|
||||
|
||||
mainPanel = new SimplePanel();
|
||||
mainPanel.setWidget(chart);
|
||||
|
||||
+1
-1
@@ -180,7 +180,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 Timer(PlayModes.Replay), new WindChartSettings(WindSourceType.values()), stringMessages, errorReporter, 400);
|
||||
new Timer(PlayModes.Replay), new WindChartSettings(WindSourceType.values()), stringMessages, errorReporter, 400, false);
|
||||
grid.setWidget(2, 0, windChart.getEntryWidget());
|
||||
grid.getCellFormatter().setVerticalAlignment(1, 1, HasVerticalAlignment.ALIGN_TOP);
|
||||
this.setWidget(grid);
|
||||
|
||||
+21
-1
@@ -17,6 +17,8 @@ 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.events.ChartClickEvent;
|
||||
import org.moxieapps.gwt.highcharts.client.events.ChartClickEventHandler;
|
||||
import org.moxieapps.gwt.highcharts.client.plotOptions.LinePlotOptions;
|
||||
import org.moxieapps.gwt.highcharts.client.plotOptions.Marker;
|
||||
import org.moxieapps.gwt.highcharts.client.plotOptions.ScatterPlotOptions;
|
||||
@@ -70,6 +72,7 @@ implements CompetitorSelectionChangeListener, RaceSelectionChangeListener, TimeL
|
||||
protected final SailingServiceAsync sailingService;
|
||||
protected final ErrorReporter errorReporter;
|
||||
protected Chart chart;
|
||||
private boolean compactChart;
|
||||
private int chartHeight;
|
||||
protected final AbsolutePanel busyIndicatorPanel;
|
||||
protected final Label noCompetitorsSelectedLabel;
|
||||
@@ -85,7 +88,7 @@ implements CompetitorSelectionChangeListener, RaceSelectionChangeListener, TimeL
|
||||
|
||||
public AbstractChartPanel(SailingServiceAsync sailingService,
|
||||
CompetitorSelectionProvider competitorSelectionProvider, RaceSelectionProvider raceSelectionProvider,
|
||||
Timer timer, final StringMessages stringMessages, ErrorReporter errorReporter, DetailType dataToShow, int chartHeight) {
|
||||
Timer timer, final StringMessages stringMessages, ErrorReporter errorReporter, DetailType dataToShow, int chartHeight, boolean compactChart) {
|
||||
this.stringMessages = stringMessages;
|
||||
dataSeriesByCompetitor = new HashMap<CompetitorDTO, Series>();
|
||||
markPassingSeriesByCompetitor = new HashMap<CompetitorDTO, Series>();
|
||||
@@ -96,6 +99,7 @@ implements CompetitorSelectionChangeListener, RaceSelectionChangeListener, TimeL
|
||||
this.errorReporter = errorReporter;
|
||||
this.dataToShow = dataToShow;
|
||||
chartData = null;
|
||||
this.compactChart = compactChart;
|
||||
this.chartHeight = chartHeight;
|
||||
this.sailingService = sailingService;
|
||||
this.raceSelectionProvider = raceSelectionProvider;
|
||||
@@ -144,6 +148,14 @@ implements CompetitorSelectionChangeListener, RaceSelectionChangeListener, TimeL
|
||||
new Marker().setEnabled(true).setRadius(4))).setShadow(false)
|
||||
.setHoverStateLineWidth(LINE_WIDTH));
|
||||
chart.setChartTitle(new ChartTitle().setText(DetailTypeFormatter.format(dataToShow, stringMessages)));
|
||||
chart.setClickEventHandler(new ChartClickEventHandler() {
|
||||
@Override
|
||||
public boolean onClick(ChartClickEvent chartClickEvent) {
|
||||
timer.setTime(chartClickEvent.getXAxisValueAsLong());
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
final String unit = getUnit();
|
||||
chart.getYAxis().setAxisTitleText(DetailTypeFormatter.format(dataToShow, stringMessages) + " ["+unit+"]");
|
||||
chart.getYAxis().setStartOnTick(false).setShowFirstLabel(false);
|
||||
@@ -169,6 +181,14 @@ implements CompetitorSelectionChangeListener, RaceSelectionChangeListener, TimeL
|
||||
}
|
||||
}));
|
||||
|
||||
if (compactChart) {
|
||||
chart.setSpacingBottom(4).setSpacingLeft(0).setSpacingRight(0).setSpacingTop(2)
|
||||
.setLegend(new Legend().setMargin(2))
|
||||
.setOption("title/margin", 5)
|
||||
.setChartSubtitle(null)
|
||||
.getXAxis().setAxisTitle(null);
|
||||
}
|
||||
|
||||
setChartData(null);
|
||||
dataSeriesByCompetitor.clear();
|
||||
markPassingSeriesByCompetitor.clear();
|
||||
|
||||
+3
-2
@@ -26,8 +26,9 @@ public class ChartPanel extends AbstractChartPanel<ChartSettings> implements Com
|
||||
|
||||
public ChartPanel(SailingServiceAsync sailingService, CompetitorSelectionProvider competitorSelectionProvider,
|
||||
RaceSelectionProvider raceSelectionProvider, Timer timer, DetailType dataToShow, StringMessages stringMessages,
|
||||
ErrorReporter errorReporter, int chartHeight) {
|
||||
super(sailingService, competitorSelectionProvider, raceSelectionProvider, timer, stringMessages, errorReporter, dataToShow, chartHeight);
|
||||
ErrorReporter errorReporter, int chartHeight, boolean compactChart) {
|
||||
super(sailingService, competitorSelectionProvider, raceSelectionProvider, timer, stringMessages, errorReporter,
|
||||
dataToShow, chartHeight, compactChart);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-1
@@ -54,7 +54,7 @@ public class CompareCompetitorsChartDialog extends DialogBox {
|
||||
raceSelectionProvider.setAllRaces(races);
|
||||
|
||||
multiChartPanel = new MultiChartPanel(sailingService, competitorSelectionProvider, raceSelectionProvider,
|
||||
timer, stringConstants, errorReporter, 400);
|
||||
timer, stringConstants, errorReporter, 400, false);
|
||||
multiChartPanel.setSize("100%", "100%");
|
||||
|
||||
FlowPanel contentPanel = new FlowPanel();
|
||||
|
||||
+2
-2
@@ -25,9 +25,9 @@ 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, Timer timer, final StringMessages stringMessages,
|
||||
ErrorReporter errorReporter, int chartHeight) {
|
||||
ErrorReporter errorReporter, int chartHeight, boolean compactChart) {
|
||||
super(sailingService, competitorSelectionProvider, raceSelectionProvider, timer, stringMessages, errorReporter,
|
||||
/*show initially*/ DetailType.WINDWARD_DISTANCE_TO_OVERALL_LEADER, chartHeight);
|
||||
/*show initially*/ DetailType.WINDWARD_DISTANCE_TO_OVERALL_LEADER, chartHeight, compactChart);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+4
-4
@@ -136,14 +136,14 @@ public class RaceBoardPanel extends FormPanel implements EventDisplayer, RaceSel
|
||||
|
||||
WindChartSettings windChartSettings = new WindChartSettings(WindSourceType.values());
|
||||
WindChart windChart = new WindChart(sailingService, raceSelectionProvider, timer, windChartSettings,
|
||||
stringMessages, errorReporter, 200);
|
||||
stringMessages, errorReporter, 200, true);
|
||||
SimpleComponentViewer<WindChartSettings> windChartViewer = new SimpleComponentViewer<WindChartSettings>(
|
||||
windChart, "auto", "200px");
|
||||
windChart.onRaceSelectionChange(raceSelectionProvider.getSelectedRaces());
|
||||
componentViewers.add(windChartViewer);
|
||||
|
||||
MultiChartPanel competitorCharts = new MultiChartPanel(sailingService, competitorSelectionModel, raceSelectionProvider,
|
||||
timer, stringMessages, errorReporter, 200);
|
||||
timer, stringMessages, errorReporter, 200, true);
|
||||
SimpleComponentViewer<MultiChartSettings> chartViewer = new SimpleComponentViewer<MultiChartSettings>(
|
||||
competitorCharts, "auto", "200px");
|
||||
|
||||
@@ -186,7 +186,7 @@ public class RaceBoardPanel extends FormPanel implements EventDisplayer, RaceSel
|
||||
|
||||
WindChartSettings windChartSettings = new WindChartSettings(WindSourceType.values());
|
||||
WindChart windChart = new WindChart(sailingService, raceSelectionProvider, timer, windChartSettings,
|
||||
stringMessages, errorReporter, 400);
|
||||
stringMessages, errorReporter, 400, true);//TODO set to false after testing
|
||||
CollapsableComponentViewer<WindChartSettings> windChartViewer = new CollapsableComponentViewer<WindChartSettings>(
|
||||
windChart, "auto", "400px", stringMessages);
|
||||
windChart.onRaceSelectionChange(raceSelectionProvider.getSelectedRaces());
|
||||
@@ -199,7 +199,7 @@ public class RaceBoardPanel extends FormPanel implements EventDisplayer, RaceSel
|
||||
// competitorCharts, "auto", "400px", stringMessages);
|
||||
|
||||
MultiChartPanel competitorCharts = new MultiChartPanel(sailingService, competitorSelectionModel, raceSelectionProvider,
|
||||
timer, stringMessages, errorReporter, 400);
|
||||
timer, stringMessages, errorReporter, 400, false);
|
||||
CollapsableComponentViewer<MultiChartSettings> chartViewer = new CollapsableComponentViewer<MultiChartSettings>(
|
||||
competitorCharts, "auto", "400px", stringMessages);
|
||||
|
||||
|
||||
Reference in new issue
Block a user