Merge remote-tracking branch 'server/master'

This commit is contained in:
Axel Uhl committed 2012-03-08 16:33:06 +01:00
commit a52a0e5645
9 files changed
+53 -27

No files matched your search

@@ -78,7 +78,7 @@ public class WindChart implements Component<WindChartSettings>, RaceSelectionCha
* server and displayed in this chart. If no race is selected, the chart is cleared.
*/
public WindChart(SailingServiceAsync sailingService, RaceSelectionProvider raceSelectionProvider,
Timer timer, WindChartSettings settings, final StringMessages stringMessages, ErrorReporter errorReporter, int chartHeight, boolean compactChart) {
Timer timer, WindChartSettings settings, final StringMessages stringMessages, ErrorReporter errorReporter, boolean compactChart) {
super();
this.sailingService = sailingService;
this.stringMessages = stringMessages;
@@ -92,7 +92,7 @@ public class WindChart implements Component<WindChartSettings>, RaceSelectionCha
.setZoomType(Chart.ZoomType.X)
.setSpacingRight(20)
.setWidth100()
.setHeight(chartHeight)
.setHeight100()
.setChartTitle(new ChartTitle().setText(stringMessages.wind()))
.setChartSubtitle(new ChartSubtitle().setText(stringMessages.clickAndDragToZoomIn()))
.setLegend(new Legend().setEnabled(true))
@@ -125,7 +125,7 @@ public class WindChart implements Component<WindChartSettings>, RaceSelectionCha
chart.getYAxis(1).setOpposite(true).setAxisTitleText(stringMessages.speed()+" ("+stringMessages.averageSpeedInKnotsUnit()+")")
.setStartOnTick(false).setShowFirstLabel(false).setGridLineWidth(0).setMinorGridLineWidth(0);
if (compactChart) {
chart.setSpacingBottom(4).setSpacingLeft(0).setSpacingRight(0).setSpacingTop(2)
chart.setSpacingBottom(4).setSpacingLeft(10).setSpacingRight(10).setSpacingTop(2)
.setLegend(new Legend().setMargin(2))
.setOption("title/margin", 5)
.setChartSubtitle(null)
@@ -134,6 +134,7 @@ public class WindChart implements Component<WindChartSettings>, RaceSelectionCha
mainPanel = new SimplePanel();
mainPanel.setWidget(chart);
mainPanel.setSize("100%", "100%");
updateSettings(settings);
if (raceSelectionProvider != null) {
raceSelectionProvider.addRaceSelectionChangeListener(this);
@@ -180,7 +180,7 @@ public class WindPanel extends FormPanel implements EventDisplayer, WindShower,
windSourceSelectionPanel.add(showConfigAnchor);
grid.setWidget(1, 0, windSourceSelectionPanel);
windChart = new WindChart(sailingService, /* race selection provider */ raceSelectionProvider,
new Timer(PlayModes.Replay), new WindChartSettings(WindSourceType.values()), stringMessages, errorReporter, 400, false);
new Timer(PlayModes.Replay), new WindChartSettings(WindSourceType.values()), stringMessages, errorReporter, false);
grid.setWidget(2, 0, windChart.getEntryWidget());
grid.getCellFormatter().setVerticalAlignment(1, 1, HasVerticalAlignment.ALIGN_TOP);
this.setWidget(grid);
@@ -73,7 +73,6 @@ implements CompetitorSelectionChangeListener, RaceSelectionChangeListener, TimeL
protected final ErrorReporter errorReporter;
protected Chart chart;
private boolean compactChart;
private int chartHeight;
protected final AbsolutePanel busyIndicatorPanel;
protected final Label noCompetitorsSelectedLabel;
protected final Map<CompetitorDTO, Series> dataSeriesByCompetitor;
@@ -88,7 +87,7 @@ implements CompetitorSelectionChangeListener, RaceSelectionChangeListener, TimeL
public AbstractChartPanel(SailingServiceAsync sailingService,
CompetitorSelectionProvider competitorSelectionProvider, RaceSelectionProvider raceSelectionProvider,
Timer timer, final StringMessages stringMessages, ErrorReporter errorReporter, DetailType dataToShow, int chartHeight, boolean compactChart) {
Timer timer, final StringMessages stringMessages, ErrorReporter errorReporter, DetailType dataToShow, boolean compactChart) {
this.stringMessages = stringMessages;
dataSeriesByCompetitor = new HashMap<CompetitorDTO, Series>();
markPassingSeriesByCompetitor = new HashMap<CompetitorDTO, Series>();
@@ -100,7 +99,6 @@ implements CompetitorSelectionChangeListener, RaceSelectionChangeListener, TimeL
this.dataToShow = dataToShow;
chartData = null;
this.compactChart = compactChart;
this.chartHeight = chartHeight;
this.sailingService = sailingService;
this.raceSelectionProvider = raceSelectionProvider;
raceSelectionProvider.addRaceSelectionChangeListener(this);
@@ -116,7 +114,7 @@ implements CompetitorSelectionChangeListener, RaceSelectionChangeListener, TimeL
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
busyIndicatorPanel.setSize("100%", "400px");
busyIndicatorPanel.setSize("100%", "100%");
busyIndicatorPanel.add(busyIndicator, busyIndicatorPanel.getOffsetWidth() / 2, busyIndicatorPanel.getOffsetHeight() / 2);
}
});
@@ -141,7 +139,7 @@ implements CompetitorSelectionChangeListener, RaceSelectionChangeListener, TimeL
Chart chart = new Chart().setZoomType(Chart.ZoomType.X)
.setSpacingRight(20)
.setWidth100()
.setHeight(chartHeight)
.setHeight100()
.setChartSubtitle(new ChartSubtitle().setText(stringMessages.clickAndDragToZoomIn()))
.setLegend(new Legend().setEnabled(true))
.setLinePlotOptions(new LinePlotOptions().setLineWidth(LINE_WIDTH).setMarker(new Marker().setEnabled(false).setHoverState(
@@ -182,7 +180,7 @@ implements CompetitorSelectionChangeListener, RaceSelectionChangeListener, TimeL
}));
if (compactChart) {
chart.setSpacingBottom(4).setSpacingLeft(0).setSpacingRight(0).setSpacingTop(2)
chart.setSpacingBottom(4).setSpacingLeft(10).setSpacingRight(10).setSpacingTop(2)
.setLegend(new Legend().setMargin(2))
.setOption("title/margin", 5)
.setChartSubtitle(null)
@@ -26,9 +26,9 @@ public class ChartPanel extends AbstractChartPanel<ChartSettings> implements Com
public ChartPanel(SailingServiceAsync sailingService, CompetitorSelectionProvider competitorSelectionProvider,
RaceSelectionProvider raceSelectionProvider, Timer timer, DetailType dataToShow, StringMessages stringMessages,
ErrorReporter errorReporter, int chartHeight, boolean compactChart) {
ErrorReporter errorReporter, boolean compactChart) {
super(sailingService, competitorSelectionProvider, raceSelectionProvider, timer, stringMessages, errorReporter,
dataToShow, chartHeight, compactChart);
dataToShow, compactChart);
}
@Override
@@ -54,7 +54,7 @@ public class CompareCompetitorsChartDialog extends DialogBox {
raceSelectionProvider.setAllRaces(races);
multiChartPanel = new MultiChartPanel(sailingService, competitorSelectionProvider, raceSelectionProvider,
timer, stringConstants, errorReporter, 400, false);
timer, stringConstants, errorReporter, false);
multiChartPanel.setSize("100%", "100%");
FlowPanel contentPanel = new FlowPanel();
@@ -25,9 +25,9 @@ import com.sap.sailing.gwt.ui.shared.components.SettingsDialogComponent;
public class MultiChartPanel extends AbstractChartPanel<MultiChartSettings> implements Component<MultiChartSettings> {
public MultiChartPanel(SailingServiceAsync sailingService, CompetitorSelectionProvider competitorSelectionProvider,
RaceSelectionProvider raceSelectionProvider, Timer timer, final StringMessages stringMessages,
ErrorReporter errorReporter, int chartHeight, boolean compactChart) {
ErrorReporter errorReporter, boolean compactChart) {
super(sailingService, competitorSelectionProvider, raceSelectionProvider, timer, stringMessages, errorReporter,
/*show initially*/ DetailType.WINDWARD_DISTANCE_TO_OVERALL_LEADER, chartHeight, compactChart);
/*show initially*/ DetailType.WINDWARD_DISTANCE_TO_OVERALL_LEADER, compactChart);
}
@Override
@@ -163,7 +163,6 @@ public class RaceBoardEntryPoint extends AbstractEntryPoint {
FlowPanel contentOuterPanel = new FlowPanel(); // outer div which centered page content
contentOuterPanel.addStyleName("contentOuterPanel");
contentOuterPanel.setSize("100%", "100%");
contentOuterPanel.add(raceBoardPanel);
//FlowPanel footerShadowPanel = new FlowPanel();
@@ -9,10 +9,12 @@ import java.util.Map;
import com.google.gwt.dom.client.Style;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Anchor;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.FormPanel;
import com.google.gwt.user.client.ui.MenuBar;
import com.google.gwt.user.client.ui.ToggleButton;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.domain.common.RaceIdentifier;
@@ -45,6 +47,7 @@ import com.sap.sailing.gwt.ui.shared.RegattaDTO;
import com.sap.sailing.gwt.ui.shared.UserDTO;
import com.sap.sailing.gwt.ui.shared.components.Component;
import com.sap.sailing.gwt.ui.shared.components.ComponentViewer;
import com.sap.sailing.gwt.ui.shared.components.SettingsDialog;
import com.sap.sailing.gwt.ui.shared.panels.BreadcrumbPanel;
/**
@@ -133,32 +136,58 @@ public class RaceBoardPanel extends FormPanel implements EventDisplayer, RaceSel
List<Component<?>> components = new ArrayList<Component<?>>();
MultiChartPanel competitorCharts = new MultiChartPanel(sailingService, competitorSelectionModel, raceSelectionProvider,
timer, stringMessages, errorReporter, 200, true);
timer, stringMessages, errorReporter, true);
competitorCharts.onRaceSelectionChange(raceSelectionProvider.getSelectedRaces());
components.add(competitorCharts);
competitorCharts.setVisible(false);
WindChartSettings windChartSettings = new WindChartSettings(WindSourceType.values());
WindChart windChart = new WindChart(sailingService, raceSelectionProvider, timer, windChartSettings,
stringMessages, errorReporter, 200, true);
stringMessages, errorReporter, true);
windChart.onRaceSelectionChange(raceSelectionProvider.getSelectedRaces());
windChart.setVisible(false);
components.add(windChart);
SideBySideComponentViewer leaderboardAndMapViewer = new SideBySideComponentViewer(leaderboardPanel, raceMap,
components, "100%", "100%");
SideBySideComponentViewer leaderboardAndMapViewer = new SideBySideComponentViewer(leaderboardPanel, raceMap, components);
componentViewers.add(leaderboardAndMapViewer);
for (ComponentViewer componentViewer : componentViewers) {
mainPanel.add(componentViewer.getViewerWidget());
}
MenuBar mainMenu = new MenuBar();
mainMenu.setStyleName("raceBoardNavigation-navigationitem");
MenuBar settingsMenu = new MenuBar(true);
mainMenu.addItem("Settings", settingsMenu);
addSettingsMenuItem(settingsMenu, leaderboardPanel);
addSettingsMenuItem(settingsMenu, raceMap);
addSettingsMenuItem(settingsMenu, windChart);
addSettingsMenuItem(settingsMenu, competitorCharts);
mainMenu.getElement().getStyle().setFloat(Style.Float.LEFT);
mainMenu.getElement().getStyle().setPadding(3, Style.Unit.PX);
mainMenu.getElement().getStyle().setMargin(3, Style.Unit.PX);
componentsNavigationPanel.add(mainMenu);
addComponentAsToogleButtonToNavigationMenu(leaderboardAndMapViewer, leaderboardPanel);
//addComponentAsToogleButtonToNavigationMenu(leaderboardAndMapViewer, raceMap);
addComponentAsToogleButtonToNavigationMenu(leaderboardAndMapViewer, windChart);
addComponentAsToogleButtonToNavigationMenu(leaderboardAndMapViewer, competitorCharts);
}
private <SettingsType> void addSettingsMenuItem(MenuBar settingsMenu, final Component<SettingsType> component) {
if(component.hasSettings()) {
settingsMenu.addItem(component.getLocalizedShortName(), new Command() {
public void execute() {
new SettingsDialog<SettingsType>(component, stringMessages).show();
}
});
}
}
private void createCascadingView(String leaderboardName, String leaderboardGroupName, FlowPanel mainPanel) {
// create the breadcrumb navigation
breadcrumbPanel = createBreadcrumbPanel(leaderboardGroupName);
@@ -190,7 +219,7 @@ public class RaceBoardPanel extends FormPanel implements EventDisplayer, RaceSel
WindChartSettings windChartSettings = new WindChartSettings(WindSourceType.values());
WindChart windChart = new WindChart(sailingService, raceSelectionProvider, timer, windChartSettings,
stringMessages, errorReporter, 400, false);
stringMessages, errorReporter, false);
CollapsableComponentViewer<WindChartSettings> windChartViewer = new CollapsableComponentViewer<WindChartSettings>(
windChart, "auto", "400px", stringMessages);
windChart.onRaceSelectionChange(raceSelectionProvider.getSelectedRaces());
@@ -203,7 +232,7 @@ public class RaceBoardPanel extends FormPanel implements EventDisplayer, RaceSel
// competitorCharts, "auto", "400px", stringMessages);
MultiChartPanel competitorCharts = new MultiChartPanel(sailingService, competitorSelectionModel, raceSelectionProvider,
timer, stringMessages, errorReporter, 400, false);
timer, stringMessages, errorReporter, false);
CollapsableComponentViewer<MultiChartSettings> chartViewer = new CollapsableComponentViewer<MultiChartSettings>(
competitorCharts, "auto", "400px", stringMessages);
@@ -23,8 +23,7 @@ public class SideBySideComponentViewer implements ComponentViewer {
private SplitLayoutPanel splitLayoutPanel;
private int savedSplitPosition = -1;
public SideBySideComponentViewer(Component<?> leftComponent, Component<?> rightComponent, List<Component<?>> components,
String defaultWidth, String defaultHeight) {
public SideBySideComponentViewer(Component<?> leftComponent, Component<?> rightComponent, List<Component<?>> components) {
this.leftComponent = leftComponent;
this.rightComponent = rightComponent;
this.components = components;
@@ -33,11 +32,11 @@ public class SideBySideComponentViewer implements ComponentViewer {
leftScrollPanel.add(leftComponent.getEntryWidget());
mainPanel = new LayoutPanel();
mainPanel.setSize(defaultWidth, defaultHeight);
mainPanel.setSize("100%", "100%");
splitLayoutPanel = new SplitLayoutPanel();
mainPanel.add(splitLayoutPanel);
splitLayoutPanel.setSize(defaultWidth, defaultHeight);
// splitLayoutPanel.setSize(defaultWidth, defaultHeight);
for(Component<?> component: components) {
if(component.isVisible())