refactor packages; add window resize to canvas;

This commit is contained in:
Christopher Ronnewinkel (D036654)
2013-07-16 15:15:47 +02:00
parent 42ff3826b2
commit 08839161c4
27 changed files with 89 additions and 46 deletions
@@ -19,8 +19,8 @@ import com.sap.sailing.gwt.ui.shared.WindFieldGenParamsDTO;
import com.sap.sailing.gwt.ui.shared.WindLatticeDTO;
import com.sap.sailing.gwt.ui.shared.WindLatticeGenParamsDTO;
import com.sap.sailing.gwt.ui.shared.WindPatternDTO;
import com.sap.sailing.gwt.ui.shared.windpattern.WindPatternDisplay;
import com.sap.sailing.gwt.ui.shared.windpattern.WindPatternNotFoundException;
import com.sap.sailing.gwt.ui.simulator.windpattern.WindPatternDisplay;
import com.sap.sailing.gwt.ui.simulator.windpattern.WindPatternNotFoundException;
@RemoteServiceRelativePath("simulator")
public interface SimulatorService extends RemoteService {
@@ -17,7 +17,7 @@ import com.sap.sailing.gwt.ui.shared.WindFieldGenParamsDTO;
import com.sap.sailing.gwt.ui.shared.WindLatticeDTO;
import com.sap.sailing.gwt.ui.shared.WindLatticeGenParamsDTO;
import com.sap.sailing.gwt.ui.shared.WindPatternDTO;
import com.sap.sailing.gwt.ui.shared.windpattern.WindPatternDisplay;
import com.sap.sailing.gwt.ui.simulator.windpattern.WindPatternDisplay;
public interface SimulatorServiceAsync {
@@ -48,11 +48,11 @@ import com.sap.sailing.gwt.ui.shared.WindLatticeDTO;
import com.sap.sailing.gwt.ui.shared.WindLatticeGenParamsDTO;
import com.sap.sailing.gwt.ui.shared.WindLinesDTO;
import com.sap.sailing.gwt.ui.shared.WindPatternDTO;
import com.sap.sailing.gwt.ui.shared.windpattern.WindPattern;
import com.sap.sailing.gwt.ui.shared.windpattern.WindPatternDisplay;
import com.sap.sailing.gwt.ui.shared.windpattern.WindPatternDisplayManager;
import com.sap.sailing.gwt.ui.shared.windpattern.WindPatternNotFoundException;
import com.sap.sailing.gwt.ui.shared.windpattern.WindPatternSetting;
import com.sap.sailing.gwt.ui.simulator.windpattern.WindPattern;
import com.sap.sailing.gwt.ui.simulator.windpattern.WindPatternDisplay;
import com.sap.sailing.gwt.ui.simulator.windpattern.WindPatternDisplayManager;
import com.sap.sailing.gwt.ui.simulator.windpattern.WindPatternNotFoundException;
import com.sap.sailing.gwt.ui.simulator.windpattern.WindPatternSetting;
import com.sap.sailing.simulator.BoatClassProperties;
import com.sap.sailing.simulator.Path;
import com.sap.sailing.simulator.PolarDiagram;
@@ -10,7 +10,7 @@ import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.i18n.client.TimeZone;
import com.google.gwt.maps.client.overlay.Overlay;
import com.sap.sailing.domain.common.impl.DegreeBearingImpl;
import com.sap.sailing.gwt.ui.shared.racemap.FullCanvasOverlay;
import com.sap.sailing.gwt.ui.simulator.racemap.FullCanvasOverlay;
/**
* Class to draw the legend for the different paths on the map.
@@ -23,9 +23,9 @@ import com.sap.sailing.gwt.ui.shared.RequestTotalTimeDTO;
import com.sap.sailing.gwt.ui.shared.ResponseTotalTimeDTO;
import com.sap.sailing.gwt.ui.shared.SimulatorUISelectionDTO;
import com.sap.sailing.gwt.ui.shared.SimulatorWindDTO;
import com.sap.sailing.gwt.ui.shared.racemap.TwoDPoint;
import com.sap.sailing.gwt.ui.shared.racemap.TwoDSegment;
import com.sap.sailing.gwt.ui.shared.racemap.TwoDVector;
import com.sap.sailing.gwt.ui.simulator.racemap.TwoDPoint;
import com.sap.sailing.gwt.ui.simulator.racemap.TwoDSegment;
import com.sap.sailing.gwt.ui.simulator.racemap.TwoDVector;
/**
* This class represents the path polyline overlay on the GWT map. This polyline is constructed with an array of turn
@@ -15,7 +15,7 @@ import com.google.gwt.maps.client.geom.Point;
import com.google.gwt.maps.client.overlay.Marker;
import com.google.gwt.maps.client.overlay.Overlay;
import com.sap.sailing.domain.common.Mile;
import com.sap.sailing.gwt.ui.shared.racemap.FullCanvasOverlay;
import com.sap.sailing.gwt.ui.simulator.racemap.FullCanvasOverlay;
/**
* This class implements the layer to display the race course on the map. Currently the course only consists of the
@@ -12,7 +12,7 @@ import com.google.gwt.maps.client.geom.LatLngBounds;
import com.google.gwt.maps.client.geom.Point;
import com.google.gwt.maps.client.overlay.Overlay;
import com.google.gwt.maps.client.overlay.Polygon;
import com.sap.sailing.gwt.ui.shared.racemap.FullCanvasOverlay;
import com.sap.sailing.gwt.ui.simulator.racemap.FullCanvasOverlay;
import com.sap.sailing.simulator.util.SailingSimulatorConstants;
public class RegattaAreaCanvasOverlay extends FullCanvasOverlay {
@@ -59,8 +59,8 @@ import com.sap.sailing.gwt.ui.shared.PolarDiagramDTOAndNotificationMessage;
import com.sap.sailing.gwt.ui.shared.SimulatorUISelectionDTO;
import com.sap.sailing.gwt.ui.shared.WindFieldGenParamsDTO;
import com.sap.sailing.gwt.ui.shared.WindPatternDTO;
import com.sap.sailing.gwt.ui.shared.windpattern.WindPatternDisplay;
import com.sap.sailing.gwt.ui.shared.windpattern.WindPatternSetting;
import com.sap.sailing.gwt.ui.simulator.windpattern.WindPatternDisplay;
import com.sap.sailing.gwt.ui.simulator.windpattern.WindPatternSetting;
import com.sap.sailing.simulator.util.SailingSimulatorConstants;
public class SimulatorMainPanel extends SimplePanel {
@@ -6,6 +6,8 @@ import java.util.LinkedList;
import java.util.List;
import java.util.logging.Logger;
import com.google.gwt.event.logical.shared.ResizeEvent;
import com.google.gwt.event.logical.shared.ResizeHandler;
import com.google.gwt.maps.client.MapWidget;
import com.google.gwt.maps.client.Maps;
import com.google.gwt.maps.client.control.ControlAnchor;
@@ -32,9 +34,9 @@ import com.sap.sailing.gwt.ui.shared.SimulatorResultsDTO;
import com.sap.sailing.gwt.ui.shared.SimulatorUISelectionDTO;
import com.sap.sailing.gwt.ui.shared.WindFieldDTO;
import com.sap.sailing.gwt.ui.shared.WindFieldGenParamsDTO;
import com.sap.sailing.gwt.ui.shared.windpattern.WindPatternDisplay;
import com.sap.sailing.gwt.ui.simulator.util.ColorPalette;
import com.sap.sailing.gwt.ui.simulator.util.ColorPaletteGenerator;
import com.sap.sailing.gwt.ui.simulator.windpattern.WindPatternDisplay;
import com.sap.sailing.simulator.util.SailingSimulatorConstants;
public class SimulatorMap extends AbsolutePanel implements RequiresDataInitialization, TimeListenerWithStoppingCriteria {
@@ -351,6 +353,7 @@ public class SimulatorMap extends AbsolutePanel implements RequiresDataInitializ
if (regattaAreaCanvasOverlay == null) {
mapw.setContinuousZoom(true);
regattaAreaCanvasOverlay = new RegattaAreaCanvasOverlay(this);
mapw.addOverlay(regattaAreaCanvasOverlay);
regattaAreaCanvasOverlay.setVisible(true);
//parent.showTimePanel(false);
@@ -387,6 +390,31 @@ public class SimulatorMap extends AbsolutePanel implements RequiresDataInitializ
// timeListeners.add(replayPathCanvasOverlay);
this.legendCanvasOverlay = new PathLegendCanvasOverlay();
Window.addResizeHandler(new ResizeHandler() {
@Override
public void onResize(ResizeEvent event) {
regattaAreaCanvasOverlay.onResize();
for(PathCanvasOverlay pathCanvas : replayPathCanvasOverlays) {
pathCanvas.onResize();
}
if (windFieldCanvasOverlay != null) {
windFieldCanvasOverlay.onResize();
}
if (windStreamletsCanvasOverlay != null) {
windStreamletsCanvasOverlay.onResize();
}
if (windGridCanvasOverlay != null) {
windGridCanvasOverlay.onResize();
}
if (windLineCanvasOverlay != null) {
windLineCanvasOverlay.onResize();
}
legendCanvasOverlay.onResize();
}
});
this.overlaysInitialized = true;
}
@@ -19,7 +19,7 @@ import com.sap.sailing.gwt.ui.client.Timer;
import com.sap.sailing.gwt.ui.shared.SimulatorWindDTO;
import com.sap.sailing.gwt.ui.shared.WindFieldDTO;
import com.sap.sailing.gwt.ui.shared.WindFieldGenParamsDTO;
import com.sap.sailing.gwt.ui.shared.racemap.FullCanvasOverlay;
import com.sap.sailing.gwt.ui.simulator.racemap.FullCanvasOverlay;
import com.sap.sailing.gwt.ui.simulator.util.ToolTip;
import com.sap.sailing.gwt.ui.simulator.util.WindFieldMapMouseMoveHandler;
@@ -25,7 +25,7 @@ import com.sap.sailing.gwt.ui.client.Timer;
import com.sap.sailing.gwt.ui.shared.SimulatorWindDTO;
import com.sap.sailing.gwt.ui.shared.WindFieldDTO;
import com.sap.sailing.gwt.ui.shared.WindFieldGenParamsDTO;
import com.sap.sailing.gwt.ui.shared.racemap.FullCanvasOverlay;
import com.sap.sailing.gwt.ui.simulator.racemap.FullCanvasOverlay;
import com.sap.sailing.gwt.ui.simulator.util.WindGridColorPalette;
/**
@@ -20,7 +20,7 @@ import com.google.gwt.maps.client.overlay.Overlay;
import com.sap.sailing.domain.common.dto.PositionDTO;
import com.sap.sailing.gwt.ui.client.Timer;
import com.sap.sailing.gwt.ui.shared.WindLinesDTO;
import com.sap.sailing.gwt.ui.shared.racemap.FullCanvasOverlay;
import com.sap.sailing.gwt.ui.simulator.racemap.FullCanvasOverlay;
import com.sap.sailing.gwt.ui.simulator.util.LineSegment;
public class WindLineCanvasOverlay extends FullCanvasOverlay implements TimeListenerWithStoppingCriteria {
@@ -21,7 +21,7 @@ import com.sap.sailing.domain.common.impl.DegreeBearingImpl;
import com.sap.sailing.gwt.ui.client.Timer;
import com.sap.sailing.gwt.ui.shared.SimulatorWindDTO;
import com.sap.sailing.gwt.ui.shared.WindFieldDTO;
import com.sap.sailing.gwt.ui.shared.racemap.FullCanvasOverlay;
import com.sap.sailing.gwt.ui.simulator.racemap.FullCanvasOverlay;
import com.sap.sailing.gwt.ui.simulator.util.ToolTip;
import com.sap.sailing.gwt.ui.simulator.util.WindFieldMapMouseMoveHandler;
@@ -1,10 +1,12 @@
package com.sap.sailing.gwt.ui.shared.racemap;
package com.sap.sailing.gwt.ui.simulator.racemap;
import java.util.logging.Logger;
import com.google.gwt.canvas.dom.client.Context2d;
import com.google.gwt.core.client.Scheduler;
import com.google.gwt.maps.client.geom.LatLng;
import com.google.gwt.maps.client.geom.Point;
import com.google.gwt.user.client.ui.RequiresResize;
import com.sap.sailing.domain.common.dto.PositionDTO;
import com.sap.sailing.gwt.ui.client.shared.racemap.CanvasOverlay;
import com.sap.sailing.gwt.ui.shared.SimulatorWindDTO;
@@ -16,7 +18,7 @@ import com.sap.sailing.gwt.ui.shared.SimulatorWindDTO;
* @author Nidhi Sawhney(D054070)
*
*/
public abstract class FullCanvasOverlay extends CanvasOverlay {
public abstract class FullCanvasOverlay extends CanvasOverlay implements RequiresResize {
/* x coordinate where the widget is placed */
private int widgetPosLeft = 0;
@@ -48,6 +50,19 @@ public abstract class FullCanvasOverlay extends CanvasOverlay {
}
@Override
public void onResize() {
Scheduler.get().scheduleDeferred(new Scheduler.ScheduledCommand() {
public void execute() {
setCanvasSettings();
redraw(true);
}
});
}
@Override
protected void redraw(boolean force) {
logger.info("In FullCanvasOverlay.redraw" + force);
@@ -1,4 +1,4 @@
package com.sap.sailing.gwt.ui.shared.racemap;
package com.sap.sailing.gwt.ui.simulator.racemap;
/**
* Represents a point in the bidimensional space
@@ -1,4 +1,4 @@
package com.sap.sailing.gwt.ui.shared.racemap;
package com.sap.sailing.gwt.ui.simulator.racemap;
/**
* Represents a segment (or line) in the bidimensional space.
@@ -1,4 +1,4 @@
package com.sap.sailing.gwt.ui.shared.racemap;
package com.sap.sailing.gwt.ui.simulator.racemap;
/**
* Represents a vector in the bidimensional space
@@ -12,7 +12,7 @@ import com.google.gwt.maps.client.event.MapMouseMoveHandler;
import com.google.gwt.maps.client.geom.LatLng;
import com.google.gwt.maps.client.geom.Point;
import com.sap.sailing.gwt.ui.shared.SimulatorWindDTO;
import com.sap.sailing.gwt.ui.shared.racemap.FullCanvasOverlay;
import com.sap.sailing.gwt.ui.simulator.racemap.FullCanvasOverlay;
/**
* To handle MouseMoveEvent to display tool tips around SimulatorWindDTO objects in a wind field
@@ -1,4 +1,4 @@
package com.sap.sailing.gwt.ui.shared.windpattern;
package com.sap.sailing.gwt.ui.simulator.windpattern;
public enum WindPattern {
@@ -1,4 +1,4 @@
package com.sap.sailing.gwt.ui.shared.windpattern;
package com.sap.sailing.gwt.ui.simulator.windpattern;
import java.util.List;
@@ -1,9 +1,9 @@
package com.sap.sailing.gwt.ui.shared.windpattern;
package com.sap.sailing.gwt.ui.simulator.windpattern;
import java.util.List;
import com.sap.sailing.gwt.ui.shared.WindPatternDTO;
import com.sap.sailing.gwt.ui.shared.windpattern.impl.WindPatternDisplayManagerImpl;
import com.sap.sailing.gwt.ui.simulator.windpattern.impl.WindPatternDisplayManagerImpl;
public interface WindPatternDisplayManager {
@@ -1,4 +1,4 @@
package com.sap.sailing.gwt.ui.shared.windpattern;
package com.sap.sailing.gwt.ui.simulator.windpattern;
public class WindPatternNotFoundException extends Exception {
@@ -1,4 +1,4 @@
package com.sap.sailing.gwt.ui.shared.windpattern;
package com.sap.sailing.gwt.ui.simulator.windpattern;
import java.util.List;
@@ -1,12 +1,12 @@
package com.sap.sailing.gwt.ui.shared.windpattern.impl;
package com.sap.sailing.gwt.ui.simulator.windpattern.impl;
import java.util.ArrayList;
import java.util.List;
import com.google.gwt.user.client.rpc.IsSerializable;
import com.sap.sailing.gwt.ui.shared.windpattern.WindPattern;
import com.sap.sailing.gwt.ui.shared.windpattern.WindPatternDisplay;
import com.sap.sailing.gwt.ui.shared.windpattern.WindPatternSetting;
import com.sap.sailing.gwt.ui.simulator.windpattern.WindPattern;
import com.sap.sailing.gwt.ui.simulator.windpattern.WindPatternDisplay;
import com.sap.sailing.gwt.ui.simulator.windpattern.WindPatternSetting;
public class WindPatternDisplayImpl implements WindPatternDisplay, IsSerializable {
@@ -1,13 +1,13 @@
package com.sap.sailing.gwt.ui.shared.windpattern.impl;
package com.sap.sailing.gwt.ui.simulator.windpattern.impl;
import java.util.ArrayList;
import java.util.List;
import com.sap.sailing.gwt.ui.shared.WindPatternDTO;
import com.sap.sailing.gwt.ui.shared.windpattern.WindPattern;
import com.sap.sailing.gwt.ui.shared.windpattern.WindPatternDisplay;
import com.sap.sailing.gwt.ui.shared.windpattern.WindPatternDisplayManager;
import com.sap.sailing.gwt.ui.shared.windpattern.WindPatternSetting;
import com.sap.sailing.gwt.ui.simulator.windpattern.WindPattern;
import com.sap.sailing.gwt.ui.simulator.windpattern.WindPatternDisplay;
import com.sap.sailing.gwt.ui.simulator.windpattern.WindPatternDisplayManager;
import com.sap.sailing.gwt.ui.simulator.windpattern.WindPatternSetting;
import com.sap.sailing.simulator.util.SailingSimulatorConstants;
public class WindPatternDisplayManagerImpl implements WindPatternDisplayManager {
@@ -1,10 +1,10 @@
package com.sap.sailing.gwt.ui.shared.windpattern.impl;
package com.sap.sailing.gwt.ui.simulator.windpattern.impl;
import java.util.ArrayList;
import java.util.List;
import com.google.gwt.user.client.rpc.IsSerializable;
import com.sap.sailing.gwt.ui.shared.windpattern.WindPatternSetting;
import com.sap.sailing.gwt.ui.simulator.windpattern.WindPatternSetting;
public class WindPatternSettingListBox implements WindPatternSetting<String>, IsSerializable {
@@ -1,9 +1,9 @@
package com.sap.sailing.gwt.ui.shared.windpattern.impl;
package com.sap.sailing.gwt.ui.simulator.windpattern.impl;
import java.util.List;
import com.google.gwt.user.client.rpc.IsSerializable;
import com.sap.sailing.gwt.ui.shared.windpattern.WindPatternSetting;
import com.sap.sailing.gwt.ui.simulator.windpattern.WindPatternSetting;
public class WindPatternSettingSliderBar implements WindPatternSetting<Double>, IsSerializable {