mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-22 12:03:58 +00:00
newSelectionModel: some changes & added Javadoc
This commit is contained in:
1 parent
a02f344ffb
commit
ffc3820697
3 files changed
+14
-26
No files matched your search
+14
-22
@@ -75,8 +75,6 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel implement
|
|||||||
|
|
||||||
protected final RaceTableWrapper<RefreshableSelectionModel<RaceColumnDTOAndFleetDTOWithNameBasedEquality>> raceColumnTable;
|
protected final RaceTableWrapper<RefreshableSelectionModel<RaceColumnDTOAndFleetDTOWithNameBasedEquality>> raceColumnTable;
|
||||||
protected final RefreshableSelectionModel<RaceColumnDTOAndFleetDTOWithNameBasedEquality> raceColumnTableSelectionModel;
|
protected final RefreshableSelectionModel<RaceColumnDTOAndFleetDTOWithNameBasedEquality> raceColumnTableSelectionModel;
|
||||||
private final SelectionChangeEvent.Handler raceColumnSelectionChangeHandler;
|
|
||||||
private HandlerRegistration raceColumnSelectionChangeHandlerRegistration;
|
|
||||||
|
|
||||||
protected RaceColumnDTOAndFleetDTOWithNameBasedEquality selectedRaceInLeaderboard;
|
protected RaceColumnDTOAndFleetDTOWithNameBasedEquality selectedRaceInLeaderboard;
|
||||||
|
|
||||||
@@ -269,13 +267,15 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel implement
|
|||||||
raceColumnTable.getTable().setWidth("100%");
|
raceColumnTable.getTable().setWidth("100%");
|
||||||
addColumnsToRacesTable(raceColumnTable.getTable());
|
addColumnsToRacesTable(raceColumnTable.getTable());
|
||||||
this.raceColumnTableSelectionModel = raceColumnTable.getSelectionModel();
|
this.raceColumnTableSelectionModel = raceColumnTable.getSelectionModel();
|
||||||
raceColumnSelectionChangeHandler = new SelectionChangeEvent.Handler() {
|
raceColumnTableSelectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
|
||||||
public void onSelectionChange(SelectionChangeEvent event) {
|
public void onSelectionChange(SelectionChangeEvent event) {
|
||||||
|
// If the selection on the raceColumnTable changes,
|
||||||
|
// you don't want to link or unlink raceColumns with the
|
||||||
|
// trackedRaceListHandler.
|
||||||
removeTrackedRaceListHandlerTemporarily();
|
removeTrackedRaceListHandlerTemporarily();
|
||||||
leaderboardRaceColumnSelectionChanged();
|
leaderboardRaceColumnSelectionChanged();
|
||||||
}
|
}
|
||||||
};
|
});
|
||||||
raceColumnSelectionChangeHandlerRegistration = raceColumnTableSelectionModel.addSelectionChangeHandler(raceColumnSelectionChangeHandler);
|
|
||||||
vPanel.add(raceColumnTable);
|
vPanel.add(raceColumnTable);
|
||||||
|
|
||||||
HorizontalPanel selectedLeaderboardRaceButtonPanel = new HorizontalPanel();
|
HorizontalPanel selectedLeaderboardRaceButtonPanel = new HorizontalPanel();
|
||||||
@@ -385,7 +385,6 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel implement
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(Void arg0) {
|
public void onSuccess(Void arg0) {
|
||||||
removeRaceColumnListHandlerTemporarily();
|
|
||||||
trackedRacesListComposite.clearSelection();
|
trackedRacesListComposite.clearSelection();
|
||||||
getSelectedRaceColumnWithFleet().getA().setRaceIdentifier(fleet, null);
|
getSelectedRaceColumnWithFleet().getA().setRaceIdentifier(fleet, null);
|
||||||
raceColumnTable.getDataProvider().refresh();
|
raceColumnTable.getDataProvider().refresh();
|
||||||
@@ -442,6 +441,8 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel implement
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(Map<String, RegattaAndRaceIdentifier> regattaAndRaceNamesPerFleet) {
|
public void onSuccess(Map<String, RegattaAndRaceIdentifier> regattaAndRaceNamesPerFleet) {
|
||||||
|
// This method should select the linked trackedRace.
|
||||||
|
// So you don't want to link or unlink it again throw the trackedRaceListHandler.
|
||||||
removeTrackedRaceListHandlerTemporarily();
|
removeTrackedRaceListHandlerTemporarily();
|
||||||
if (regattaAndRaceNamesPerFleet != null && !regattaAndRaceNamesPerFleet.isEmpty()) {
|
if (regattaAndRaceNamesPerFleet != null && !regattaAndRaceNamesPerFleet.isEmpty()) {
|
||||||
RegattaAndRaceIdentifier raceIdentifier = regattaAndRaceNamesPerFleet.get(selectedFleetName);
|
RegattaAndRaceIdentifier raceIdentifier = regattaAndRaceNamesPerFleet.get(selectedFleetName);
|
||||||
@@ -532,7 +533,6 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel implement
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(Boolean success) {
|
public void onSuccess(Boolean success) {
|
||||||
removeRaceColumnListHandlerTemporarily();
|
|
||||||
if (success) {
|
if (success) {
|
||||||
// TODO consider enabling the Unlink button
|
// TODO consider enabling the Unlink button
|
||||||
selectedRaceInLeaderboard.setRaceIdentifier(fleet, selectedRace);
|
selectedRaceInLeaderboard.setRaceIdentifier(fleet, selectedRace);
|
||||||
@@ -672,8 +672,14 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel implement
|
|||||||
});
|
});
|
||||||
dialog.show();
|
dialog.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO Lukas: Add JavaDoc
|
* Removes the {@link SelectionChangeEvent.Handler} until the browser regains control. The handler will be added
|
||||||
|
* again using {@link Scheduler#scheduleDeferred(ScheduledCommand)} method.
|
||||||
|
* <p>
|
||||||
|
* Use this method if you change the {@link ListDataProvider} or {@link RefreshableSelectionModel} of
|
||||||
|
* {@link TrackedRacesListComposite} and you don't want to trigger the
|
||||||
|
* {@link SelectionChangeEvent.Handler#onSelectionChange(SelectionChangeEvent)}
|
||||||
*/
|
*/
|
||||||
protected void removeTrackedRaceListHandlerTemporarily() {
|
protected void removeTrackedRaceListHandlerTemporarily() {
|
||||||
if (trackedRaceListHandlerRegistration == null) {
|
if (trackedRaceListHandlerRegistration == null) {
|
||||||
@@ -688,18 +694,4 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel implement
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void removeRaceColumnListHandlerTemporarily() {
|
|
||||||
if (raceColumnSelectionChangeHandlerRegistration == null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
raceColumnSelectionChangeHandlerRegistration.removeHandler();
|
|
||||||
raceColumnSelectionChangeHandlerRegistration = null;
|
|
||||||
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
|
|
||||||
@Override
|
|
||||||
public void execute() {
|
|
||||||
raceColumnSelectionChangeHandlerRegistration = raceColumnTableSelectionModel.addSelectionChangeHandler(raceColumnSelectionChangeHandler);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
-1
@@ -87,7 +87,6 @@ public class AssignRacesToMediaDialog extends DataEntryDialog<Set<RegattaAndRace
|
|||||||
hasRaceCandidates = false;
|
hasRaceCandidates = false;
|
||||||
this.trackedRacesListComposite.fillRegattas(result);
|
this.trackedRacesListComposite.fillRegattas(result);
|
||||||
for (RegattaAndRaceIdentifier assignedRace : mediaTrack.assignedRaces) {
|
for (RegattaAndRaceIdentifier assignedRace : mediaTrack.assignedRaces) {
|
||||||
// TODO / FIXME Lukas: consider not to notify handlers, remind old implementation of TrackedRaceListComposite
|
|
||||||
this.trackedRacesListComposite.selectRaceByIdentifier(assignedRace);
|
this.trackedRacesListComposite.selectRaceByIdentifier(assignedRace);
|
||||||
}
|
}
|
||||||
updateUI();
|
updateUI();
|
||||||
|
|||||||
-3
@@ -672,9 +672,6 @@ TrackedRaceChangedListener, LeaderboardsDisplayer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void leaderboardSelectionChanged() {
|
protected void leaderboardSelectionChanged() {
|
||||||
removeTrackedRaceListHandlerTemporarily();
|
|
||||||
trackedRacesListComposite.clearSelection();
|
|
||||||
|
|
||||||
leaderboardRemoveButton.setEnabled(!leaderboardSelectionModel.getSelectedSet().isEmpty());
|
leaderboardRemoveButton.setEnabled(!leaderboardSelectionModel.getSelectedSet().isEmpty());
|
||||||
StrippedLeaderboardDTO selectedLeaderboard = getSelectedLeaderboard();
|
StrippedLeaderboardDTO selectedLeaderboard = getSelectedLeaderboard();
|
||||||
if (leaderboardSelectionModel.getSelectedSet().size() == 1 && selectedLeaderboard != null) {
|
if (leaderboardSelectionModel.getSelectedSet().size() == 1 && selectedLeaderboard != null) {
|
||||||
|
|||||||
Reference in new issue
Block a user