mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-25 05:23:51 +00:00
prepared to use the tooltip text also for a short text bubble in case COURSEGEOMETRY is selected
This commit is contained in:
1 parent
1c4a2b0d83
commit
7959a30e04
5 files changed
+35
-26
No files matched your search
+1
-1
@@ -881,7 +881,7 @@ errorRunningDataMiningQuery=An error occured running the query
|
||||
hideToolbar=Hide toolbar
|
||||
showSeriesLeaderboards=Show series leaderboards
|
||||
showOverallLeaderboard=Show overall leaderboard
|
||||
lineAngleToWindAndAdvantage=length: {0}m; angle to wind: {1}deg; {2} side has {3}m advantage
|
||||
lineAngleToWindAndAdvantage=length: {0}m\nangle to wind: {1}deg\n{2} side has {3}m advantage
|
||||
doYouReallyWantToRemoveEvents=Do you really want to remove the events?
|
||||
doYouReallyWantToRemoveEvent=Do you really want to remove event {0}?
|
||||
line=Line
|
||||
|
||||
+1
-1
@@ -877,7 +877,7 @@ errorRunningDataMiningQuery=Es ist ein Felher bei der Datenabfrage aufgetreten
|
||||
hideToolbar=Toolbar ausblenden
|
||||
showSeriesLeaderboards=Ergebnisse der Serie anzeigen
|
||||
showOverallLeaderboard=Gesamtergebnisse anzeigen
|
||||
lineAngleToWindAndAdvantage=Länge: {0}m; Winkel zum Wind: {1}°; {2}-Seite ist {3}m bevorteilt
|
||||
lineAngleToWindAndAdvantage=Länge: {0}m\nWinkel zum Wind: {1}°\n{2}-Seite ist {3}m bevorteilt
|
||||
doYouReallyWantToRemoveEvents=Möchten Sie diese Veranstaltungen wirklich entfernen?
|
||||
doYouReallyWantToRemoveEvent=Möchten Sie wirklich die Veranstaltung {0} entfernen?
|
||||
line=Linie
|
||||
|
||||
+1
-1
@@ -870,7 +870,7 @@ errorRunningDataMiningQuery=Ошибка при выполнении запро
|
||||
hideToolbar=Скрыть панель инструментов
|
||||
showSeriesLeaderboards=Показать таблицу лидеров серии
|
||||
showOverallLeaderboard=Показать общую таблицу лидеров
|
||||
lineAngleToWindAndAdvantage=длина: {0}м; угол к ветру: {1}градус; {2} борт {3}м имеет преимущество
|
||||
lineAngleToWindAndAdvantage=длина: {0}м\nугол к ветру: {1}градус\n{2} борт {3}м имеет преимущество
|
||||
doYouReallyWantToRemoveEvents=Вы действительно хотите удалить все события?
|
||||
doYouReallyWantToRemoveEvent=Вы действительно хотите удалить событие {0}?
|
||||
line=Строка
|
||||
|
||||
+1
-1
@@ -391,7 +391,7 @@ listRaces=List Races
|
||||
dropReplicaConnection=Drop connection
|
||||
errorTryingToObtainOverallLeaderboards=Error trying to obtain overall leaderboards: {0}
|
||||
distanceTraveled=行驶距离
|
||||
lineAngleToWindAndAdvantage=length: {0}m; angle to wind: {1}deg; {2} side has {3}m advantage
|
||||
lineAngleToWindAndAdvantage=length: {0}m\nangle to wind: {1}deg\n{2} side has {3}m advantage
|
||||
mapDevices=Map Devices to Competitors and Marks
|
||||
scoringSchemeHighPointFirstGetsTenOrEight=High Point, winner gets 10 points (or 8)
|
||||
playModeLive=Live
|
||||
|
||||
+31
-22
@@ -1326,44 +1326,44 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
|
||||
stringMessages.startLineToFirstMarkTriangle(numberFormatOneDecimal
|
||||
.format(leewardStartLinePosition.getDistance(firstMarkPosition)
|
||||
.getMeters())));
|
||||
final MouseOverMapHandler windwardStartLineMarkToFirstMarkLineTooltipHandler = new MouseOverMapHandler() {
|
||||
final LineInfoProvider windwardStartLineMarkToFirstMarkLineInfoProvider = new LineInfoProvider() {
|
||||
@Override
|
||||
public void onEvent(MouseOverMapEvent event) {
|
||||
map.setTitle(windwardStartLineMarkToFirstMarkLineText.toString());
|
||||
public String getLineInfo() {
|
||||
return windwardStartLineMarkToFirstMarkLineText.toString();
|
||||
}
|
||||
};
|
||||
final MouseOverMapHandler leewardStartLineMarkToFirstMarkLineTooltipHandler = new MouseOverMapHandler() {
|
||||
final LineInfoProvider leewardStartLineMarkToFirstMarkLineInfoProvider = new LineInfoProvider() {
|
||||
@Override
|
||||
public void onEvent(MouseOverMapEvent event) {
|
||||
map.setTitle(leewardStartLineMarkToFirstMarkLineText.toString());
|
||||
public String getLineInfo() {
|
||||
return leewardStartLineMarkToFirstMarkLineText.toString();
|
||||
}
|
||||
};
|
||||
windwardStartLineMarkToFirstMarkLine = showOrRemoveOrUpdateLine(windwardStartLineMarkToFirstMarkLine, /* showLine */
|
||||
(settings.getHelpLinesSettings().isVisible(HelpLineTypes.STARTLINETOFIRSTMARKTRIANGLE) ||
|
||||
settings.getHelpLinesSettings().isVisible(HelpLineTypes.COURSEGEOMETRY))
|
||||
&& startMarkPositions.size() > 1 && courseDTO.waypointPositions.size() > 1,
|
||||
windwardStartLinePosition, firstMarkPosition, windwardStartLineMarkToFirstMarkLineTooltipHandler,
|
||||
windwardStartLinePosition, firstMarkPosition, windwardStartLineMarkToFirstMarkLineInfoProvider,
|
||||
"grey");
|
||||
leewardStartLineMarkToFirstMarkLine = showOrRemoveOrUpdateLine(leewardStartLineMarkToFirstMarkLine, /* showLine */
|
||||
(settings.getHelpLinesSettings().isVisible(HelpLineTypes.STARTLINETOFIRSTMARKTRIANGLE) ||
|
||||
settings.getHelpLinesSettings().isVisible(HelpLineTypes.COURSEGEOMETRY))
|
||||
&& startMarkPositions.size() > 1 && courseDTO.waypointPositions.size() > 1,
|
||||
leewardStartLinePosition, firstMarkPosition, leewardStartLineMarkToFirstMarkLineTooltipHandler,
|
||||
leewardStartLinePosition, firstMarkPosition, leewardStartLineMarkToFirstMarkLineInfoProvider,
|
||||
"grey");
|
||||
}
|
||||
|
||||
private final StringBuilder startLineAdvantageText = new StringBuilder();
|
||||
private final StringBuilder finishLineAdvantageText = new StringBuilder();
|
||||
final MouseOverMapHandler startLineTooltipHandler = new MouseOverMapHandler() {
|
||||
final LineInfoProvider startLineInfoProvider = new LineInfoProvider() {
|
||||
@Override
|
||||
public void onEvent(MouseOverMapEvent event) {
|
||||
map.setTitle(stringMessages.startLine()+startLineAdvantageText);
|
||||
public String getLineInfo() {
|
||||
return stringMessages.startLine()+startLineAdvantageText;
|
||||
}
|
||||
};
|
||||
final MouseOverMapHandler finishLineTooltipHandler = new MouseOverMapHandler() {
|
||||
final LineInfoProvider finishLineInfoProvider = new LineInfoProvider() {
|
||||
@Override
|
||||
public void onEvent(MouseOverMapEvent event) {
|
||||
map.setTitle(stringMessages.finishLine()+finishLineAdvantageText);
|
||||
public String getLineInfo() {
|
||||
return stringMessages.finishLine()+finishLineAdvantageText;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1392,7 +1392,7 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
|
||||
((oneBasedLegOfLeadingCompetitor <= 1 &&
|
||||
settings.getHelpLinesSettings().isVisible(HelpLineTypes.STARTLINE)) ||
|
||||
settings.getHelpLinesSettings().isVisible(HelpLineTypes.COURSEGEOMETRY)),
|
||||
startLineLeftPosition, startLineRightPosition, startLineTooltipHandler, "#ffffff");
|
||||
startLineLeftPosition, startLineRightPosition, startLineInfoProvider, "#ffffff");
|
||||
// TODO bug3027: show SmallTransparentInfoOverlay in addition to tooltip if course geometry option is true; remove it if option is false
|
||||
// TODO bug3027: show *all* course middle lines if course geometry option is true
|
||||
|
||||
@@ -1411,7 +1411,7 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
|
||||
finishLine = showOrRemoveOrUpdateLine(finishLine, /* showLine */ courseDTO.getFinishMarkPositions() != null && courseDTO.getFinishMarkPositions().size() == 2 &&
|
||||
(oneBasedLegOfLeadingCompetitor > 0 && oneBasedLegOfLeadingCompetitor == numberOfLegs && settings.getHelpLinesSettings().isVisible(HelpLineTypes.FINISHLINE))
|
||||
|| settings.getHelpLinesSettings().isVisible(HelpLineTypes.COURSEGEOMETRY),
|
||||
finishLineLeftPosition, finishLineRightPosition, finishLineTooltipHandler, "#000000");
|
||||
finishLineLeftPosition, finishLineRightPosition, finishLineInfoProvider, "#000000");
|
||||
// the control point pairs for which we already decided whether or not
|
||||
// to show a course middle line for; values tell whether to show the line and for which zero-based
|
||||
// start waypoint index to do so; when for an equal control point pair multiple decisions with different
|
||||
@@ -1467,9 +1467,9 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
|
||||
final int zeroBasedIndexOfStartWaypoint, final boolean showLine) {
|
||||
final Position position1DTO = courseDTO.waypointPositions.get(zeroBasedIndexOfStartWaypoint);
|
||||
final Position position2DTO = courseDTO.waypointPositions.get(zeroBasedIndexOfStartWaypoint+1);
|
||||
final MouseOverMapHandler tooltipHandler = new MouseOverMapHandler() {
|
||||
final LineInfoProvider lineInfoProvider = new LineInfoProvider() {
|
||||
@Override
|
||||
public void onEvent(MouseOverMapEvent event) {
|
||||
public String getLineInfo() {
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
sb.append(stringMessages.courseMiddleLine());
|
||||
sb.append('\n');
|
||||
@@ -1487,12 +1487,16 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
|
||||
sb.append(stringMessages.degreesToWind(diff));
|
||||
}
|
||||
}
|
||||
map.setTitle(sb.toString());
|
||||
return sb.toString();
|
||||
}
|
||||
};
|
||||
return showOrRemoveOrUpdateLine(lineToShowOrRemoveOrUpdate, showLine, position1DTO, position2DTO, tooltipHandler, "#2268a0");
|
||||
return showOrRemoveOrUpdateLine(lineToShowOrRemoveOrUpdate, showLine, position1DTO, position2DTO, lineInfoProvider, "#2268a0");
|
||||
}
|
||||
|
||||
private interface LineInfoProvider {
|
||||
String getLineInfo();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param showLine
|
||||
* tells whether or not to show the line; if the <code>lineToShowOrRemoveOrUpdate</code> references a
|
||||
@@ -1503,7 +1507,7 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
|
||||
* otherwise
|
||||
*/
|
||||
private Polyline showOrRemoveOrUpdateLine(Polyline lineToShowOrRemoveOrUpdate, final boolean showLine,
|
||||
final Position position1DTO, final Position position2DTO, final MouseOverMapHandler tooltipHandler, String lineColorRGB) {
|
||||
final Position position1DTO, final Position position2DTO, final LineInfoProvider lineInfoProvider, String lineColorRGB) {
|
||||
if (showLine) {
|
||||
LatLng courseMiddleLinePoint1 = coordinateSystem.toLatLng(position1DTO);
|
||||
LatLng courseMiddleLinePoint2 = coordinateSystem.toLatLng(position2DTO);
|
||||
@@ -1518,7 +1522,12 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
|
||||
pointsAsArray = MVCArray.newInstance();
|
||||
lineToShowOrRemoveOrUpdate = Polyline.newInstance(options);
|
||||
lineToShowOrRemoveOrUpdate.setPath(pointsAsArray);
|
||||
lineToShowOrRemoveOrUpdate.addMouseOverHandler(tooltipHandler);
|
||||
lineToShowOrRemoveOrUpdate.addMouseOverHandler(new MouseOverMapHandler() {
|
||||
@Override
|
||||
public void onEvent(MouseOverMapEvent event) {
|
||||
map.setTitle(lineInfoProvider.getLineInfo());
|
||||
}
|
||||
});
|
||||
lineToShowOrRemoveOrUpdate.addMouseOutMoveHandler(new MouseOutMapHandler() {
|
||||
@Override
|
||||
public void onEvent(MouseOutMapEvent event) {
|
||||
|
||||
Reference in new issue
Block a user