added a (still empty) settings dialog for the RegattaRaceStatesComponent

This commit is contained in:
fmittag committed 2013-05-24 11:22:42 +02:00
1 parent c7b50c8af2
commit ee15fc8de0
9 files changed
+199 -68

No files matched your search

@@ -77,7 +77,7 @@ sapSailingAnalytics=Sailing Analytics
leaderboard=Leaderboard leaderboard=Leaderboard
leaderboards=Leaderboards leaderboards=Leaderboards
leaderboardSettings=Leaderboard Settings leaderboardSettings=Leaderboard Settings
settings=Settings (e.g., leg detail selection) settings=Settings
selectAtLeastOneLegDetail=Select at least one leg detail selectAtLeastOneLegDetail=Select at least one leg detail
currentSpeedOverGroundInKnots=SOG currentSpeedOverGroundInKnots=SOG
currentSpeedOverGroundInKnotsTooltip=The current speed over ground. currentSpeedOverGroundInKnotsTooltip=The current speed over ground.
@@ -77,7 +77,7 @@ sapSailingAnalytics=Sailing Analytics
leaderboard=Ergebnisse leaderboard=Ergebnisse
leaderboards=Ranglistenlisten leaderboards=Ranglistenlisten
leaderboardSettings=Einstellungen Rangliste leaderboardSettings=Einstellungen Rangliste
settings=Einstellungen (z.B. Abschnittdetails auswählen) settings=Einstellungen
selectAtLeastOneLegDetail=Mindestens ein Detail auswählen selectAtLeastOneLegDetail=Mindestens ein Detail auswählen
currentSpeedOverGroundInKnots=FüG currentSpeedOverGroundInKnots=FüG
currentSpeedOverGroundInKnotsTooltip=Die aktuelle Fahrt über Grund currentSpeedOverGroundInKnotsTooltip=Die aktuelle Fahrt über Grund
@@ -14,7 +14,7 @@ import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.shared.RegattaOverviewEntryDTO; import com.sap.sailing.gwt.ui.shared.RegattaOverviewEntryDTO;
import com.sap.sailing.gwt.ui.shared.WaypointDTO; import com.sap.sailing.gwt.ui.shared.WaypointDTO;
public class CourseDesignTableComposite extends Composite { public class RaceCourseComposite extends Composite {
private final CellTable<WaypointDTO> waypointTable; private final CellTable<WaypointDTO> waypointTable;
private ListDataProvider<WaypointDTO> waypointDataProvider; private ListDataProvider<WaypointDTO> waypointDataProvider;
@@ -26,12 +26,12 @@ public class CourseDesignTableComposite extends Composite {
private RegattaOverviewEntryDTO race; private RegattaOverviewEntryDTO race;
private static RegattaOverviewTableResources tableRes = GWT.create(RegattaOverviewTableResources.class); private static RegattaRaceStatesTableResources tableRes = GWT.create(RegattaRaceStatesTableResources.class);
private static final String STYLE_NAME_PREFIX = "RegattaOverview-"; private static final String STYLE_NAME_PREFIX = "RegattaOverview-";
private static final String STYLE_WORD_WRAP = STYLE_NAME_PREFIX + "wordWrap"; private static final String STYLE_WORD_WRAP = STYLE_NAME_PREFIX + "wordWrap";
public CourseDesignTableComposite(final SailingServiceAsync sailingService, ErrorReporter errorReporter, public RaceCourseComposite(final SailingServiceAsync sailingService, ErrorReporter errorReporter,
final StringMessages stringMessages) { final StringMessages stringMessages) {
this.sailingService = sailingService; this.sailingService = sailingService;
this.stringMessages = stringMessages; this.stringMessages = stringMessages;
@@ -23,13 +23,14 @@ import com.sap.sailing.gwt.ui.client.TimeListener;
import com.sap.sailing.gwt.ui.client.Timer; import com.sap.sailing.gwt.ui.client.Timer;
import com.sap.sailing.gwt.ui.client.Timer.PlayModes; import com.sap.sailing.gwt.ui.client.Timer.PlayModes;
import com.sap.sailing.gwt.ui.client.Timer.PlayStates; import com.sap.sailing.gwt.ui.client.Timer.PlayStates;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
import com.sap.sailing.gwt.ui.shared.EventDTO; import com.sap.sailing.gwt.ui.shared.EventDTO;
import com.sap.sailing.gwt.ui.shared.RegattaOverviewEntryDTO; import com.sap.sailing.gwt.ui.shared.RegattaOverviewEntryDTO;
public class RegattaOverviewPanel extends SimplePanel implements RegattaOverviewRaceSelectionChangeListener { public class RegattaOverviewPanel extends SimplePanel implements RegattaOverviewRaceSelectionChangeListener {
private final long serverUpdateRate = 10000; private final long serverUpdateRateInMs = 10000;
private final long uiUpdateRate = 1000; private final long uiUpdateRateInMs = 1000;
private final Timer serverUpdateTimer; private final Timer serverUpdateTimer;
private final Timer uiUpdateTimer; private final Timer uiUpdateTimer;
@@ -41,13 +42,14 @@ public class RegattaOverviewPanel extends SimplePanel implements RegattaOverview
private RegattaOverviewRaceSelectionModel raceSelectionProvider; private RegattaOverviewRaceSelectionModel raceSelectionProvider;
private RegattaOverviewTableComposite regattaOverviewTableComposite; private RegattaRaceStatesComponent regattaRaceStatesComponent;
private CourseDesignTableComposite raceCourseDesignDetailsComposite; private RaceCourseComposite raceCourseComposite;
private final Label eventNameLabel; private final Label eventNameLabel;
private final Label venueNameLabel; private final Label venueNameLabel;
private final Label timeLabel; private final Label timeLabel;
private final Button filterButton; // private final Button filterButton;
private final Button settingsButton;
private final Button refreshNowButton; private final Button refreshNowButton;
private final Button startStopUpdatingButton; private final Button startStopUpdatingButton;
@@ -87,11 +89,11 @@ public class RegattaOverviewPanel extends SimplePanel implements RegattaOverview
raceSelectionProvider = new RegattaOverviewRaceSelectionModel(false); raceSelectionProvider = new RegattaOverviewRaceSelectionModel(false);
raceSelectionProvider.addRegattaOverviewRaceSelectionChangeListener(this); raceSelectionProvider.addRegattaOverviewRaceSelectionChangeListener(this);
regattaOverviewTableComposite = new RegattaOverviewTableComposite(sailingService, errorReporter, stringMessages, eventIdAsString, raceSelectionProvider); regattaRaceStatesComponent = new RegattaRaceStatesComponent(sailingService, errorReporter, stringMessages, eventIdAsString, raceSelectionProvider);
grid.setWidget(1, 0, regattaOverviewTableComposite); grid.setWidget(1, 0, regattaRaceStatesComponent);
raceCourseDesignDetailsComposite = new CourseDesignTableComposite(sailingService, errorReporter, stringMessages); raceCourseComposite = new RaceCourseComposite(sailingService, errorReporter, stringMessages);
grid.setWidget(1, 1, raceCourseDesignDetailsComposite); grid.setWidget(1, 1, raceCourseComposite);
grid.getRowFormatter().setVerticalAlign(0, HasVerticalAlignment.ALIGN_TOP); grid.getRowFormatter().setVerticalAlign(0, HasVerticalAlignment.ALIGN_TOP);
grid.getRowFormatter().setVerticalAlign(1, HasVerticalAlignment.ALIGN_TOP); grid.getRowFormatter().setVerticalAlign(1, HasVerticalAlignment.ALIGN_TOP);
@@ -101,29 +103,39 @@ public class RegattaOverviewPanel extends SimplePanel implements RegattaOverview
grid.getColumnFormatter().getElement(1).getStyle().setPaddingLeft(20.0, Unit.PX); grid.getColumnFormatter().getElement(1).getStyle().setPaddingLeft(20.0, Unit.PX);
//TODO: change filter button //TODO: change filter button
this.filterButton = new Button(stringMessages.disableRaceFilter()); // filterButton = new Button(stringMessages.disableRaceFilter());
filterButton.addClickHandler(new ClickHandler() { // filterButton.addClickHandler(new ClickHandler() {
//
@Override // @Override
public void onClick(ClickEvent event) { // public void onClick(ClickEvent event) {
boolean isFilterActive = regattaOverviewTableComposite.switchFilter(); // boolean isFilterActive = regattaRaceStatesComponent.switchFilter();
filterButton.setText(isFilterActive ? // filterButton.setText(isFilterActive ?
stringMessages.disableRaceFilter() : stringMessages.enableRaceFilter()); // stringMessages.disableRaceFilter() : stringMessages.enableRaceFilter());
} // }
}); // });
this.refreshNowButton = new Button(stringMessages.refreshNow()); refreshNowButton = new Button(stringMessages.refreshNow());
refreshNowButton.addClickHandler(new ClickHandler() { refreshNowButton.addClickHandler(new ClickHandler() {
@Override @Override
public void onClick(ClickEvent event) { public void onClick(ClickEvent event) {
regattaOverviewTableComposite.loadAndUpdateEventLog(); regattaRaceStatesComponent.loadAndUpdateEventLog();
} }
}); });
this.startStopUpdatingButton = new Button(stringMessages.stopUpdating());
this.startStopUpdatingButton.addClickHandler(new ClickHandler() { settingsButton = new Button(stringMessages.settings());
settingsButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
new SettingsDialog<RegattaRaceStatesSettings>(regattaRaceStatesComponent, stringMessages).show();
}
});
startStopUpdatingButton = new Button(stringMessages.stopUpdating());
startStopUpdatingButton.addClickHandler(new ClickHandler() {
@Override @Override
public void onClick(ClickEvent event) { public void onClick(ClickEvent event) {
@@ -141,17 +153,17 @@ public class RegattaOverviewPanel extends SimplePanel implements RegattaOverview
this.refreshNowButton.getElement().getStyle().setMarginLeft(20.0, Unit.PX); this.refreshNowButton.getElement().getStyle().setMarginLeft(20.0, Unit.PX);
this.startStopUpdatingButton.getElement().getStyle().setMarginLeft(20.0, Unit.PX); this.startStopUpdatingButton.getElement().getStyle().setMarginLeft(20.0, Unit.PX);
this.serverUpdateTimer = new Timer(PlayModes.Live, serverUpdateRate); this.serverUpdateTimer = new Timer(PlayModes.Live, serverUpdateRateInMs);
this.serverUpdateTimer.addTimeListener(new TimeListener() { this.serverUpdateTimer.addTimeListener(new TimeListener() {
@Override @Override
public void timeChanged(Date date) { public void timeChanged(Date date) {
regattaOverviewTableComposite.onUpdateServer(date); regattaRaceStatesComponent.onUpdateServer(date);
} }
}); });
this.serverUpdateTimer.play(); this.serverUpdateTimer.play();
this.uiUpdateTimer = new Timer(PlayModes.Live, uiUpdateRate); this.uiUpdateTimer = new Timer(PlayModes.Live, uiUpdateRateInMs);
this.uiUpdateTimer.addTimeListener(new TimeListener() { this.uiUpdateTimer.addTimeListener(new TimeListener() {
@Override @Override
@@ -202,7 +214,8 @@ public class RegattaOverviewPanel extends SimplePanel implements RegattaOverview
refreshStartStopClockPanel.setStyleName(STYLE_REFRESH_STOP_TIME); refreshStartStopClockPanel.setStyleName(STYLE_REFRESH_STOP_TIME);
refreshStartStopClockPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE); refreshStartStopClockPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
refreshStartStopClockPanel.add(filterButton); // refreshStartStopClockPanel.add(filterButton);
refreshStartStopClockPanel.add(settingsButton);
refreshStartStopClockPanel.add(refreshNowButton); refreshStartStopClockPanel.add(refreshNowButton);
refreshStartStopClockPanel.add(startStopUpdatingButton); refreshStartStopClockPanel.add(startStopUpdatingButton);
refreshStartStopClockPanel.add(timeLabel); refreshStartStopClockPanel.add(timeLabel);
@@ -218,16 +231,16 @@ public class RegattaOverviewPanel extends SimplePanel implements RegattaOverview
final RegattaOverviewEntryDTO selectedRegattaOverviewEntry; final RegattaOverviewEntryDTO selectedRegattaOverviewEntry;
if (selectedRegattaOverviewEntries.iterator().hasNext()) { if (selectedRegattaOverviewEntries.iterator().hasNext()) {
selectedRegattaOverviewEntry = selectedRegattaOverviewEntries.iterator().next(); selectedRegattaOverviewEntry = selectedRegattaOverviewEntries.iterator().next();
if (selectedRegattaOverviewEntry != null && regattaOverviewTableComposite.getAllRaces() != null) { if (selectedRegattaOverviewEntry != null && regattaRaceStatesComponent.getAllRaces() != null) {
for(RegattaOverviewEntryDTO regattaOverviewEntryDTO: regattaOverviewTableComposite.getAllRaces()) { for(RegattaOverviewEntryDTO regattaOverviewEntryDTO: regattaRaceStatesComponent.getAllRaces()) {
if(regattaOverviewEntryDTO.equals(selectedRegattaOverviewEntry)) { if(regattaOverviewEntryDTO.equals(selectedRegattaOverviewEntry)) {
raceCourseDesignDetailsComposite.setRace(regattaOverviewEntryDTO); raceCourseComposite.setRace(regattaOverviewEntryDTO);
break; break;
} }
} }
} }
} else { } else {
raceCourseDesignDetailsComposite.setRace(null); raceCourseComposite.setRace(null);
} }
} }
@@ -7,8 +7,6 @@ import java.util.Comparator;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import com.sap.sailing.domain.common.impl.Util.NaturalComparator;
import com.google.gwt.cell.client.ImageResourceCell; import com.google.gwt.cell.client.ImageResourceCell;
import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.GWT;
import com.google.gwt.i18n.client.DateTimeFormat; import com.google.gwt.i18n.client.DateTimeFormat;
@@ -18,33 +16,34 @@ import com.google.gwt.user.cellview.client.Column;
import com.google.gwt.user.cellview.client.ColumnSortEvent; import com.google.gwt.user.cellview.client.ColumnSortEvent;
import com.google.gwt.user.cellview.client.ColumnSortEvent.ListHandler; import com.google.gwt.user.cellview.client.ColumnSortEvent.ListHandler;
import com.google.gwt.user.cellview.client.TextColumn; import com.google.gwt.user.cellview.client.TextColumn;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HasHorizontalAlignment; import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import com.google.gwt.user.client.ui.SimplePanel; import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.view.client.ListDataProvider; import com.google.gwt.view.client.ListDataProvider;
import com.google.gwt.view.client.SelectionChangeEvent; import com.google.gwt.view.client.SelectionChangeEvent;
import com.google.gwt.view.client.SelectionModel; import com.google.gwt.view.client.SelectionModel;
import com.google.gwt.view.client.SingleSelectionModel; import com.google.gwt.view.client.SingleSelectionModel;
import com.sap.sailing.domain.common.impl.Util.NaturalComparator;
import com.sap.sailing.domain.common.racelog.Flags; import com.sap.sailing.domain.common.racelog.Flags;
import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus;
import com.sap.sailing.gwt.ui.client.ErrorReporter; import com.sap.sailing.gwt.ui.client.ErrorReporter;
import com.sap.sailing.gwt.ui.client.MarkedAsyncCallback; import com.sap.sailing.gwt.ui.client.MarkedAsyncCallback;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.shared.RaceInfoDTO; import com.sap.sailing.gwt.ui.shared.RaceInfoDTO;
import com.sap.sailing.gwt.ui.shared.RegattaOverviewEntryDTO; import com.sap.sailing.gwt.ui.shared.RegattaOverviewEntryDTO;
public class RegattaOverviewTableComposite extends Composite { public class RegattaRaceStatesComponent extends SimplePanel implements Component<RegattaRaceStatesSettings> {
private List<RegattaOverviewEntryDTO> allEntries; private List<RegattaOverviewEntryDTO> allEntries;
private boolean isFilterActive;
private final SelectionModel<RegattaOverviewEntryDTO> raceSelectionModel; private final SelectionModel<RegattaOverviewEntryDTO> raceSelectionModel;
private final CellTable<RegattaOverviewEntryDTO> regattaOverviewTable; private final CellTable<RegattaOverviewEntryDTO> regattaOverviewTable;
private ListDataProvider<RegattaOverviewEntryDTO> regattaOverviewDataProvider; private ListDataProvider<RegattaOverviewEntryDTO> regattaOverviewDataProvider;
private final SimplePanel mainPanel; private final VerticalPanel mainPanel;
private final VerticalPanel panel;
private final DateTimeFormat timeFormatter = DateTimeFormat.getFormat("HH:mm:ss"); private final DateTimeFormat timeFormatter = DateTimeFormat.getFormat("HH:mm:ss");
private final SailingServiceAsync sailingService; private final SailingServiceAsync sailingService;
@@ -54,9 +53,11 @@ public class RegattaOverviewTableComposite extends Composite {
private final FlagImageResolver flagImageResolver; private final FlagImageResolver flagImageResolver;
private static RegattaOverviewTableResources tableRes = GWT.create(RegattaOverviewTableResources.class); private RegattaRaceStatesSettings settings;
private static RegattaRaceStatesTableResources tableRes = GWT.create(RegattaRaceStatesTableResources.class);
public RegattaOverviewTableComposite(final SailingServiceAsync sailingService, ErrorReporter errorReporter, public RegattaRaceStatesComponent(final SailingServiceAsync sailingService, ErrorReporter errorReporter,
final StringMessages stringMessages, final String eventIdAsString, final RegattaOverviewRaceSelectionProvider raceSelectionProvider) { final StringMessages stringMessages, final String eventIdAsString, final RegattaOverviewRaceSelectionProvider raceSelectionProvider) {
this.sailingService = sailingService; this.sailingService = sailingService;
this.stringMessages = stringMessages; this.stringMessages = stringMessages;
@@ -64,12 +65,10 @@ public class RegattaOverviewTableComposite extends Composite {
this.raceSelectionProvider = raceSelectionProvider; this.raceSelectionProvider = raceSelectionProvider;
this.flagImageResolver = new FlagImageResolver(); this.flagImageResolver = new FlagImageResolver();
this.isFilterActive = true; settings = new RegattaRaceStatesSettings();
mainPanel = new SimplePanel(); mainPanel = new VerticalPanel();
panel = new VerticalPanel(); setWidth("100%");
mainPanel.setWidget(panel);
mainPanel.setWidth("100%");
regattaOverviewDataProvider = new ListDataProvider<RegattaOverviewEntryDTO>(); regattaOverviewDataProvider = new ListDataProvider<RegattaOverviewEntryDTO>();
regattaOverviewTable = createRegattaTable(); regattaOverviewTable = createRegattaTable();
@@ -86,9 +85,8 @@ public class RegattaOverviewTableComposite extends Composite {
regattaOverviewTable.setSelectionModel(raceSelectionModel); regattaOverviewTable.setSelectionModel(raceSelectionModel);
panel.add(regattaOverviewTable); mainPanel.add(regattaOverviewTable);
setWidget(mainPanel);
initWidget(mainPanel);
loadAndUpdateEventLog(); loadAndUpdateEventLog();
} }
@@ -109,12 +107,6 @@ public class RegattaOverviewTableComposite extends Composite {
loadAndUpdateEventLog(); loadAndUpdateEventLog();
} }
public boolean switchFilter() {
this.isFilterActive = !isFilterActive;
updateTable(allEntries);
return isFilterActive;
}
private void updateTable(List<RegattaOverviewEntryDTO> newEntries) { private void updateTable(List<RegattaOverviewEntryDTO> newEntries) {
allEntries = newEntries; allEntries = newEntries;
regattaOverviewDataProvider.getList().clear(); regattaOverviewDataProvider.getList().clear();
@@ -148,11 +140,6 @@ public class RegattaOverviewTableComposite extends Composite {
} }
}); });
// And now we are going to filter
if (!isFilterActive) {
return reversedUnfilterted;
}
List<RegattaOverviewEntryDTO> filtered = new ArrayList<RegattaOverviewEntryDTO>(); List<RegattaOverviewEntryDTO> filtered = new ArrayList<RegattaOverviewEntryDTO>();
int maxAddtionalRacesCount = 2; int maxAddtionalRacesCount = 2;
for (RegattaOverviewEntryDTO entry : reversedUnfilterted) { for (RegattaOverviewEntryDTO entry : reversedUnfilterted) {
@@ -404,7 +391,7 @@ public class RegattaOverviewTableComposite extends Composite {
private void showSelectedRaces() { private void showSelectedRaces() {
List<RegattaOverviewEntryDTO> selectedRaces = getSelectedRaces(); List<RegattaOverviewEntryDTO> selectedRaces = getSelectedRaces();
RegattaOverviewTableComposite.this.raceSelectionProvider.setSelection(selectedRaces); RegattaRaceStatesComponent.this.raceSelectionProvider.setSelection(selectedRaces);
} }
private String getStatusText(RaceInfoDTO raceInfo) { private String getStatusText(RaceInfoDTO raceInfo) {
@@ -438,4 +425,30 @@ public class RegattaOverviewTableComposite extends Composite {
} }
return statusText; return statusText;
} }
@Override
public boolean hasSettings() {
return true;
}
@Override
public SettingsDialogComponent<RegattaRaceStatesSettings> getSettingsDialogComponent() {
return new RegattaRaceStatesSettingsDialogComponent(settings, stringMessages);
}
@Override
public void updateSettings(RegattaRaceStatesSettings newSettings) {
// TODO: update the settings here
updateTable(allEntries);
}
@Override
public String getLocalizedShortName() {
return "Regatta Overview";
}
@Override
public Widget getEntryWidget() {
return this;
}
} }
@@ -0,0 +1,45 @@
package com.sap.sailing.gwt.ui.regattaoverview;
import java.util.ArrayList;
import java.util.List;
import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus;
public class RegattaRaceStatesSettings {
private List<RaceLogRaceStatus> visibleRaceStates;
private List<String> visibleCourseAreas;
private List<String> visibleRegattas;
private boolean showOnlyRacesOfSameDay;
public RegattaRaceStatesSettings() {
this.visibleRaceStates = new ArrayList<RaceLogRaceStatus>();
this.visibleCourseAreas = new ArrayList<String>();
this.visibleRegattas = new ArrayList<String>();
this.showOnlyRacesOfSameDay = false;
}
public RegattaRaceStatesSettings(List<RaceLogRaceStatus> visibleRaceStates, List<String> visibleCourseAreas,
List<String> visibleRegattas, boolean showOnlyRacesOfSameDay) {
this.visibleRaceStates = visibleRaceStates;
this.visibleCourseAreas = visibleCourseAreas;
this.visibleRegattas = visibleRegattas;
this.showOnlyRacesOfSameDay = showOnlyRacesOfSameDay;
}
public List<RaceLogRaceStatus> getVisibleRaceStates() {
return visibleRaceStates;
}
public List<String> getVisibleCourseAreas() {
return visibleCourseAreas;
}
public List<String> getVisibleRegattas() {
return visibleRegattas;
}
public boolean isShowOnlyRacesOfSameDay() {
return showOnlyRacesOfSameDay;
}
}
@@ -0,0 +1,60 @@
package com.sap.sailing.gwt.ui.regattaoverview;
import com.google.gwt.user.client.ui.FocusWidget;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.ui.client.DataEntryDialog;
import com.sap.sailing.gwt.ui.client.DataEntryDialog.Validator;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
public class RegattaRaceStatesSettingsDialogComponent implements SettingsDialogComponent<RegattaRaceStatesSettings> {
private final StringMessages stringMessages;
private final RegattaRaceStatesSettings initialSettings;
private TextBox test;
public RegattaRaceStatesSettingsDialogComponent(RegattaRaceStatesSettings settings, StringMessages stringMessages) {
this.stringMessages = stringMessages;
this.initialSettings = settings;
}
@Override
public Widget getAdditionalWidget(DataEntryDialog<?> dialog) {
VerticalPanel vp = new VerticalPanel();
vp.add(new Label("Hallo Settings"));
test = dialog.createTextBox("???");
vp.add(test);
return vp;
}
@Override
public RegattaRaceStatesSettings getResult() {
RegattaRaceStatesSettings result = new RegattaRaceStatesSettings();
// TODO: set the values of the settings from the UI widgets here
return result;
}
@Override
public Validator<RegattaRaceStatesSettings> getValidator() {
return new Validator<RegattaRaceStatesSettings>() {
@Override
public String getErrorMessage(RegattaRaceStatesSettings valueToValidate) {
String errorMessage = null;
return errorMessage;
}
};
}
@Override
public FocusWidget getFocusWidget() {
return test;
}
}
@@ -2,7 +2,7 @@ package com.sap.sailing.gwt.ui.regattaoverview;
import com.google.gwt.user.cellview.client.CellTable; import com.google.gwt.user.cellview.client.CellTable;
public interface RegattaOverviewTableResources extends CellTable.Resources { public interface RegattaRaceStatesTableResources extends CellTable.Resources {
interface AdminConsoleTableStyle extends CellTable.Style { interface AdminConsoleTableStyle extends CellTable.Style {
/** /**
* Applied to header cells of race columns * Applied to header cells of race columns
@@ -17,6 +17,6 @@ public interface RegattaOverviewTableResources extends CellTable.Resources {
} }
@Override @Override
@Source({ CellTable.Style.DEFAULT_CSS, "RegattaOverviewTable.css" }) @Source({ CellTable.Style.DEFAULT_CSS, "RegattaRaceStatesTable.css" })
AdminConsoleTableStyle cellTableStyle(); AdminConsoleTableStyle cellTableStyle();
} }