mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-23 22:19:13 +00:00
Merge remote-tracking branch 'origin/simulator_dev'
This commit is contained in:
+4
-2
@@ -119,8 +119,10 @@ public abstract class FullCanvasOverlay extends CanvasOverlay {
|
||||
context2d.setGlobalAlpha(1.0f);
|
||||
if (getMap().getZoomLevel() >= 11) {
|
||||
context2d.setFillStyle(textColor);
|
||||
context2d.setFont("normal 12pt Calibri");
|
||||
context2d.fillText(text, x + 10., y + 4.);
|
||||
double fontsize = 9.0 + (12.0-9.0)*(getMap().getZoomLevel() - 10.0)/(12.0-10.0);
|
||||
context2d.setFont("normal "+fontsize+"px Calibri");
|
||||
context2d.fillText(text, x + 0.7*fontsize, y + 0.3*fontsize);
|
||||
//System.out.println("ZoomLevel: "+getMap().getZoomLevel()+", Fontsize: "+fontsize);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+11
@@ -27,6 +27,9 @@ public class WindPatternDisplayManagerImpl implements WindPatternDisplayManager
|
||||
this.setMode(mode);
|
||||
List<WindPatternDTO> list = new ArrayList<WindPatternDTO>();
|
||||
for (WindPattern w : WindPattern.values()) {
|
||||
if (((w == WindPattern.MEASURED)||(w == WindPattern.NONE))&&(mode == SailingSimulatorUtil.event)) {
|
||||
continue;
|
||||
}
|
||||
list.add(new WindPatternDTO(w.name(), w.getDisplayName()));
|
||||
}
|
||||
return list;
|
||||
@@ -57,6 +60,14 @@ public class WindPatternDisplayManagerImpl implements WindPatternDisplayManager
|
||||
}
|
||||
|
||||
private void addBlastParameters(WindPatternDisplay display) {
|
||||
if (mode == SailingSimulatorUtil.event) {
|
||||
WindPatternSetting<Double> windBearingSetting = new WindPatternSettingSliderBar("windBearing",
|
||||
"Base Bearing (Degrees)", 0, 360, 0, 36);
|
||||
display.addSetting(windBearingSetting);
|
||||
WindPatternSetting<Double> baseWindBearing = new WindPatternSettingSliderBar("baseWindBearing",
|
||||
"Race Course Diff (Degrees)", -20, 20, 0,10);
|
||||
display.addSetting(baseWindBearing);
|
||||
}
|
||||
WindPatternSetting<Double> windSpeedSetting = new WindPatternSettingSliderBar("baseWindSpeed",
|
||||
"Base Speed (kn)", 2, 22, 12,10);
|
||||
display.addSetting(windSpeedSetting);
|
||||
|
||||
+1
-1
@@ -275,7 +275,7 @@ public class RegattaAreaCanvasOverlay extends FullCanvasOverlay {
|
||||
context2d.setFillStyle(colorText);
|
||||
|
||||
double fontsize = 14.0 + (32.0-14.0)*(getMap().getZoomLevel() - 11.0)/(14.0-11.0);
|
||||
context2d.setFont("bold "+fontsize+"px Calibri");
|
||||
context2d.setFont("normal "+fontsize+"px Calibri");
|
||||
//TextMetrics txtmet = context2d.measureText(name);
|
||||
context2d.setTextAlign(TextAlign.CENTER);
|
||||
context2d.fillText(name, centerPoint.getX() - this.getWidgetPosLeft(), centerPoint.getY()+0.32*fontsize - this.getWidgetPosTop());
|
||||
|
||||
+24
-34
@@ -38,6 +38,7 @@ import com.google.gwt.user.client.ui.ListBox;
|
||||
import com.google.gwt.user.client.ui.Panel;
|
||||
import com.google.gwt.user.client.ui.PopupPanel.PositionCallback;
|
||||
import com.google.gwt.user.client.ui.RadioButton;
|
||||
import com.google.gwt.user.client.ui.RequiresResize;
|
||||
import com.google.gwt.user.client.ui.SimplePanel;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.sap.sailing.domain.common.dto.BoatClassDTO;
|
||||
@@ -63,9 +64,18 @@ import com.sap.sailing.simulator.util.SailingSimulatorUtil;
|
||||
|
||||
public class SimulatorMainPanel extends SimplePanel {
|
||||
|
||||
private class resizableFlowPanel extends FlowPanel implements RequiresResize {
|
||||
|
||||
@Override
|
||||
public void onResize() {
|
||||
simulatorMap.getMap().checkResizeAndCenter();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private DockLayoutPanel mainPanel;
|
||||
private FlowPanel leftPanel;
|
||||
private FlowPanel rightPanel;
|
||||
private resizableFlowPanel rightPanel;
|
||||
private VerticalPanel windPanel;
|
||||
|
||||
private Button updateButton;
|
||||
@@ -237,7 +247,7 @@ public class SimulatorMainPanel extends SimplePanel {
|
||||
this.setSize("100%", "100%");
|
||||
|
||||
leftPanel = new FlowPanel();
|
||||
rightPanel = new FlowPanel();
|
||||
rightPanel = new resizableFlowPanel();
|
||||
patternSelector = new ListBox();
|
||||
patternSelectorHandler = new PatternSelectorHandler();
|
||||
patternSelector.addChangeHandler(patternSelectorHandler);
|
||||
@@ -289,14 +299,18 @@ public class SimulatorMainPanel extends SimplePanel {
|
||||
|
||||
createOptionsPanelTop();
|
||||
createOptionsPanel();
|
||||
createMapOptionsPanel();
|
||||
|
||||
fullTimePanel = this.createTimePanel();
|
||||
|
||||
mainPanel = new DockLayoutPanel(Unit.PX);
|
||||
|
||||
mainPanel.setSize("100%", "100%");
|
||||
mainPanel.addWest(leftPanel, 470);
|
||||
mainPanel.addSouth(fullTimePanel, 90);
|
||||
mainPanel.setWidgetHidden(fullTimePanel, true);
|
||||
|
||||
createMapOptionsPanel(); // add map-options to mainPanel-North
|
||||
|
||||
mainPanel.add(rightPanel);
|
||||
this.setWidget(mainPanel);
|
||||
|
||||
@@ -304,29 +318,9 @@ public class SimulatorMainPanel extends SimplePanel {
|
||||
|
||||
}
|
||||
|
||||
private void showTimePanel(boolean visible) {
|
||||
|
||||
boolean isContained = mainPanel.getWidgetIndex(fullTimePanel) >= 0;
|
||||
|
||||
if (visible) {
|
||||
|
||||
if (!isContained) {
|
||||
fullTimePanel.setVisible(true);
|
||||
mainPanel.insertSouth(fullTimePanel, 90, null);
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
if (isContained) {
|
||||
mainPanel.remove(fullTimePanel);
|
||||
fullTimePanel.setVisible(false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
mainPanel.forceLayout();
|
||||
simulatorMap.getMap().checkResizeAndCenter();
|
||||
|
||||
public void showTimePanel(boolean visible) {
|
||||
mainPanel.setWidgetHidden(fullTimePanel, !visible);
|
||||
mainPanel.forceLayout(); // trigger onResize() on child panels, relevant for map resize & center
|
||||
}
|
||||
|
||||
private void createOptionsPanelTop() {
|
||||
@@ -395,7 +389,7 @@ public class SimulatorMainPanel extends SimplePanel {
|
||||
patternSelector.setItemSelected(patternSelector.getItemCount()-1, true);
|
||||
patternSelectorHandler.onChange(null);
|
||||
} else {
|
||||
patternSelector.setItemSelected(1, true);
|
||||
patternSelector.setItemSelected(0, true);
|
||||
patternSelectorHandler.onChange(null);
|
||||
}
|
||||
}
|
||||
@@ -504,7 +498,8 @@ public class SimulatorMainPanel extends SimplePanel {
|
||||
}
|
||||
|
||||
mapOptions.add(busyIndicator);
|
||||
rightPanel.add(mapOptions);
|
||||
//rightPanel.add(mapOptions);
|
||||
mainPanel.addNorth(mapOptions, 45);
|
||||
|
||||
initDisplayOptions(mapOptions);
|
||||
if (mode == SailingSimulatorUtil.event) {
|
||||
@@ -515,12 +510,7 @@ public class SimulatorMainPanel extends SimplePanel {
|
||||
|
||||
simulatorMap = new SimulatorMap(simulatorSvc, stringMessages, errorReporter, xRes, yRes, timer, timePanel,
|
||||
windParams, busyIndicator, mode, this);
|
||||
//simulatorMap.setSize("100%", "100%");
|
||||
//simulatorMap.getElement().getStyle().setProperty("position", "relative");
|
||||
simulatorMap.getElement().getStyle().setProperty("height", "calc(100% - 45px)");
|
||||
simulatorMap.getElement().getStyle().setProperty("width", "100%");
|
||||
//simulatorMap.getElement().getStyle().setProperty("left", "0px");
|
||||
//simulatorMap.getElement().getStyle().setProperty("right", "0px");
|
||||
simulatorMap.setSize("100%", "100%");
|
||||
|
||||
this.rightPanel.add(this.simulatorMap);
|
||||
}
|
||||
|
||||
+1
@@ -350,6 +350,7 @@ public class SimulatorMap extends AbsolutePanel implements RequiresDataInitializ
|
||||
regattaAreaCanvasOverlay = new RegattaAreaCanvasOverlay(this);
|
||||
mapw.addOverlay(regattaAreaCanvasOverlay);
|
||||
regattaAreaCanvasOverlay.setVisible(true);
|
||||
//parent.showTimePanel(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user