added settings for enable/disable the drawing of the help lines like start, finish and advantage line

This commit is contained in:
fmittag committed 2012-04-30 16:49:05 +02:00
1 parent 0a93d0cbad
commit 65d4a6f9bc
11 files changed
+206 -53

No files matched your search

@@ -1,5 +1,7 @@
package com.sap.sailing.gwt.ui.client;
import com.google.gwt.dom.client.Style.FontWeight;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.event.dom.client.ChangeEvent;
import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.event.dom.client.ClickEvent;
@@ -230,6 +232,13 @@ public abstract class DataEntryDialog<T> {
return longBox;
}
public Label createHeadlineLabel(String headlineText) {
Label headlineLabel = new Label(headlineText);
headlineLabel.getElement().getStyle().setFontWeight(FontWeight.BOLD);
headlineLabel.getElement().getStyle().setPaddingTop(1, Unit.EM);
return headlineLabel;
}
public CheckBox createCheckbox(String checkboxLabel) {
CheckBox result = new CheckBox(checkboxLabel);
result.addValueChangeHandler(new ValueChangeHandler<Boolean>() {
@@ -289,4 +289,9 @@ public interface StringMessages extends Messages {
String averageCrossTrackErrorInMeters();
String enterMaster();
String errorStartingReplication(String hostname, String message);
String helpLines();
String startLine();
String finishLine();
String advantageLine();
String courseMiddleLine();
}
@@ -283,4 +283,9 @@ replication=Replication
errorFetchingReplicaData=Error fetching replica data: {0}
averageCrossTrackErrorInMeters=\u2205 XTE
enterMaster=Hostname of Master Instance
errorStartingReplication=Error starting replication from host {0}: {1}
errorStartingReplication=Error starting replication from host {0}: {1}
helpLines=Help lines
startLine=Start line
finishLine=Finish line
advantageLine=Advantage line
courseMiddleLine=Course middle line
@@ -284,4 +284,9 @@ replication=Replikation
errorFetchingReplicaData=Fehler beim Beschaffen der Replikationsdaten: {0}
averageCrossTrackErrorInMeters=\u2205 XTE
enterMaster=Hostname der Master-Instanz
errorStartingReplication=Fehler beim Starten der Replikation von Host {0}: {1}
errorStartingReplication=Fehler beim Starten der Replikation von Host {0}: {1}
helpLines=Hilfslinien
startLine=Startlinie
finishLine=Ziellinie
advantageLine=Führungslinie
courseMiddleLine=Kursmittellinie
@@ -87,6 +87,7 @@ import com.sap.sailing.gwt.ui.shared.WindInfoForRaceDTO;
import com.sap.sailing.gwt.ui.shared.WindTrackInfoDTO;
import com.sap.sailing.gwt.ui.shared.components.Component;
import com.sap.sailing.gwt.ui.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.shared.racemap.RaceMapHelpLinesSettings.HelpLineTypes;
import com.sap.sailing.gwt.ui.shared.racemap.RaceMapZoomSettings.ZoomTypes;
public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSelectionChangeListener, RaceSelectionChangeListener,
@@ -367,9 +368,10 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
showMarksOnMap(raceMapDataDTO.coursePositions);
showStartAndFinishLines(raceMapDataDTO.coursePositions);
showAdvantageLine(competitorsToShow);
// Rezoom the map
// TODO make this a loop across the LatLngBoundsCalculators, pulling them from a collection updated in updateSettings
if (!getSettings().getZoomSettings().contains(ZoomTypes.NONE)) { // Auto zoom if setting is not manual
if (!getSettings().getZoomSettings().containsZoomType(ZoomTypes.NONE)) { // Auto zoom if setting is not manual
LatLngBounds bounds = getSettings().getZoomSettings().getNewBounds(RaceMap.this);
zoomMapToNewBounds(bounds);
mapFirstZoomDone = true;
@@ -645,7 +647,8 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
}
}
if (leadingCompetitorDTO != null && lastShownFix.containsKey(leadingCompetitorDTO) && lastShownFix.get(leadingCompetitorDTO) != -1
if (leadingCompetitorDTO != null && getSettings().getHelpLinesSettings().containsHelpLine(HelpLineTypes.ADVANTAGELINE) &&
lastShownFix.containsKey(leadingCompetitorDTO) && lastShownFix.get(leadingCompetitorDTO) != -1
&& legOfLeaderCompetitor > 0 && legOfLeaderCompetitor <= lastRaceTimesInfo.getLegInfos().size()) {
LegInfoDTO legInfoDTO = lastRaceTimesInfo.getLegInfos().get(legOfLeaderCompetitor-1);
GPSFixDTO lastBoatFix = getBoatFix(leadingCompetitorDTO);
@@ -709,14 +712,15 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
private void showStartAndFinishLines(final CourseDTO courseDTO) {
if(map != null && courseDTO != null && quickRanks != null && !quickRanks.isEmpty() && lastRaceTimesInfo != null) {
int legOfLeadingCompetitor = quickRanks.get(0).legNumber;
int numberOfLegs = lastRaceTimesInfo.legInfos.size() - 1;
if(courseDTO.startGate != null && legOfLeadingCompetitor == 1) {
int numberOfLegs = lastRaceTimesInfo.legInfos.size();
if(courseDTO.startGate != null && legOfLeadingCompetitor == 1 &&
getSettings().getHelpLinesSettings().containsHelpLine(HelpLineTypes.STARTLINE)) {
LatLng[] startGatePoints = new LatLng[2];
startGatePoints[0] = LatLng.newInstance(courseDTO.startGate.getA().position.latDeg, courseDTO.startGate.getA().position.lngDeg);
startGatePoints[1] = LatLng.newInstance(courseDTO.startGate.getB().position.latDeg, courseDTO.startGate.getB().position.lngDeg);
if(startLine == null) {
PolylineOptions options = PolylineOptions.newInstance(/* clickable */false, /* geodesic */true);
startLine = new Polyline(startGatePoints, /* color */ "#1e60bc", /* width */ 1, /* opacity */1.0, options);
startLine = new Polyline(startGatePoints, /* color */ "#FFFFFF", /* width */ 1, /* opacity */1.0, options);
map.addOverlay(startLine);
} else {
startLine.deleteVertex(1);
@@ -731,13 +735,14 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
startLine.deleteVertex(0);
}
}
if(courseDTO.finishGate != null && legOfLeadingCompetitor == numberOfLegs) {
if(courseDTO.finishGate != null && legOfLeadingCompetitor == numberOfLegs &&
getSettings().getHelpLinesSettings().containsHelpLine(HelpLineTypes.FINISHLINE)) {
LatLng[] finishGatePoints = new LatLng[2];
finishGatePoints[0] = LatLng.newInstance(courseDTO.finishGate.getA().position.latDeg, courseDTO.finishGate.getA().position.lngDeg);
finishGatePoints[1] = LatLng.newInstance(courseDTO.finishGate.getB().position.latDeg, courseDTO.finishGate.getB().position.lngDeg);
if(finishLine == null) {
PolylineOptions options = PolylineOptions.newInstance(/* clickable */false, /* geodesic */true);
finishLine = new Polyline(finishGatePoints, /* color */ "#1e60bc", /* width */ 1, /* opacity */1.0, options);
finishLine = new Polyline(finishGatePoints, /* color */ "#000000", /* width */ 1, /* opacity */1.0, options);
map.addOverlay(finishLine);
} else {
finishLine.deleteVertex(1);
@@ -1278,7 +1283,7 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
}
//Trigger auto-zoom if needed
RaceMapZoomSettings zoomSettings = getSettings().getZoomSettings();
if (!zoomSettings.contains(ZoomTypes.NONE) && zoomSettings.isZoomToSelectedCompetitors()) {
if (!zoomSettings.containsZoomType(ZoomTypes.NONE) && zoomSettings.isZoomToSelectedCompetitors()) {
zoomMapToNewBounds(zoomSettings.getNewBounds(this));
}
}
@@ -1320,7 +1325,7 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
}
//Trigger auto-zoom if needed
RaceMapZoomSettings zoomSettings = getSettings().getZoomSettings();
if (!zoomSettings.contains(ZoomTypes.NONE) && zoomSettings.isZoomToSelectedCompetitors()) {
if (!zoomSettings.containsZoomType(ZoomTypes.NONE) && zoomSettings.isZoomToSelectedCompetitors()) {
zoomMapToNewBounds(zoomSettings.getNewBounds(this));
}
}
@@ -1348,6 +1353,7 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
@Override
public void updateSettings(RaceMapSettings newSettings) {
boolean maneuverTypeSelectionChanged = false;
boolean requiredRedraw = false;
for (ManeuverType maneuverType : ManeuverType.values()) {
if (newSettings.isShowManeuverType(maneuverType) != getSettings().isShowManeuverType(maneuverType)) {
maneuverTypeSelectionChanged = true;
@@ -1372,18 +1378,25 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
}
if (newSettings.getTailLengthInMilliseconds() != getSettings().getTailLengthInMilliseconds()) {
getSettings().setTailLengthInMilliseconds(newSettings.getTailLengthInMilliseconds());
redraw();
requiredRedraw = true;
}
if (newSettings.isShowOnlySelectedCompetitors() != getSettings().isShowOnlySelectedCompetitors()) {
getSettings().setShowOnlySelectedCompetitors(newSettings.isShowOnlySelectedCompetitors());
redraw();
requiredRedraw = true;
}
if (!newSettings.getZoomSettings().equals(getSettings().getZoomSettings())) {
getSettings().setZoomSettings(newSettings.getZoomSettings());
if (!getSettings().getZoomSettings().contains(ZoomTypes.NONE)) {
if (!getSettings().getZoomSettings().containsZoomType(ZoomTypes.NONE)) {
zoomMapToNewBounds(getSettings().getZoomSettings().getNewBounds(this));
}
}
if (!newSettings.getHelpLinesSettings().equals(getSettings().getHelpLinesSettings())) {
getSettings().setHelpLinesSettings(newSettings.getHelpLinesSettings());
requiredRedraw = true;
}
if(requiredRedraw) {
redraw();
}
}
public static class BoatsBoundsCalculator extends LatLngBoundsCalculatorForSelected {
@@ -0,0 +1,67 @@
package com.sap.sailing.gwt.ui.shared.racemap;
import java.util.ArrayList;
import java.util.List;
public class RaceMapHelpLinesSettings {
/**
* Types of help lines on the map
*/
public enum HelpLineTypes {
STARTLINE, FINISHLINE, ADVANTAGELINE, // COURSEMIDDLELINE ..not supported yet
}
private ArrayList<HelpLineTypes> visibleHelpLines;
/**
* Creates new RaceMapHelpLinesSettings with the {@link HelpLineTypes} <code>STARTLINE</code>, <code>FINISHLINE</code> and <code>ADVANTAGELINE</code>.<br />
*/
public RaceMapHelpLinesSettings() {
visibleHelpLines = new ArrayList<HelpLineTypes>();
visibleHelpLines.add(HelpLineTypes.STARTLINE);
visibleHelpLines.add(HelpLineTypes.FINISHLINE);
visibleHelpLines.add(HelpLineTypes.ADVANTAGELINE);
}
public RaceMapHelpLinesSettings(ArrayList<HelpLineTypes> visibleHelpLines) {
this.visibleHelpLines = visibleHelpLines;
}
public List<HelpLineTypes> getVisibleHelpLines() {
return visibleHelpLines;
}
public void setVisibleHelpLines(List<HelpLineTypes> visibleHelpLines) {
this.visibleHelpLines = new ArrayList<HelpLineTypes>(visibleHelpLines);
}
public boolean containsHelpLine(HelpLineTypes helpLineType) {
return visibleHelpLines.contains(helpLineType);
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((visibleHelpLines == null) ? 0 : visibleHelpLines.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
RaceMapHelpLinesSettings other = (RaceMapHelpLinesSettings) obj;
if (visibleHelpLines == null) {
if (other.visibleHelpLines != null)
return false;
} else if (!visibleHelpLines.equals(other.visibleHelpLines))
return false;
return true;
}
}
@@ -14,7 +14,9 @@ public class RaceMapSettings {
private boolean showOnlySelectedCompetitors = false;
private RaceMapZoomSettings zoomSettings;
private RaceMapHelpLinesSettings helpLinesSettings;
private long tailLengthInMilliseconds = 100000l;
public RaceMapSettings() {
@@ -25,6 +27,7 @@ public class RaceMapSettings {
maneuverTypesToShow.add(ManeuverType.MARK_PASSING);
this.zoomSettings = new RaceMapZoomSettings();
this.helpLinesSettings = new RaceMapHelpLinesSettings();
}
public long getTailLengthInMilliseconds() {
@@ -71,4 +74,12 @@ public class RaceMapSettings {
this.zoomSettings = zoomSettings;
}
public RaceMapHelpLinesSettings getHelpLinesSettings() {
return helpLinesSettings;
}
public void setHelpLinesSettings(RaceMapHelpLinesSettings helpLinesSettings) {
this.helpLinesSettings = helpLinesSettings;
}
}
@@ -3,12 +3,11 @@ package com.sap.sailing.gwt.ui.shared.racemap;
import java.util.ArrayList;
import java.util.List;
import com.google.gwt.dom.client.Style.FontWeight;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.user.client.ui.CheckBox;
import com.google.gwt.user.client.ui.FocusWidget;
import com.google.gwt.user.client.ui.HasVerticalAlignment;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.LongBox;
@@ -21,12 +20,14 @@ import com.sap.sailing.gwt.ui.client.DataEntryDialog.Validator;
import com.sap.sailing.gwt.ui.client.ManeuverTypeFormatter;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.shared.racemap.RaceMapHelpLinesSettings.HelpLineTypes;
import com.sap.sailing.gwt.ui.shared.racemap.RaceMapZoomSettings.ZoomTypes;
public class RaceMapSettingsDialogComponent implements SettingsDialogComponent<RaceMapSettings> {
//Initializing the lists to prevent a null pointer exception in the first validation call
private List<Pair<CheckBox, ManeuverType>> checkboxAndManeuverType = new ArrayList<Pair<CheckBox, ManeuverType>>();
private List<Pair<CheckBox, ZoomTypes>> checkboxAndZoomType = new ArrayList<Pair<CheckBox,ZoomTypes>>();
private List<Pair<CheckBox, HelpLineTypes>> checkboxAndHelpLineType = new ArrayList<Pair<CheckBox,HelpLineTypes>>();
private CheckBox zoomOnlyToSelectedCompetitors = new CheckBox();
private CheckBox checkBoxDouglasPeuckerPoints = new CheckBox();
private CheckBox showOnlySelectedCompetitors = new CheckBox();
@@ -46,17 +47,19 @@ public class RaceMapSettingsDialogComponent implements SettingsDialogComponent<R
public Widget getAdditionalWidget(DataEntryDialog<?> dialog) {
VerticalPanel vp = new VerticalPanel();
HorizontalPanel labelAndTailLengthBoxPanel = new HorizontalPanel();
labelAndTailLengthBoxPanel.add(new Label(stringMessages.tailLength()));
labelAndTailLengthBoxPanel.setSpacing(5);
Label tailLengthLabel = new Label(stringMessages.tailLength() + ":");
labelAndTailLengthBoxPanel.add(tailLengthLabel);
labelAndTailLengthBoxPanel.setCellVerticalAlignment(tailLengthLabel, HasVerticalAlignment.ALIGN_MIDDLE);
tailLengthBox = dialog.createLongBox((int) (initialSettings.getTailLengthInMilliseconds() / 1000), 4);
labelAndTailLengthBoxPanel.add(tailLengthBox);
labelAndTailLengthBoxPanel.setCellVerticalAlignment(tailLengthBox, HasVerticalAlignment.ALIGN_MIDDLE);
vp.add(labelAndTailLengthBoxPanel);
showOnlySelectedCompetitors = dialog.createCheckbox(stringMessages.showOnlySelected());
showOnlySelectedCompetitors.setValue(initialSettings.isShowOnlySelectedCompetitors());
vp.add(showOnlySelectedCompetitors);
Label zoomLabel = new Label(stringMessages.zoom());
zoomLabel.getElement().getStyle().setFontWeight(FontWeight.BOLD);
zoomLabel.getElement().getStyle().setPaddingTop(1, Unit.EM);
Label zoomLabel = dialog.createHeadlineLabel(stringMessages.zoom());
vp.add(zoomLabel);
HorizontalPanel labelAndZoomSettingsPanel = new HorizontalPanel();
@@ -66,7 +69,7 @@ public class RaceMapSettingsDialogComponent implements SettingsDialogComponent<R
disableOnlySelectedWhenAreFalse = new ArrayList<CheckBox>();
for (ZoomTypes zoomType : ZoomTypes.values()) {
if (zoomType != ZoomTypes.NONE) {
CheckBox cb = dialog.createCheckbox(ZoomTypeFormatter.format(zoomType, stringMessages));
CheckBox cb = dialog.createCheckbox(RaceMapSettingsTypeFormatter.formatZoomType(zoomType, stringMessages));
cb.setValue(initialSettings.getZoomSettings().getTypesToConsiderOnZoom().contains(zoomType), true);
checkboxAndZoomType.add(new Pair<CheckBox, ZoomTypes>(cb, zoomType));
zoomSettingsBoxesPanel.add(cb);
@@ -92,9 +95,7 @@ public class RaceMapSettingsDialogComponent implements SettingsDialogComponent<R
//Run zoomSettingsChanged to set the checkboxes to their correct state
zoomSettingsChanged();
Label maneuversLabel = new Label(stringMessages.maneuverTypes());
maneuversLabel.getElement().getStyle().setFontWeight(FontWeight.BOLD);
maneuversLabel.getElement().getStyle().setPaddingTop(1, Unit.EM);
Label maneuversLabel = dialog.createHeadlineLabel(stringMessages.maneuverTypes());
vp.add(maneuversLabel);
for (ManeuverType maneuverType : ManeuverType.values()) {
CheckBox checkbox = dialog.createCheckbox(ManeuverTypeFormatter.format(maneuverType, stringMessages));
@@ -105,6 +106,19 @@ public class RaceMapSettingsDialogComponent implements SettingsDialogComponent<R
checkBoxDouglasPeuckerPoints = dialog.createCheckbox(stringMessages.douglasPeuckerPoints());
checkBoxDouglasPeuckerPoints.setValue(initialSettings.isShowDouglasPeuckerPoints());
vp.add(checkBoxDouglasPeuckerPoints);
Label helpLinesLabel = dialog.createHeadlineLabel(stringMessages.helpLines());
vp.add(helpLinesLabel);
VerticalPanel helpLineSettingsBoxesPanel = new VerticalPanel();
for (HelpLineTypes helpLineType : HelpLineTypes.values()) {
CheckBox cb = dialog.createCheckbox(RaceMapSettingsTypeFormatter.formatHelpLineType(helpLineType, stringMessages));
cb.setValue(initialSettings.getHelpLinesSettings().containsHelpLine(helpLineType), true);
checkboxAndHelpLineType.add(new Pair<CheckBox, HelpLineTypes>(cb, helpLineType));
helpLineSettingsBoxesPanel.add(cb);
}
vp.add(helpLineSettingsBoxesPanel);
return vp;
}
@@ -132,6 +146,7 @@ public class RaceMapSettingsDialogComponent implements SettingsDialogComponent<R
result.showManeuverType(p.getB(), p.getA().getValue());
}
result.setZoomSettings(getZoomSettings());
result.setHelpLinesSettings(getHelpLinesSettings());
result.setShowDouglasPeuckerPoints(checkBoxDouglasPeuckerPoints.getValue());
result.setShowOnlySelectedCompetitors(showOnlySelectedCompetitors.getValue());
result.setTailLengthInMilliseconds(tailLengthBox.getValue() == null ? -1 : tailLengthBox.getValue()*1000l);
@@ -153,6 +168,16 @@ public class RaceMapSettingsDialogComponent implements SettingsDialogComponent<R
return new RaceMapZoomSettings(zoomTypes, zoomOnlyToSelectedCompetitors.getValue());
}
private RaceMapHelpLinesSettings getHelpLinesSettings() {
ArrayList<HelpLineTypes> helpLineTypes = new ArrayList<HelpLineTypes>();
for (Pair<CheckBox, HelpLineTypes> pair : checkboxAndHelpLineType) {
if (pair.getA().getValue()) {
helpLineTypes.add(pair.getB());
}
}
return new RaceMapHelpLinesSettings(helpLineTypes);
}
@Override
public Validator<RaceMapSettings> getValidator() {
return new Validator<RaceMapSettings>() {
@@ -0,0 +1,35 @@
package com.sap.sailing.gwt.ui.shared.racemap;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.shared.racemap.RaceMapHelpLinesSettings.HelpLineTypes;
import com.sap.sailing.gwt.ui.shared.racemap.RaceMapZoomSettings.ZoomTypes;
public class RaceMapSettingsTypeFormatter {
public static String formatZoomType(ZoomTypes zoomType, StringMessages stringConstants) {
switch (zoomType) {
case NONE:
return stringConstants.autoZoomOff();
case BOATS:
return stringConstants.autoZoomToBoats();
case TAILS:
return stringConstants.autoZoomToTails();
case BUOYS:
return stringConstants.autoZoomToBuoys();
case WINDSENSORS:
return stringConstants.autoZoomToWindSensors();
}
return null;
}
public static String formatHelpLineType(HelpLineTypes helpLineType, StringMessages stringConstants) {
switch (helpLineType) {
case STARTLINE:
return stringConstants.startLine();
case FINISHLINE:
return stringConstants.finishLine();
case ADVANTAGELINE:
return stringConstants.advantageLine();
}
return null;
}
}
@@ -5,13 +5,14 @@ import java.util.List;
import com.google.gwt.maps.client.geom.LatLngBounds;
/**
* @author Lennart Hensler (D054527)
*/
public class RaceMapZoomSettings {
/**
* The auto-zoom types for a {@link RaceMap}.<br />
* Each zoom type has a {@link LatLngBoundsCalculator}, which calculates the new bounds for a map.
* @author Lennart Hensler (D054527)
*
*/
public enum ZoomTypes {
NONE(null), WINDSENSORS(new RaceMap.WindSensorsBoundsCalculator()), BOATS(new RaceMap.BoatsBoundsCalculator()),
@@ -27,13 +28,13 @@ public class RaceMapZoomSettings {
return calculater.calculateNewBounds(forMap);
}
};
private ArrayList<ZoomTypes> typesToConsiderOnZoom;
private boolean zoomToSelectedCompetitors;
/**
* Creates new RaceMapZoomSettings with the {@link ZoomTypes} <code>BOATS</code> and <code>TAILS</code>.<br />
* The attritbute <code>zoomToSelectedCompetitors</code> will be <code>false</code>.
* The attribute <code>zoomToSelectedCompetitors</code> will be <code>false</code>.
*/
public RaceMapZoomSettings() {
typesToConsiderOnZoom = new ArrayList<ZoomTypes>();
@@ -85,7 +86,7 @@ public class RaceMapZoomSettings {
return zoomToSelectedCompetitors;
}
public boolean contains(ZoomTypes zoomType) {
public boolean containsZoomType(ZoomTypes zoomType) {
return typesToConsiderOnZoom.contains(zoomType);
}
@@ -116,5 +117,4 @@ public class RaceMapZoomSettings {
return false;
return true;
}
}
@@ -1,22 +0,0 @@
package com.sap.sailing.gwt.ui.shared.racemap;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.shared.racemap.RaceMapZoomSettings.ZoomTypes;
public class ZoomTypeFormatter {
public static String format(ZoomTypes zoomType, StringMessages stringConstants) {
switch (zoomType) {
case NONE:
return stringConstants.autoZoomOff();
case BOATS:
return stringConstants.autoZoomToBoats();
case TAILS:
return stringConstants.autoZoomToTails();
case BUOYS:
return stringConstants.autoZoomToBuoys();
case WINDSENSORS:
return stringConstants.autoZoomToWindSensors();
}
return null;
}
}