mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-03 17:49:40 +00:00
Merge branch 'racecommittee_wind'
This commit is contained in:
commit
cf31cfff62
43 files changed
+736
-100
No files matched your search
+30
@@ -1,6 +1,7 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
|
||||
import com.google.gwt.i18n.client.Messages;
|
||||
import com.google.gwt.safehtml.shared.SafeHtml;
|
||||
|
||||
public interface StringMessages extends Messages {
|
||||
String helloWorld();
|
||||
@@ -270,6 +271,7 @@ public interface StringMessages extends Messages {
|
||||
String trackBasedEstimationWindSourceTypeName();
|
||||
String expeditionWindSourceTypeName();
|
||||
String webWindSourceTypeName();
|
||||
String raceCommitteeWindSourceTypeName();
|
||||
String clickChartToSetTime();
|
||||
String position();
|
||||
String windSourcesUsed();
|
||||
@@ -700,6 +702,33 @@ public interface StringMessages extends Messages {
|
||||
String raceLogReloaded();
|
||||
String reloadAllRaceLogs();
|
||||
String sideline();
|
||||
String classAndGolfUp();
|
||||
String classDisplayed();
|
||||
String papaDisplayed();
|
||||
String blackDisplayed();
|
||||
String zuluIndiaDisplayed();
|
||||
String papaRemoved();
|
||||
String blackRemoved();
|
||||
String zuluIndiaRemoved();
|
||||
String classFlagRemoved();
|
||||
String xray();
|
||||
String firstSubstitute();
|
||||
String blueFlagDisplayed();
|
||||
String blueFlagRemoved();
|
||||
String golfRemoved();
|
||||
String answeringPennantOverAlphaDisplayed();
|
||||
String answeringPennantOverHotelDisplayed();
|
||||
String answeringPennantDisplayed();
|
||||
String answeringPennantRemoved();
|
||||
String novemberOverAlphaDisplayed();
|
||||
String novemberOverHotelDisplayed();
|
||||
String novemberDisplayed();
|
||||
String bravoDisplayed();
|
||||
String bravoRemoved();
|
||||
String essThreeDisplayed();
|
||||
String essTwoDisplayed();
|
||||
String essOneDisplayed();
|
||||
String essOneRemoved();
|
||||
String export();
|
||||
String dataBeforeAfter();
|
||||
String rawFixes();
|
||||
@@ -713,4 +742,5 @@ public interface StringMessages extends Messages {
|
||||
String importOverrideSwitchLabel();
|
||||
String importSelectedLeaderboardGroups();
|
||||
String importSelectAtLeastOne();
|
||||
String deselectAll();
|
||||
}
|
||||
+30
-1
@@ -293,6 +293,7 @@ courseBasedWindSourceTypeName=Course Layout
|
||||
trackBasedEstimationWindSourceTypeName=Estimation
|
||||
expeditionWindSourceTypeName=Measured
|
||||
webWindSourceTypeName=Manual
|
||||
raceCommitteeWindSourceTypeName=Race Committee
|
||||
clickChartToSetTime=Click on the chart to set the time
|
||||
position=Position
|
||||
windSourcesUsed=Wind Sources Used
|
||||
@@ -695,6 +696,33 @@ raceLogReloaded=RaceLog successfully reloaded from database
|
||||
reloadAllRaceLogs=Reload all race logs
|
||||
export=Export
|
||||
sideline=Sideline
|
||||
classAndGolfUp=Flag displayed - eight minutes till start - the startprocedure is a gate start
|
||||
classDisplayed=Flag displayed - five minutes till start
|
||||
papaDisplayed=Start mode flag - four minutes till start
|
||||
blackDisplayed=Start mode flag - disqualification for early starters - four minutes till start
|
||||
zuluIndiaDisplayed=Start mode flag - penalties for early starters - four minutes till start
|
||||
papaRemoved=Start mode flag - one minute till start
|
||||
blackRemoved=Start mode flag - disqualification for early starters - one minute till start
|
||||
zuluIndiaRemoved=Start mode flag - start with penalties for early starters - one minute till start
|
||||
classFlagRemoved=Flag removed - race starting signal
|
||||
xray=Individual recall - had early starters
|
||||
firstSubstitute=General recall - had too many early starters - start procedure will be repeated
|
||||
blueFlagDisplayed=Flag displayed - first competitor passed the finishing line
|
||||
blueFlagRemoved=Flag removed - last competitor passed the finishing line or the finish time limit is passed
|
||||
golfRemoved=Flag removed - gate is closed
|
||||
answeringPennantOverAlphaDisplayed=Flag displayed - start postponed - no more racing today
|
||||
answeringPennantOverHotelDisplayed=Flag displayed - start postponed - further signals ashore
|
||||
answeringPennantDisplayed=Flag displayed - start postponed
|
||||
answeringPennantRemoved=Flag removed - start procedure starts in one minute
|
||||
novemberOverAlphaDisplayed=Flag displayed - race abandoned - no more racing today
|
||||
novemberOverHotelDisplayed=Flag displayed - race abandoned - further signals ashore
|
||||
novemberDisplayed=Flag displayed - race abandoned
|
||||
bravoDisplayed=Protest time started
|
||||
bravoRemoved=Protest time ended
|
||||
essThreeDisplayed=Three minutes till start
|
||||
essTwoDisplayed=Two minutes till start
|
||||
essOneDisplayed=One minute till start
|
||||
essOneRemoved=Race starting signal
|
||||
dataBeforeAfter=Data from before/after race
|
||||
rawFixes=All fixes (including outliers)
|
||||
importRemoteHost=Remote host:
|
||||
@@ -706,4 +734,5 @@ importServerError=GET leaderboardgroups request failed with Server error. Please
|
||||
importLeaderboardGroups=Leaderboard Groups:
|
||||
importOverrideSwitchLabel=Override existing data if names and ids match
|
||||
importSelectedLeaderboardGroups=Import selected leaderboard groups
|
||||
importSelectAtLeastOne=You have to select at least one leaderboard group to import
|
||||
importSelectAtLeastOne=You have to select at least one leaderboard group to import
|
||||
deselectAll=Deselect all
|
||||
+30
-1
@@ -294,6 +294,7 @@ courseBasedWindSourceTypeName=Kurslayout
|
||||
trackBasedEstimationWindSourceTypeName=Schätzung
|
||||
expeditionWindSourceTypeName=Messung
|
||||
webWindSourceTypeName=Manuell
|
||||
raceCommitteeWindSourceTypeName=Wettfahrtleitung
|
||||
clickChartToSetTime=Klicke auf das Diagramm um die Zeit zu setzen
|
||||
position=Position
|
||||
windSourcesUsed=Benutzte Windquellen
|
||||
@@ -691,6 +692,33 @@ raceLogReloaded=RaceLog wurde neu geladen
|
||||
reloadAllRaceLogs=Alle RaceLogs neu laden
|
||||
export=Exportieren
|
||||
sideline=Seitenlinie
|
||||
classAndGolfUp=Flagge angezeigt - acht Minuten bis zum Start - die Startprozedur ist der Gate Start
|
||||
classDisplayed=Flagge angezeigt - fünf Minuten bis zum Start
|
||||
papaDisplayed=Startmodusflagge - vier Minuten bis zum Start
|
||||
blackDisplayed=Startmodusflagge - Disqualifizierung für Frühstarter - vier Minuten bis zum Start
|
||||
zuluIndiaDisplayed=Startmodusflagge - Strafen für Frühstarter - vier Minuten bis zum Start
|
||||
papaRemoved=Startmodusflagge - eine Minute bis zum Start
|
||||
blackRemoved=Startmodusflagge - Disqualifizierung für Frühstarter - eine Minute bis zum Start
|
||||
zuluIndiaRemoved=Startmodusflagge - Strafen für Frühstarter - eine Minute bis zum Start
|
||||
classFlagRemoved=Flagge heruntergenommen - Rennstartsignal
|
||||
xray=Individueller Rückruf eines Frühstarters
|
||||
firstSubstitute=Gesamtrückruf - es gab zu viele Frühstarter - die Startprozedur wird wiederholt
|
||||
blueFlagDisplayed=Flagge angezeigt - erster Teilnehmer im Ziel
|
||||
blueFlagRemoved=Flagge heruntergenommen - letzter Teilnehmer hat das Ziel erreicht oder das Zielzeitlimit ist erreicht
|
||||
golfRemoved=Flagge heruntergenommen - das Startgate ist geschlossen
|
||||
answeringPennantOverAlphaDisplayed=Flagge angezeigt - Startverschiebung - heute keine Rennen mehr
|
||||
answeringPennantOverHotelDisplayed=Flagge angezeigt - Startverschiebung - weitere Signale an Land
|
||||
answeringPennantDisplayed=Flagge angezeigt - Startverschiebung
|
||||
answeringPennantRemoved=Flagge heruntergenommen - Startprozedur startet in einer Minute
|
||||
novemberOverAlphaDisplayed=Flagge angezeigt - Rennabbruch - heute keine Rennen mehr
|
||||
novemberOverHotelDisplayed=Flagge angezeigt - Rennabbruch - weitere Signale an Land
|
||||
novemberDisplayed=Flagge angezeigt - Rennabbruch
|
||||
bravoDisplayed=Protestzeit hat begonnen
|
||||
bravoRemoved=Protestzeit beendet
|
||||
essThreeDisplayed=Drei Minuten bis zum Start
|
||||
essTwoDisplayed=Zwei Minuten bis zum Start
|
||||
essOneDisplayed=Eine Minute bis zum Start
|
||||
essOneRemoved=Rennstartsignal
|
||||
dataBeforeAfter=Daten von vor/nach dem Rennen
|
||||
rawFixes=Alle Fixes (inklusive Ausreißer)
|
||||
importRemoteHost=Entfernter Host:
|
||||
@@ -702,4 +730,5 @@ importServerError=Der GET leaderboardgroups Request scheiterte an einem Server E
|
||||
importLeaderboardGroups=Leaderboard Groups:
|
||||
importOverrideSwitchLabel=Bei übereinstimmenden IDs und Namen die Daten überschreiben
|
||||
importSelectedLeaderboardGroups=Ausgewählte Leaderboard Groups selektieren
|
||||
importSelectAtLeastOne=Es muss mindestens eine Leaderboard Group ausgewählt werden
|
||||
importSelectAtLeastOne=Es muss mindestens eine Leaderboard Group ausgewählt werden
|
||||
deselectAll=Alle deselektieren
|
||||
+2
@@ -16,6 +16,8 @@ public class WindSourceTypeFormatter {
|
||||
return stringMessages.expeditionWindSourceTypeName();
|
||||
case WEB:
|
||||
return stringMessages.webWindSourceTypeName();
|
||||
case RACECOMMITTEE:
|
||||
return stringMessages.raceCommitteeWindSourceTypeName();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
package com.sap.sailing.gwt.ui.regattaoverview;
|
||||
|
||||
import com.sap.sailing.domain.common.racelog.Flags;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
|
||||
public class FlagsMeaningExplanator {
|
||||
|
||||
public static String getFlagsMeaning(StringMessages stringMessages, Flags upperFlag, Flags lowerFlag, boolean displayed) {
|
||||
if (upperFlag.equals(Flags.CLASS) && lowerFlag.equals(Flags.GOLF) && displayed) {
|
||||
return stringMessages.classAndGolfUp();
|
||||
} else if (upperFlag.equals(Flags.CLASS) && displayed) {
|
||||
return stringMessages.classDisplayed();
|
||||
} else if (upperFlag.equals(Flags.PAPA) && displayed) {
|
||||
return stringMessages.papaDisplayed();
|
||||
} else if (upperFlag.equals(Flags.BLACK) && displayed) {
|
||||
return stringMessages.blackDisplayed();
|
||||
} else if ((upperFlag.equals(Flags.ZULU) || upperFlag.equals(Flags.INDIA)) && displayed) {
|
||||
return stringMessages.zuluIndiaDisplayed();
|
||||
} else if (upperFlag.equals(Flags.PAPA) && !displayed) {
|
||||
return stringMessages.papaRemoved();
|
||||
} else if (upperFlag.equals(Flags.BLACK) && !displayed) {
|
||||
return stringMessages.blackRemoved();
|
||||
} else if ((upperFlag.equals(Flags.ZULU) || upperFlag.equals(Flags.INDIA)) && !displayed) {
|
||||
return stringMessages.zuluIndiaRemoved();
|
||||
} else if (upperFlag.equals(Flags.CLASS) && !displayed) {
|
||||
return stringMessages.classFlagRemoved();
|
||||
} else if (upperFlag.equals(Flags.XRAY)) {
|
||||
return stringMessages.xray();
|
||||
} else if (upperFlag.equals(Flags.FIRSTSUBSTITUTE)) {
|
||||
return stringMessages.firstSubstitute();
|
||||
} else if (upperFlag.equals(Flags.BLUE) && displayed) {
|
||||
return stringMessages.blueFlagDisplayed();
|
||||
} else if (upperFlag.equals(Flags.BLUE) && !displayed) {
|
||||
return stringMessages.blueFlagRemoved();
|
||||
} else if (upperFlag.equals(Flags.GOLF) && !displayed) {
|
||||
return stringMessages.golfRemoved();
|
||||
} else if (upperFlag.equals(Flags.AP) && lowerFlag.equals(Flags.ALPHA) && displayed) {
|
||||
return stringMessages.answeringPennantOverAlphaDisplayed();
|
||||
} else if (upperFlag.equals(Flags.AP) && lowerFlag.equals(Flags.HOTEL) && displayed) {
|
||||
return stringMessages.answeringPennantOverHotelDisplayed();
|
||||
} else if (upperFlag.equals(Flags.AP) && displayed) {
|
||||
return stringMessages.answeringPennantDisplayed();
|
||||
} else if (upperFlag.equals(Flags.AP) && !displayed) {
|
||||
return stringMessages.answeringPennantRemoved();
|
||||
} else if (upperFlag.equals(Flags.NOVEMBER) && lowerFlag.equals(Flags.ALPHA) && displayed) {
|
||||
return stringMessages.novemberOverAlphaDisplayed();
|
||||
} else if (upperFlag.equals(Flags.NOVEMBER) && lowerFlag.equals(Flags.HOTEL) && displayed) {
|
||||
return stringMessages.novemberOverHotelDisplayed();
|
||||
} else if (upperFlag.equals(Flags.NOVEMBER) && displayed) {
|
||||
return stringMessages.novemberDisplayed();
|
||||
} else if (upperFlag.equals(Flags.BRAVO) && displayed) {
|
||||
return stringMessages.bravoDisplayed();
|
||||
} else if (upperFlag.equals(Flags.BRAVO) && !displayed) {
|
||||
return stringMessages.bravoRemoved();
|
||||
} else if (upperFlag.equals(Flags.ESSTHREE) && displayed) {
|
||||
return stringMessages.essThreeDisplayed();
|
||||
} else if (upperFlag.equals(Flags.ESSTWO) && displayed) {
|
||||
return stringMessages.essTwoDisplayed();
|
||||
} else if (upperFlag.equals(Flags.ESSONE) && displayed) {
|
||||
return stringMessages.essOneDisplayed();
|
||||
} else if (upperFlag.equals(Flags.ESSONE) && !displayed) {
|
||||
return stringMessages.essOneRemoved();
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
}
|
||||
+2
-2
@@ -40,7 +40,7 @@ public class RaceDetailPanel extends SimplePanel {
|
||||
private final DateTimeFormat dateFormatter = DateTimeFormat.getFormat("dd.MM.yyyy");
|
||||
private final DurationFormat durationFormatter = new DurationFormat();
|
||||
private final NumberFormat decimalFormat = NumberFormat.getFormat("#.##");
|
||||
private final FlagAlphabetInterpreter flagInterpreter;
|
||||
private final RaceStateFlagsInterpreter flagInterpreter;
|
||||
private final StringMessages stringMessages;
|
||||
|
||||
private final Button closeButton;
|
||||
@@ -61,7 +61,7 @@ public class RaceDetailPanel extends SimplePanel {
|
||||
|
||||
public RaceDetailPanel(final StringMessages stringMessages, final ClickHandler closeButtonHandler) {
|
||||
this.stringMessages = stringMessages;
|
||||
this.flagInterpreter = new FlagAlphabetInterpreter(stringMessages);
|
||||
this.flagInterpreter = new RaceStateFlagsInterpreter(stringMessages);
|
||||
closeButton = new Button(stringMessages.close());
|
||||
closeButton.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
|
||||
+3
-3
@@ -1,13 +1,13 @@
|
||||
package com.sap.sailing.gwt.ui.regattaoverview;
|
||||
|
||||
import com.sap.sailing.domain.common.racelog.utils.FlagAlphabetInterpretationTemplate;
|
||||
import com.sap.sailing.domain.common.racelog.utils.RaceStateFlagsInterpretationTemplate;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
|
||||
public class FlagAlphabetInterpreter extends FlagAlphabetInterpretationTemplate {
|
||||
public class RaceStateFlagsInterpreter extends RaceStateFlagsInterpretationTemplate {
|
||||
|
||||
private StringMessages stringMessages;
|
||||
|
||||
public FlagAlphabetInterpreter(StringMessages stringMessages) {
|
||||
public RaceStateFlagsInterpreter(StringMessages stringMessages) {
|
||||
this.stringMessages = stringMessages;
|
||||
}
|
||||
|
||||
+8
-4
@@ -92,7 +92,7 @@ public class RegattaRaceStatesComponent extends SimplePanel implements Component
|
||||
private TextColumn<RegattaOverviewEntryDTO> fleetNameColumn;
|
||||
|
||||
private final RegattaRaceStatesSettings settings;
|
||||
private final FlagAlphabetInterpreter flagInterpreter;
|
||||
private final RaceStateFlagsInterpreter flagInterpreter;
|
||||
|
||||
private final String localStorageRegattaOverviewEventKey;
|
||||
|
||||
@@ -133,7 +133,7 @@ public class RegattaRaceStatesComponent extends SimplePanel implements Component
|
||||
|
||||
this.localStorageRegattaOverviewEventKey = LOCAL_STORAGE_REGATTA_OVERVIEW_KEY + eventIdAsString;
|
||||
|
||||
this.flagInterpreter = new FlagAlphabetInterpreter(stringMessages);
|
||||
this.flagInterpreter = new RaceStateFlagsInterpreter(stringMessages);
|
||||
|
||||
this.settings = new RegattaRaceStatesSettings();
|
||||
loadAndSetSettings(settings);
|
||||
@@ -411,11 +411,15 @@ public class RegattaRaceStatesComponent extends SimplePanel implements Component
|
||||
@Override
|
||||
public SafeHtml getValue(RegattaOverviewEntryDTO entryDTO) {
|
||||
String tooltip = "";
|
||||
if (entryDTO.raceInfo.lastUpperFlag != null) {
|
||||
if (entryDTO.raceInfo.lastUpperFlag != null && entryDTO.raceInfo.lastLowerFlag != null) {
|
||||
tooltip = entryDTO.raceInfo.lastUpperFlag.name();
|
||||
if (entryDTO.raceInfo.lastLowerFlag != null && !entryDTO.raceInfo.lastLowerFlag.equals(Flags.NONE)) {
|
||||
if (!entryDTO.raceInfo.lastLowerFlag.equals(Flags.NONE)) {
|
||||
tooltip += " over " + entryDTO.raceInfo.lastLowerFlag.name();
|
||||
}
|
||||
tooltip += " " + FlagsMeaningExplanator.getFlagsMeaning(stringMessages,
|
||||
entryDTO.raceInfo.lastUpperFlag,
|
||||
entryDTO.raceInfo.lastLowerFlag,
|
||||
entryDTO.raceInfo.isLastFlagDisplayed);
|
||||
}
|
||||
return SailingFlagsBuilder.render(
|
||||
entryDTO.raceInfo.lastUpperFlag,
|
||||
|
||||
+71
-2
@@ -6,7 +6,10 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.ClickHandler;
|
||||
import com.google.gwt.user.client.ui.Anchor;
|
||||
import com.google.gwt.user.client.ui.Button;
|
||||
import com.google.gwt.user.client.ui.CheckBox;
|
||||
import com.google.gwt.user.client.ui.FlowPanel;
|
||||
import com.google.gwt.user.client.ui.FocusWidget;
|
||||
@@ -34,6 +37,8 @@ public class RegattaRaceStatesSettingsDialogComponent implements SettingsDialogC
|
||||
private final Map<String, CheckBox> courseAreaCheckBoxMap;
|
||||
private final Map<String, CheckBox> regattaCheckBoxMap;
|
||||
private final Anchor resultingLink;
|
||||
private Button courseAreaDeselectButton;
|
||||
private Button regattaDeselectButton;
|
||||
|
||||
private final static String SETTINGS_DIALOG_COMPONENT = "SettingsDialogComponent";
|
||||
|
||||
@@ -68,9 +73,12 @@ public class RegattaRaceStatesSettingsDialogComponent implements SettingsDialogC
|
||||
Grid courseAreaGrid = new Grid(numberOfRequiredRows, maxCourseAreasPerRow);
|
||||
courseAreaPanel.add(courseAreaGrid);
|
||||
|
||||
boolean allCheckboxesSelected = true;
|
||||
for (CourseAreaDTO courseAreaDTO : courseAreas) {
|
||||
CheckBox checkBox = dialog.createCheckbox(courseAreaDTO.getName());
|
||||
checkBox.setValue(Util.contains(initialSettings.getVisibleCourseAreas(), courseAreaDTO.id));
|
||||
boolean isCourseAreaVisible = Util.contains(initialSettings.getVisibleCourseAreas(), courseAreaDTO.id);
|
||||
allCheckboxesSelected &= isCourseAreaVisible;
|
||||
checkBox.setValue(isCourseAreaVisible);
|
||||
courseAreaCheckBoxMap.put(courseAreaDTO.id, checkBox);
|
||||
|
||||
courseAreaGrid.setWidget(rowIndex, columnIndex++, checkBox);
|
||||
@@ -79,6 +87,29 @@ public class RegattaRaceStatesSettingsDialogComponent implements SettingsDialogC
|
||||
columnIndex = 0;
|
||||
}
|
||||
}
|
||||
|
||||
courseAreaDeselectButton = new Button();
|
||||
setTextOfDeselectButton(courseAreaDeselectButton, allCheckboxesSelected);
|
||||
courseAreaDeselectButton.addClickHandler(new ClickHandler() {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (courseAreaDeselectButton.getText().equals(stringMessages.deselectAll())) {
|
||||
for (CheckBox checkBox : courseAreaCheckBoxMap.values()) {
|
||||
checkBox.setValue(false);
|
||||
}
|
||||
courseAreaDeselectButton.setText(stringMessages.selectAll());
|
||||
} else {
|
||||
for (CheckBox checkBox : courseAreaCheckBoxMap.values()) {
|
||||
checkBox.setValue(true);
|
||||
}
|
||||
courseAreaDeselectButton.setText(stringMessages.deselectAll());
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
flowPanel.add(courseAreaDeselectButton);
|
||||
|
||||
return flowPanel;
|
||||
}
|
||||
|
||||
@@ -101,9 +132,12 @@ public class RegattaRaceStatesSettingsDialogComponent implements SettingsDialogC
|
||||
Grid regattaGrid = new Grid(numberOfRequiredRows, maxRegattasPerRow);
|
||||
regattaNamesPanel.add(regattaGrid);
|
||||
|
||||
boolean allCheckboxesSelected = true;
|
||||
for (RaceGroupDTO raceGroup : raceGroups) {
|
||||
CheckBox checkBox = dialog.createCheckbox(raceGroup.displayName);
|
||||
checkBox.setValue(Util.contains(initialSettings.getVisibleRegattas(), raceGroup.getName()));
|
||||
boolean isRaceGroupVisible = Util.contains(initialSettings.getVisibleRegattas(), raceGroup.getName());
|
||||
allCheckboxesSelected &= isRaceGroupVisible;
|
||||
checkBox.setValue(isRaceGroupVisible);
|
||||
regattaCheckBoxMap.put(raceGroup.getName(), checkBox);
|
||||
|
||||
regattaGrid.setWidget(rowIndex, columnIndex++, checkBox);
|
||||
@@ -112,9 +146,40 @@ public class RegattaRaceStatesSettingsDialogComponent implements SettingsDialogC
|
||||
columnIndex = 0;
|
||||
}
|
||||
}
|
||||
|
||||
regattaDeselectButton = new Button();
|
||||
setTextOfDeselectButton(regattaDeselectButton, allCheckboxesSelected);
|
||||
regattaDeselectButton.addClickHandler(new ClickHandler() {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (regattaDeselectButton.getText().equals(stringMessages.deselectAll())) {
|
||||
for (CheckBox checkBox : regattaCheckBoxMap.values()) {
|
||||
checkBox.setValue(false);
|
||||
}
|
||||
regattaDeselectButton.setText(stringMessages.selectAll());
|
||||
} else {
|
||||
for (CheckBox checkBox : regattaCheckBoxMap.values()) {
|
||||
checkBox.setValue(true);
|
||||
}
|
||||
regattaDeselectButton.setText(stringMessages.deselectAll());
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
flowPanel.add(regattaDeselectButton);
|
||||
|
||||
return flowPanel;
|
||||
}
|
||||
|
||||
private void setTextOfDeselectButton(Button deselectButton, boolean allCheckboxesSelected) {
|
||||
if (allCheckboxesSelected) {
|
||||
deselectButton.setText(stringMessages.deselectAll());
|
||||
} else {
|
||||
deselectButton.setText(stringMessages.selectAll());
|
||||
}
|
||||
}
|
||||
|
||||
private CheckBox getShowOnlyRacesOfSameDayWidget(DataEntryDialog<?> dialog) {
|
||||
showOnlyRacesOfSameDayCheckBox = dialog.createCheckbox(stringMessages.showOnlyRacesOfSameDay());
|
||||
showOnlyRacesOfSameDayCheckBox.setValue(initialSettings.isShowOnlyRacesOfSameDay());
|
||||
@@ -160,6 +225,8 @@ public class RegattaRaceStatesSettingsDialogComponent implements SettingsDialogC
|
||||
selectedCourseAreas.add(entry.getKey());
|
||||
}
|
||||
}
|
||||
boolean allCourseAreasSelected = selectedCourseAreas.size() == courseAreas.size();
|
||||
setTextOfDeselectButton(courseAreaDeselectButton, allCourseAreasSelected);
|
||||
|
||||
List<String> selectedRegattas = new ArrayList<String>();
|
||||
for (Entry<String, CheckBox> entry : regattaCheckBoxMap.entrySet()) {
|
||||
@@ -167,6 +234,8 @@ public class RegattaRaceStatesSettingsDialogComponent implements SettingsDialogC
|
||||
selectedRegattas.add(entry.getKey());
|
||||
}
|
||||
}
|
||||
boolean allRegattasSelected = selectedRegattas.size() == raceGroups.size();
|
||||
setTextOfDeselectButton(regattaDeselectButton, allRegattasSelected);
|
||||
|
||||
boolean isShowOnlyRacesOfSameDay = showOnlyRacesOfSameDayCheckBox.getValue();
|
||||
boolean isShowOnlyCurrentlyRunningRaces = showOnlyCurrentlyRunningRacesCheckBox.getValue();
|
||||
|
||||
Reference in new issue
Block a user