Implemented the toogle feature of show/hide the wind streamlets by clicking on the combinedWIndPanelIcon

But so far for some strange reason the clickhandler is not triggered
This commit is contained in:
fmittag
2016-07-20 16:58:42 +02:00
parent e595841051
commit 243e114e21
10 changed files with 46 additions and 11 deletions
@@ -1326,7 +1326,9 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages,
String currentFilterSelection();
String notCapableOfGeneratingACodeForIdentifier();
String serverUrl();
String rotatedFromTrueNorthClickToToggleWindUp(double mappedTrueNorthDeg);
String rotatedFromTrueNorth(double mappedTrueNorthDeg);
String clickToToggleWindUp();
String clickToToggleWindStreamlets();
String startLineToFirstMarkTriangle(String distanceInMeters);
String dataMiningComponentsHaveBeenUpdated();
String dataMiningComponentsNeedReloadDialogMessage();
@@ -1287,7 +1287,9 @@ filterBy=Filter by
currentFilterSelection=Current filter selection
notCapableOfGeneratingACodeForIdentifier=I''m not capable of generating a code for this identifier.
serverUrl=Server URL
rotatedFromTrueNorthClickToToggleWindUp=Rotated {0} degrees from true north.\nTap/click to toggle between wind-up and north-up map display
rotatedFromTrueNorth=Rotated {0} degrees from true north.
clickToToggleWindUp=Tap/click to toggle between wind-up and north-up map display
clickToToggleWindStreamlets=Tap/click to show or hide the wind streamlets
startLineToFirstMarkTriangle=Start to first mark ({0}m)
dataMiningComponentsHaveBeenUpdated=The Data-Mining components have been updated
dataMiningComponentsNeedReloadDialogMessage=Click Reload to reload the components now. This will discard the current displayed data and run a default query.\nClick Close to do nothing. The Data-Mining won''t work correctly, until the components have been reloaded.
@@ -1275,7 +1275,9 @@ filterBy=Gefiltert nach
currentFilterSelection=Aktuelle Filter-Selektion
notCapableOfGeneratingACodeForIdentifier=Für diesen Identifier kann kein Barcode generiert werden.
serverUrl=Server URL
rotatedFromTrueNorthClickToToggleWindUp={0}° gegenüber rechtweisend Nord rotiert.\nKlick wechselt zwischen Kartenanzeige "Wind oben" und "Nord oben"
rotatedFromTrueNorth={0}° gegenüber rechtweisend Nord rotiert.
clickToToggleWindUp=Klick wechselt zwischen Kartenanzeige "Wind oben" und "Nord oben"
clickToToggleWindStreamlets=Klick wechselt der Anzeige der Windstreamlets
startLineToFirstMarkTriangle=Vom Start zur nächsten Bahnmarke ({0}m)
dataMiningComponentsHaveBeenUpdated=Die Data-Mining Komponenten wurden aktualisiert
dataMiningComponentsNeedReloadDialogMessage=Klicke auf Neu Laden, um die Komponenten jetzt neu zu laden. Die aktuell angezeigten Daten gehen dabei verloren und eine Standard-Query wird ausgeführt.\nKlicke auf Schließen, um nichts zu tun. Das Data-Mining wird nicht korrekt funktionieren, bis die Komponenten neu geladen wurden.
@@ -1283,7 +1283,9 @@ filterBy=フィルタキー
currentFilterSelection=現在のフィルタ選択
notCapableOfGeneratingACodeForIdentifier=この ID のコードを生成することができません。
serverUrl=サーバ URL
rotatedFromTrueNorthClickToToggleWindUp=真北から {0} 度を回転。\nタップ/クリックしてウィンドアップとノースアップの間のマップ表示を切替
rotatedFromTrueNorth=真北から {0} 度を回転。
clickToToggleWindUp=タップ/クリックしてウィンドアップとノースアップの間のマップ表示を切替
clickToToggleWindStreamlets=Tap/click to show or hide the wind streamlets
startLineToFirstMarkTriangle=スタートから第一マークまで ({0}m)
dataMiningComponentsHaveBeenUpdated=データマイニングコンポーネントが更新されました
dataMiningComponentsNeedReloadDialogMessage=リロードをクリックして、コンポーネントをリロードします。これにより、現在表示されているデータが破棄され、デフォルトクエリが実行されます。\n何も行わない場合は閉じるをクリックします。データマイニングは、コンポーネントがリロードされるまでは正しく機能しません。
@@ -1283,7 +1283,9 @@ filterBy=Фильтровать по
currentFilterSelection=Текущий выбор фильтра
notCapableOfGeneratingACodeForIdentifier=Я не могу сгенерировать код для этого идентификатора.
serverUrl=URL-адрес сервера
rotatedFromTrueNorthClickToToggleWindUp=Повернуто на {0} град. от истинного севера.\nКоснитесь/щелкните для переключения между отображением карты с ветром или севером вверху
rotatedFromTrueNorth=Повернуто на {0} град. от истинного севера.
clickToToggleWindUp=Коснитесь/щелкните для переключения между отображением карты с ветром или севером вверху
clickToToggleWindStreamlets=Tap/click to show or hide the wind streamlets
startLineToFirstMarkTriangle=От старта до первой отметки ({0} м)
dataMiningComponentsHaveBeenUpdated=Компоненты добычи данных обновлены.
dataMiningComponentsNeedReloadDialogMessage=Щелкните "Перезагрузить", чтобы перезагрузить компоненты сейчас. Текущее отображение данных будет с##рошено с выполнением запроса по умолчанию. Добыча данных не будет работать правильно до перезагрузки компонентов.
@@ -1283,7 +1283,9 @@ filterBy=筛选方式
currentFilterSelection=当前筛选器选择
notCapableOfGeneratingACodeForIdentifier=无法为此标识符生成代码。
serverUrl=服务器 URL
rotatedFromTrueNorthClickToToggleWindUp=自真北方向旋转{0}度。\n点按/点击在风向向上和北向上地图显示之间切换
rotatedFromTrueNorth=自真北方向旋转{0}度。
clickToToggleWindUp=点按/点击在风向向上和北向上地图显示之间切换
clickToToggleWindStreamlets=Tap/click to show or hide the wind streamlets
startLineToFirstMarkTriangle=开始经过第一个标志 ({0}m)
dataMiningComponentsHaveBeenUpdated=数据挖掘组件已更新
dataMiningComponentsNeedReloadDialogMessage=点击“重新加载”,立即重新加载组件。 这将放弃当前显示的数据,并运行默认查询。\n点击“关闭”不执行任何操作。 在重新加载组件前,数据挖掘不能正常工作。
@@ -1283,7 +1283,9 @@ filterBy=筛选方式
currentFilterSelection=当前筛选器选择
notCapableOfGeneratingACodeForIdentifier=无法为此标识符生成代码。
serverUrl=服务器 URL
rotatedFromTrueNorthClickToToggleWindUp=自真北方向旋转{0}度。\n点按/点击在风向向上和北向上地图显示之间切换
rotatedFromTrueNorth=自真北方向旋转{0}度。
clickToToggleWindUp=点按/点击在风向向上和北向上地图显示之间切换
clickToToggleWindStreamlets=Tap/click to show or hide the wind streamlets
startLineToFirstMarkTriangle=开始经过第一个标志 ({0}m)
dataMiningComponentsHaveBeenUpdated=数据挖掘组件已更新
dataMiningComponentsNeedReloadDialogMessage=点击“重新加载”,立即重新加载组件。 这将放弃当前显示的数据,并运行默认查询。\n点击“关闭”不执行任何操作。 在重新加载组件前,数据挖掘不能正常工作。
@@ -1,6 +1,8 @@
package com.sap.sailing.gwt.ui.client.shared.racemap;
import com.google.gwt.canvas.client.Canvas;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.i18n.client.NumberFormat;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.Label;
@@ -26,7 +28,7 @@ public class CombinedWindPanel extends FlowPanel {
private RaceMapStyle raceMapStyle;
private final CoordinateSystem coordinateSystem;
public CombinedWindPanel(RaceMapImageManager theRaceMapResources, RaceMapStyle raceMapStyle,
public CombinedWindPanel(final RaceMap map, RaceMapImageManager theRaceMapResources, RaceMapStyle raceMapStyle,
StringMessages stringMessages, CoordinateSystem coordinateSystem) {
raceMapStyle.ensureInjected();
this.stringMessages = stringMessages;
@@ -38,6 +40,23 @@ public class CombinedWindPanel extends FlowPanel {
canvas = transformer.getCanvas();
canvas.addStyleName(this.raceMapStyle.raceMapIndicatorPanelCanvas());
add(canvas);
canvas.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
RaceMapSettings oldRaceMapSettings = map.getSettings();
boolean newShowStreamletsOverlaySetting = !oldRaceMapSettings.isShowWindStreamletOverlay();
final RaceMapSettings newRaceMapSettings = new RaceMapSettings(oldRaceMapSettings.getZoomSettings(),
oldRaceMapSettings.getHelpLinesSettings(), oldRaceMapSettings.getTransparentHoverlines(),
oldRaceMapSettings.getHoverlineStrokeWeight(), oldRaceMapSettings.getTailLengthInMilliseconds(), oldRaceMapSettings.isWindUp(),
oldRaceMapSettings.getBuoyZoneRadiusInMeters(), oldRaceMapSettings.isShowOnlySelectedCompetitors(),
oldRaceMapSettings.isShowSelectedCompetitorsInfo(), oldRaceMapSettings.isShowWindStreamletColors(),
newShowStreamletsOverlaySetting, oldRaceMapSettings.isShowSimulationOverlay(),
oldRaceMapSettings.isShowMapControls(), oldRaceMapSettings.getManeuverTypesToShow(),
oldRaceMapSettings.isShowDouglasPeuckerPoints());
map.updateSettings(newRaceMapSettings);
}
});
textLabel = new Label("");
textLabel.addStyleName(this.raceMapStyle.raceMapIndicatorPanelTextLabel());
add(textLabel);
@@ -53,7 +72,8 @@ public class CombinedWindPanel extends FlowPanel {
double rotationDegOfWindSymbol = windDTO.dampenedTrueWindBearingDeg;
transformer.drawTransformedImage(coordinateSystem.mapDegreeBearing(rotationDegOfWindSymbol), 1.0);
String title = stringMessages.wind() + ": " + Math.round(windFromDeg) + " "
+ stringMessages.degreesShort() + " (" + WindSourceTypeFormatter.format(windSource, stringMessages) + ")";
+ stringMessages.degreesShort() + " (" + WindSourceTypeFormatter.format(windSource, stringMessages) + ")" +
+ '\n'+ stringMessages.clickToToggleWindStreamlets();
canvas.setTitle(title);
textLabel.setText(numberFormat.format(speedInKnots) + " " + stringMessages.knotsUnit());
if (!isVisible()) {
@@ -447,7 +447,7 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
panelForLeftHeaderLabels = new AbsolutePanel();
panelForRightHeaderLabels = new AbsolutePanel();
initializeData(settings.isShowMapControls(), showHeaderPanel);
combinedWindPanel = new CombinedWindPanel(raceMapImageManager, raceMapResources.raceMapStyle(), stringMessages, coordinateSystem);
combinedWindPanel = new CombinedWindPanel(this, raceMapImageManager, raceMapResources.raceMapStyle(), stringMessages, coordinateSystem);
combinedWindPanel.setVisible(false);
trueNorthIndicatorPanel = new TrueNorthIndicatorPanel(this, raceMapImageManager, raceMapResources.raceMapStyle(), stringMessages, coordinateSystem);
trueNorthIndicatorPanel.setVisible(true);
@@ -65,7 +65,8 @@ public class TrueNorthIndicatorPanel extends FlowPanel {
protected void redraw() {
final double mappedTrueNorthDeg = coordinateSystem.mapDegreeBearing(0);
transformer.drawTransformedImage(mappedTrueNorthDeg, 1.0);
String title = stringMessages.rotatedFromTrueNorthClickToToggleWindUp(Math.round(mappedTrueNorthDeg));
String title = stringMessages.rotatedFromTrueNorth(Math.round(mappedTrueNorthDeg)) + '\n' +
stringMessages.clickToToggleWindUp();
canvas.setTitle(title);
NumberFormat numberFormat = NumberFormat.getFormat("0.0");
textLabel.setText(mappedTrueNorthDeg == 0 ? "N" : numberFormat.format(mappedTrueNorthDeg));