trying to fix automatic sorting or leaderboard in case of pre-selected race

This commit is contained in:
Axel Uhl committed 2012-03-09 20:30:58 +01:00
1 parent c610eac44c
commit 586a6c9a3e
2 files changed
+10 -21

No files matched your search

@@ -147,11 +147,6 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta
private final Timer timer; private final Timer timer;
/**
* The delay with which the timer shall work. Before the timer is resumed, the delay is set to this value.
*/
private long delayInMilliseconds;
private boolean autoExpandFirstRace; private boolean autoExpandFirstRace;
/** /**
@@ -844,7 +839,6 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta
ErrorReporter errorReporter, final StringMessages stringMessages, final UserAgentTypes userAgentType) { ErrorReporter errorReporter, final StringMessages stringMessages, final UserAgentTypes userAgentType) {
this(sailingService, settings, preSelectedRace, competitorSelectionProvider, new Timer(PlayModes.Replay, /* delayBetweenAutoAdvancesInMilliseconds */3000l), this(sailingService, settings, preSelectedRace, competitorSelectionProvider, new Timer(PlayModes.Replay, /* delayBetweenAutoAdvancesInMilliseconds */3000l),
leaderboardName, leaderboardGroupName, errorReporter, stringMessages, userAgentType); leaderboardName, leaderboardGroupName, errorReporter, stringMessages, userAgentType);
timer.setDelay(getDelayInMilliseconds()); // set time/delay before adding as listener
} }
public LeaderboardPanel(SailingServiceAsync sailingService, LeaderboardSettings settings, RaceIdentifier preSelectedRace, public LeaderboardPanel(SailingServiceAsync sailingService, LeaderboardSettings settings, RaceIdentifier preSelectedRace,
@@ -865,7 +859,6 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta
selectedLegDetails.addAll(settings.getLegDetailsToShow()); selectedLegDetails.addAll(settings.getLegDetailsToShow());
selectedManeuverDetails.addAll(settings.getManeuverDetailsToShow()); selectedManeuverDetails.addAll(settings.getManeuverDetailsToShow());
selectedRaceDetails.addAll(settings.getRaceDetailsToShow()); selectedRaceDetails.addAll(settings.getRaceDetailsToShow());
delayInMilliseconds = settings.getDelayInMilliseconds();
setAutoExpandFirstRace(settings.isAutoExpandFirstRace()); setAutoExpandFirstRace(settings.isAutoExpandFirstRace());
this.timer = timer; this.timer = timer;
@@ -930,7 +923,6 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta
if (LeaderboardPanel.this.timer.getPlayState() == PlayStates.Playing) { if (LeaderboardPanel.this.timer.getPlayState() == PlayStates.Playing) {
LeaderboardPanel.this.timer.pause(); LeaderboardPanel.this.timer.pause();
} else { } else {
LeaderboardPanel.this.timer.setDelay(getDelayInMilliseconds());
LeaderboardPanel.this.timer.play(); LeaderboardPanel.this.timer.play();
} }
} }
@@ -996,16 +988,8 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta
return AbstractImagePrototype.create(playIcon).getSafeHtml(); return AbstractImagePrototype.create(playIcon).getSafeHtml();
} }
private long getDelayInMilliseconds() {
return delayInMilliseconds;
}
private void setDelayInMilliseconds(long delayInMilliseconds) { private void setDelayInMilliseconds(long delayInMilliseconds) {
this.delayInMilliseconds = delayInMilliseconds;
timer.setDelay(delayInMilliseconds); timer.setDelay(delayInMilliseconds);
if (timer.getPlayMode() == PlayModes.Live) {
}
} }
public boolean isAutoExpandFirstRace() { public boolean isAutoExpandFirstRace() {
@@ -1584,7 +1568,10 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta
playPause.setHTML(getPlayPauseImgHtml(playState)); playPause.setHTML(getPlayPauseImgHtml(playState));
playPause.setTitle(playState == PlayStates.Playing ? stringMessages.pauseAutomaticRefresh() : stringMessages.autoRefresh()); playPause.setTitle(playState == PlayStates.Playing ? stringMessages.pauseAutomaticRefresh() : stringMessages.autoRefresh());
if (!settingsUpdatedExplicitly && playMode != oldPlayMode) { if (!settingsUpdatedExplicitly && playMode != oldPlayMode) {
updateSettings(LeaderboardSettingsFactory.getInstance().createNewSettingsForPlayMode(playMode, /* columnToSort */ null)); // if settings weren't explicitly modified, auto-switch to live mode settings and sort for
// any pre-selected race
updateSettings(LeaderboardSettingsFactory.getInstance().createNewSettingsForPlayMode(playMode,
/* don't touch columnToSort */ preSelectedRace == null ? null : preSelectedRace.getRaceName()));
} }
currentlyHandlingPlayStateChange = false; currentlyHandlingPlayStateChange = false;
oldPlayMode = playMode; oldPlayMode = playMode;
@@ -1623,7 +1610,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta
Collections.unmodifiableList(selectedLegDetails), Collections.unmodifiableList(selectedLegDetails),
Collections.unmodifiableList(selectedRaceDetails), /* All races to select */ Collections.unmodifiableList(selectedRaceDetails), /* All races to select */
leaderboard.getRaceList(), selectedRaceColumns, leaderboard.getRaceList(), selectedRaceColumns,
autoExpandFirstRace, timer.getRefreshInterval(), delayInMilliseconds, stringMessages); autoExpandFirstRace, timer.getRefreshInterval(), timer.getLivePlayDelayInMillis(), stringMessages);
} }
@Override @Override
@@ -129,8 +129,10 @@ public class RaceBoardPanel extends FormPanel implements EventDisplayer, RaceSel
componentsNavigationPanel.addStyleName("raceBoardNavigation"); componentsNavigationPanel.addStyleName("raceBoardNavigation");
// create the default leaderboard and select the right race // create the default leaderboard and select the right race
LeaderboardSettings leaderBoardSettings = LeaderboardSettingsFactory.getInstance().createNewSettingsForPlayMode(timer.getPlayMode(), /* columnToSort */ null); LeaderboardSettings leaderBoardSettings = LeaderboardSettingsFactory.getInstance()
LeaderboardPanel leaderboardPanel = new LeaderboardPanel(sailingService, leaderBoardSettings, selectedRaceIdentifier, competitorSelectionModel, .createNewSettingsForPlayMode(timer.getPlayMode(), /* nameOfRaceToSort */ selectedRaceIdentifier.getRaceName());
LeaderboardPanel leaderboardPanel = new LeaderboardPanel(sailingService, leaderBoardSettings,
selectedRaceIdentifier, competitorSelectionModel,
timer, leaderboardName, leaderboardGroupName, errorReporter, stringMessages, userAgentType); timer, leaderboardName, leaderboardGroupName, errorReporter, stringMessages, userAgentType);
RaceMap raceMap = new RaceMap(sailingService, errorReporter, timer, competitorSelectionModel, stringMessages); RaceMap raceMap = new RaceMap(sailingService, errorReporter, timer, competitorSelectionModel, stringMessages);
raceMap.onRaceSelectionChange(Collections.singletonList(selectedRaceIdentifier)); raceMap.onRaceSelectionChange(Collections.singletonList(selectedRaceIdentifier));
@@ -201,7 +203,7 @@ public class RaceBoardPanel extends FormPanel implements EventDisplayer, RaceSel
// create the default leaderboard and select the right race // create the default leaderboard and select the right race
if(showLeaderboard) { if(showLeaderboard) {
LeaderboardSettings leaderBoardSettings = LeaderboardSettingsFactory.getInstance() LeaderboardSettings leaderBoardSettings = LeaderboardSettingsFactory.getInstance()
.createNewSettingsForPlayMode(timer.getPlayMode(), /* nameOfRaceToSort */null); .createNewSettingsForPlayMode(timer.getPlayMode(), /* nameOfRaceToSort */ selectedRaceIdentifier.getRaceName());
LeaderboardPanel leaderboardPanel = new LeaderboardPanel(sailingService, leaderBoardSettings, LeaderboardPanel leaderboardPanel = new LeaderboardPanel(sailingService, leaderBoardSettings,
selectedRaceIdentifier, competitorSelectionModel, timer, leaderboardName, leaderboardGroupName, selectedRaceIdentifier, competitorSelectionModel, timer, leaderboardName, leaderboardGroupName,
errorReporter, stringMessages, userAgentType); errorReporter, stringMessages, userAgentType);