mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-06 04:13:51 +00:00
added a (still empty) settings dialog for the RegattaRaceStatesComponent
This commit is contained in:
1 parent
c7b50c8af2
commit
ee15fc8de0
9 files changed
+199
-68
No files matched your search
+1
-1
@@ -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.
|
||||||
|
|||||||
+1
-1
@@ -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
|
||||||
|
|||||||
+3
-3
@@ -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;
|
||||||
+44
-31
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+43
-30
@@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+45
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
+60
@@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
File renamed without changes.
+2
-2
@@ -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();
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user