mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-07 12:51:02 +00:00
Merge branch 'master' of ssh://kielweek.web4sap.com/home/trac/git
This commit is contained in:
commit
29a9ff2ec1
12 files changed
+68
-219
No files matched your search
+7
-3
@@ -284,9 +284,13 @@ public class TrackBasedEstimationWindTrackImpl extends VirtualWindTrackImpl impl
|
||||
cacheInvalidationTimer.schedule(new TimerTask() {
|
||||
@Override
|
||||
public void run() {
|
||||
synchronized (scheduledInvalidationInterval) {
|
||||
cacheInvalidationTimer.cancel(); // terminates the timer thread
|
||||
invalidateCache();
|
||||
// to avoid deadlock with another invalidateCache() and with scheduleCacheInvalidation we need
|
||||
// to obtain the TrackBasedEstimationWindTrackImpl.this monitor first (see bug 746).
|
||||
synchronized (TrackBasedEstimationWindTrackImpl.this) {
|
||||
synchronized (scheduledInvalidationInterval) {
|
||||
cacheInvalidationTimer.cancel(); // terminates the timer thread
|
||||
invalidateCache();
|
||||
}
|
||||
}
|
||||
}
|
||||
}, delayForCacheInvalidationInMilliseconds);
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ public class AdminConsoleEntryPoint extends AbstractEntryPoint implements Regatt
|
||||
|
||||
regattaDisplayers = new HashSet<RegattaDisplayer>();
|
||||
|
||||
EventStructureManagementPanel eventStructureManagementPanel = new EventStructureManagementPanel(sailingService, this, stringMessages, this);
|
||||
RegattaStructureManagementPanel eventStructureManagementPanel = new RegattaStructureManagementPanel(sailingService, this, stringMessages, this);
|
||||
tabPanel.add(eventStructureManagementPanel, stringMessages.regattas());
|
||||
regattaDisplayers.add(eventStructureManagementPanel);
|
||||
TracTracEventManagementPanel tractracEventManagementPanel = new TracTracEventManagementPanel(sailingService, this, this, stringMessages);
|
||||
|
||||
+9
-10
@@ -10,14 +10,18 @@ import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
|
||||
public class RegattaConfigImagesBarCell extends ImagesBarCell {
|
||||
|
||||
static final String ACTION_REMOVE = "ACTION_REMOVE";
|
||||
|
||||
static final String ACTION_EDIT = "ACTION_EDIT";
|
||||
|
||||
public RegattaConfigImagesBarCell(StringMessages stringConstants) {
|
||||
super();
|
||||
this.stringConstants = stringConstants;
|
||||
this.stringMessages = stringConstants;
|
||||
}
|
||||
|
||||
public RegattaConfigImagesBarCell(SafeHtmlRenderer<String> renderer, StringMessages stringConstants) {
|
||||
super();
|
||||
this.stringConstants = stringConstants;
|
||||
this.stringMessages = stringConstants;
|
||||
}
|
||||
|
||||
private static ImagesBarTemplates templates = GWT.create(ImagesBarTemplates.class);
|
||||
@@ -28,9 +32,7 @@ public class RegattaConfigImagesBarCell extends ImagesBarCell {
|
||||
|
||||
private static final SafeHtml ICON_REMOVE = makeImage(resources.removeIcon());
|
||||
|
||||
private static final SafeHtml ICON_EDIT_RACES = makeImage(resources.linkIcon());
|
||||
|
||||
private StringMessages stringConstants;
|
||||
private StringMessages stringMessages;
|
||||
|
||||
@Override
|
||||
protected void render(com.google.gwt.cell.client.Cell.Context context, SafeHtml data, SafeHtmlBuilder sb) {
|
||||
@@ -45,13 +47,10 @@ public class RegattaConfigImagesBarCell extends ImagesBarCell {
|
||||
|
||||
SafeStyles imgStyle = SafeStylesUtils.fromTrustedString("float:left;cursor:hand;cursor:pointer;padding-right:5px;");
|
||||
|
||||
SafeHtml rendered = templates.cell("ACTION_EDIT", imgStyle, stringConstants.actionEdit(), ICON_EDIT);
|
||||
SafeHtml rendered = templates.cell(ACTION_EDIT, imgStyle, stringMessages.actionEdit(), ICON_EDIT);
|
||||
sb.append(rendered);
|
||||
|
||||
rendered = templates.cell("ACTION_EDIT_RACES", imgStyle, stringConstants.actionEditRaces(), ICON_EDIT_RACES);
|
||||
sb.append(rendered);
|
||||
|
||||
rendered = templates.cell("ACTION_REMOVE", imgStyle, stringConstants.actionRemove(), ICON_REMOVE);
|
||||
rendered = templates.cell(ACTION_REMOVE, imgStyle, stringMessages.actionRemove(), ICON_REMOVE);
|
||||
sb.append(rendered);
|
||||
}
|
||||
}
|
||||
-22
@@ -1,22 +0,0 @@
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
|
||||
|
||||
public class RegattaCreateDialog extends RegattaDialog {
|
||||
|
||||
public RegattaCreateDialog(Collection<RegattaDTO> existingRegattas,
|
||||
StringMessages stringConstants, AsyncCallback<RegattaDTO> callback) {
|
||||
super(new RegattaDTO(), new RegattaParameterValidator(stringConstants, existingRegattas),
|
||||
stringConstants, callback);
|
||||
|
||||
nameEntryField = createTextBox(null);
|
||||
nameEntryField.setWidth("200px");
|
||||
boatClassEntryField = createTextBox(null);
|
||||
boatClassEntryField.setWidth("200px");
|
||||
}
|
||||
|
||||
}
|
||||
-102
@@ -1,102 +0,0 @@
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.Grid;
|
||||
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.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.BoatClassDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
|
||||
|
||||
public class RegattaDialog extends DataEntryDialog<RegattaDTO> {
|
||||
|
||||
protected StringMessages stringConstants;
|
||||
protected RegattaDTO regatta;
|
||||
|
||||
protected TextBox nameEntryField;
|
||||
protected TextBox boatClassEntryField;
|
||||
|
||||
protected static class RegattaParameterValidator implements Validator<RegattaDTO> {
|
||||
|
||||
private StringMessages stringConstants;
|
||||
private ArrayList<RegattaDTO> existingRegattas;
|
||||
|
||||
public RegattaParameterValidator(StringMessages stringConstants, Collection<RegattaDTO> existingRegattas) {
|
||||
this.stringConstants = stringConstants;
|
||||
this.existingRegattas = new ArrayList<RegattaDTO>(existingRegattas);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getErrorMessage(RegattaDTO regattaToValidate) {
|
||||
String errorMessage = null;
|
||||
boolean nameNotEmpty = regattaToValidate.name != null && regattaToValidate.name.length() > 0;
|
||||
boolean boatClassNotEmpty = regattaToValidate.boatClass != null && regattaToValidate.boatClass.name.length() > 0;
|
||||
|
||||
boolean unique = true;
|
||||
for (RegattaDTO regatta : existingRegattas) {
|
||||
if (regatta.name.equals(regattaToValidate.name)) {
|
||||
unique = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!nameNotEmpty) {
|
||||
errorMessage = stringConstants.pleaseEnterNonEmptyName();
|
||||
} else if (!boatClassNotEmpty) {
|
||||
errorMessage = stringConstants.pleaseEnterNonEmptyName();
|
||||
} else if (!unique) {
|
||||
errorMessage = stringConstants.regattaWithThisNameAlreadyExists();
|
||||
}
|
||||
|
||||
return errorMessage;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public RegattaDialog(RegattaDTO regatta, RegattaParameterValidator validator, StringMessages stringConstants,
|
||||
AsyncCallback<RegattaDTO> callback) {
|
||||
super(stringConstants.regatta(), null, stringConstants.ok(), stringConstants.cancel(), validator,
|
||||
callback);
|
||||
this.stringConstants = stringConstants;
|
||||
this.regatta = regatta;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RegattaDTO getResult() {
|
||||
regatta.name = nameEntryField.getText();
|
||||
regatta.boatClass = new BoatClassDTO(boatClassEntryField.getText(), 0.0);
|
||||
|
||||
return regatta;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Widget getAdditionalWidget() {
|
||||
VerticalPanel panel = new VerticalPanel();
|
||||
Widget additionalWidget = super.getAdditionalWidget();
|
||||
if (additionalWidget != null) {
|
||||
panel.add(additionalWidget);
|
||||
}
|
||||
|
||||
Grid formGrid = new Grid(2, 2);
|
||||
panel.add(formGrid);
|
||||
|
||||
formGrid.setWidget(0, 0, new Label(stringConstants.name() + ":"));
|
||||
formGrid.setWidget(0, 1, nameEntryField);
|
||||
formGrid.setWidget(1, 0, new Label(stringConstants.boatClass() + ":"));
|
||||
formGrid.setWidget(1, 1, boatClassEntryField);
|
||||
return panel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void show() {
|
||||
super.show();
|
||||
nameEntryField.setFocus(true);
|
||||
}
|
||||
|
||||
}
|
||||
+5
-6
@@ -55,7 +55,7 @@ import com.sap.sailing.gwt.ui.shared.SeriesDTO;
|
||||
* @author Frank Mittag (C5163974)
|
||||
*
|
||||
*/
|
||||
public class EventStructureManagementPanel extends SimplePanel implements RegattaDisplayer {
|
||||
public class RegattaStructureManagementPanel extends SimplePanel implements RegattaDisplayer {
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final ErrorReporter errorReporter;
|
||||
private final StringMessages stringMessages;
|
||||
@@ -75,7 +75,7 @@ public class EventStructureManagementPanel extends SimplePanel implements Regatt
|
||||
private final AdminConsoleTableResources tableRes = GWT.create(AdminConsoleTableResources.class);
|
||||
private boolean supportEvents = false;
|
||||
|
||||
public EventStructureManagementPanel(SailingServiceAsync sailingService, ErrorReporter errorReporter,
|
||||
public RegattaStructureManagementPanel(SailingServiceAsync sailingService, ErrorReporter errorReporter,
|
||||
StringMessages stringMessages, RegattaRefresher regattaRefresher) {
|
||||
this.sailingService = sailingService;
|
||||
this.stringMessages = stringMessages;
|
||||
@@ -252,12 +252,11 @@ public class EventStructureManagementPanel extends SimplePanel implements Regatt
|
||||
regattaActionColumn.setFieldUpdater(new FieldUpdater<RegattaDTO, String>() {
|
||||
@Override
|
||||
public void update(int index, RegattaDTO regatta, String value) {
|
||||
if ("ACTION_REMOVE".equals(value)) {
|
||||
if (Window.confirm("Do you really want to remove the regatta: '" + regatta.name + "' ?")) {
|
||||
if (RegattaConfigImagesBarCell.ACTION_REMOVE.equals(value)) {
|
||||
if (Window.confirm(stringMessages.doYouReallyWantToRemoveRegatta(regatta.name))) {
|
||||
removeRegatta(regatta);
|
||||
}
|
||||
} else if ("ACTION_EDIT".equals(value)) {
|
||||
} else if ("ACTION_EDIT_RACES".equals(value)) {
|
||||
} else if (RegattaConfigImagesBarCell.ACTION_EDIT.equals(value)) {
|
||||
addRaceToRegattaSeries(regatta);
|
||||
}
|
||||
}
|
||||
+2
-10
@@ -115,9 +115,9 @@ public class RegattaWithSeriesAndFleetsCreateDialog extends DataEntryDialog<Rega
|
||||
this.regatta = new RegattaDTO();
|
||||
|
||||
nameEntryField = createTextBox(null);
|
||||
nameEntryField.setWidth("200px");
|
||||
nameEntryField.setVisibleLength(40);
|
||||
boatClassEntryField = createTextBox(null);
|
||||
boatClassEntryField.setWidth("150px");
|
||||
boatClassEntryField.setVisibleLength(20);
|
||||
|
||||
createdSeries = new ArrayList<SeriesDTO>();
|
||||
seriesGrid = new Grid(0, 0);
|
||||
@@ -127,10 +127,8 @@ public class RegattaWithSeriesAndFleetsCreateDialog extends DataEntryDialog<Rega
|
||||
protected RegattaDTO getResult() {
|
||||
regatta.name = nameEntryField.getText();
|
||||
regatta.boatClass = new BoatClassDTO(boatClassEntryField.getText(), 0.0);
|
||||
|
||||
regatta.series = new ArrayList<SeriesDTO>();
|
||||
regatta.series.addAll(createdSeries);
|
||||
|
||||
return regatta;
|
||||
}
|
||||
|
||||
@@ -143,22 +141,17 @@ public class RegattaWithSeriesAndFleetsCreateDialog extends DataEntryDialog<Rega
|
||||
}
|
||||
Grid formGrid = new Grid(2, 2);
|
||||
panel.add(formGrid);
|
||||
|
||||
formGrid.setWidget(0, 0, new Label(stringConstants.name() + ":"));
|
||||
formGrid.setWidget(0, 1, nameEntryField);
|
||||
formGrid.setWidget(1, 0, new Label(stringConstants.boatClass() + ":"));
|
||||
formGrid.setWidget(1, 1, boatClassEntryField);
|
||||
|
||||
panel.add(createHeadlineLabel(stringConstants.series()));
|
||||
panel.add(seriesGrid);
|
||||
|
||||
Button addSeriesButton = new Button("Add series");
|
||||
addSeriesButton.addClickHandler(new ClickHandler() {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
RegattaDTO result = getResult();
|
||||
|
||||
SeriesWithFleetsCreateDialog dialog = new SeriesWithFleetsCreateDialog(Collections
|
||||
.unmodifiableCollection(result.series), stringConstants, new AsyncCallback<SeriesDTO>() {
|
||||
@Override
|
||||
@@ -175,7 +168,6 @@ public class RegattaWithSeriesAndFleetsCreateDialog extends DataEntryDialog<Rega
|
||||
}
|
||||
});
|
||||
panel.add(addSeriesButton);
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
|
||||
+32
-61
@@ -53,7 +53,6 @@ public class SeriesWithFleetsCreateDialog extends DataEntryDialog<SeriesDTO> {
|
||||
public String getErrorMessage(SeriesDTO seriesToValidate) {
|
||||
String errorMessage = null;
|
||||
boolean nameNotEmpty = seriesToValidate.name != null && seriesToValidate.name.length() > 0;
|
||||
|
||||
boolean unique = true;
|
||||
for (SeriesDTO series : existingSeries) {
|
||||
if (series.name.equals(seriesToValidate.name)) {
|
||||
@@ -61,29 +60,24 @@ public class SeriesWithFleetsCreateDialog extends DataEntryDialog<SeriesDTO> {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!nameNotEmpty) {
|
||||
errorMessage = stringConstants.pleaseEnterNonEmptyName();
|
||||
} else if (!unique) {
|
||||
errorMessage = stringConstants.seriesWithThisNameAlreadyExists();
|
||||
}
|
||||
|
||||
if(errorMessage == null) {
|
||||
if (errorMessage == null) {
|
||||
List<FleetDTO> fleetsToValidate = seriesToValidate.getFleets();
|
||||
int index = 0;
|
||||
boolean fleetNameNotEmpty = true;
|
||||
|
||||
for (FleetDTO fleet : fleetsToValidate) {
|
||||
fleetNameNotEmpty = fleet.name != null && fleet.name.length() > 0;
|
||||
if(!fleetNameNotEmpty) {
|
||||
if (!fleetNameNotEmpty) {
|
||||
break;
|
||||
}
|
||||
index++;
|
||||
}
|
||||
|
||||
int index2 = 0;
|
||||
boolean fleetUnique = true;
|
||||
|
||||
HashSet<String> setToFindDuplicates = new HashSet<String>();
|
||||
for (FleetDTO fleet: fleetsToValidate) {
|
||||
if(!setToFindDuplicates.add(fleet.name)) {
|
||||
@@ -92,18 +86,14 @@ public class SeriesWithFleetsCreateDialog extends DataEntryDialog<SeriesDTO> {
|
||||
}
|
||||
index2++;
|
||||
}
|
||||
|
||||
if (!fleetNameNotEmpty) {
|
||||
errorMessage = stringConstants.fleet() + " " + (index + 1) + ": " + stringConstants.pleaseEnterNonEmptyName();
|
||||
} else if (!fleetUnique) {
|
||||
errorMessage = stringConstants.fleet() + " " + (index2 + 1) + ": " + stringConstants.fleetWithThisNameAlreadyExists();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return errorMessage;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public SeriesWithFleetsCreateDialog(Collection<SeriesDTO> existingSeries, StringMessages stringConstants,
|
||||
@@ -112,64 +102,55 @@ public class SeriesWithFleetsCreateDialog extends DataEntryDialog<SeriesDTO> {
|
||||
new SeriesParameterValidator(stringConstants, existingSeries), callback);
|
||||
this.stringConstants = stringConstants;
|
||||
this.series = new SeriesDTO();
|
||||
|
||||
nameEntryField = createTextBox(null);
|
||||
nameEntryField.setWidth("200px");
|
||||
|
||||
nameEntryField.setVisibleLength(40);
|
||||
isMedalSeriesCheckbox = createCheckbox(stringConstants.medalSeries());
|
||||
|
||||
fleetNameEntryFields = new ArrayList<TextBox>();
|
||||
fleetColorEntryFields = new ArrayList<ListBox>();
|
||||
fleetOrderNoEntryFields = new ArrayList<IntegerBox>();
|
||||
|
||||
fleetsGrid = new Grid(0, 0);
|
||||
|
||||
// create at least one fleet
|
||||
createFleetNameWidget("Default");
|
||||
createFleetOrderNoWidget(0);
|
||||
createFleetColorWidget(null);
|
||||
addFleetWidget("Default", 0, null);
|
||||
}
|
||||
|
||||
private Widget createFleetNameWidget(String defaultName) {
|
||||
TextBox textBox = createTextBox(defaultName);
|
||||
textBox.setWidth("175px");
|
||||
textBox.setVisibleLength(40);
|
||||
fleetNameEntryFields.add(textBox);
|
||||
return textBox;
|
||||
}
|
||||
|
||||
private Widget createFleetColorWidget(Color defaultColor) {
|
||||
final ListBox listBox = createListBox(false);
|
||||
final int fleetIndex = fleetNameEntryFields.size();
|
||||
final int fleetIndex = fleetNameEntryFields.size()-1;
|
||||
listBox.addChangeHandler(new ChangeHandler() {
|
||||
@Override
|
||||
public void onChange(ChangeEvent event) {
|
||||
// set default order no of the selected color
|
||||
int selIndex = listBox.getSelectedIndex();
|
||||
IntegerBox orderNoBox = fleetOrderNoEntryFields.get(fleetIndex-1);
|
||||
if(selIndex == 0) {
|
||||
IntegerBox orderNoBox = fleetOrderNoEntryFields.get(fleetIndex);
|
||||
TextBox nameBox = fleetNameEntryFields.get(fleetIndex);
|
||||
if (selIndex == 0) {
|
||||
orderNoBox.setValue(0);
|
||||
} else {
|
||||
String value = listBox.getValue(selIndex);
|
||||
for(FleetColors color: FleetColors.values()) {
|
||||
if(color.name().equals(value)) {
|
||||
orderNoBox.setValue(color.getDefaultOrderNo());
|
||||
break;
|
||||
}
|
||||
final FleetColors color = FleetColors.valueOf(value);
|
||||
if (color != null) {
|
||||
orderNoBox.setValue(color.getDefaultOrderNo());
|
||||
nameBox.setValue(""+color.name().charAt(0)+color.name().toLowerCase().substring(1));
|
||||
}
|
||||
}
|
||||
validate();
|
||||
}
|
||||
});
|
||||
|
||||
listBox.addItem(stringConstants.noColor());
|
||||
for(FleetColors value: FleetColors.values())
|
||||
for(FleetColors value: FleetColors.values()) {
|
||||
listBox.addItem(value.name());
|
||||
|
||||
}
|
||||
if(defaultColor == null) {
|
||||
listBox.setSelectedIndex(0);
|
||||
}
|
||||
|
||||
fleetColorEntryFields.add(listBox);
|
||||
|
||||
return listBox;
|
||||
}
|
||||
|
||||
@@ -183,7 +164,6 @@ public class SeriesWithFleetsCreateDialog extends DataEntryDialog<SeriesDTO> {
|
||||
protected SeriesDTO getResult() {
|
||||
series.name = nameEntryField.getText();
|
||||
series.setMedal(isMedalSeriesCheckbox.getValue());
|
||||
|
||||
List<FleetDTO> fleets = new ArrayList<FleetDTO>();
|
||||
int groupsCount = fleetNameEntryFields.size();
|
||||
for(int i = 0; i < groupsCount; i++) {
|
||||
@@ -197,9 +177,7 @@ public class SeriesWithFleetsCreateDialog extends DataEntryDialog<SeriesDTO> {
|
||||
fleetDTO.setOrderNo(orderNo);
|
||||
fleets.add(fleetDTO);
|
||||
}
|
||||
|
||||
series.setFleets(fleets);
|
||||
|
||||
return series;
|
||||
}
|
||||
|
||||
@@ -216,7 +194,6 @@ public class SeriesWithFleetsCreateDialog extends DataEntryDialog<SeriesDTO> {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -229,50 +206,44 @@ public class SeriesWithFleetsCreateDialog extends DataEntryDialog<SeriesDTO> {
|
||||
}
|
||||
Grid formGrid = new Grid(2, 2);
|
||||
panel.add(formGrid);
|
||||
|
||||
formGrid.setWidget(0, 0, new Label(stringConstants.name() + ":"));
|
||||
formGrid.setWidget(0, 1, nameEntryField);
|
||||
formGrid.setWidget(1, 1, isMedalSeriesCheckbox);
|
||||
|
||||
panel.add(createHeadlineLabel(stringConstants.fleets()));
|
||||
panel.add(fleetsGrid);
|
||||
|
||||
Button addGroupButton = new Button("Add fleet");
|
||||
addGroupButton.addClickHandler(new ClickHandler() {
|
||||
|
||||
Button addFleetButton = new Button(stringConstants.addFleet());
|
||||
addFleetButton.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
createFleetNameWidget(null);
|
||||
createFleetOrderNoWidget(0);
|
||||
createFleetColorWidget(null);
|
||||
addFleetWidget(null, 0, null);
|
||||
updateFleetsGrid(panel);
|
||||
}
|
||||
});
|
||||
panel.add(addGroupButton);
|
||||
|
||||
panel.add(addFleetButton);
|
||||
updateFleetsGrid(panel);
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
private void addFleetWidget(String fleetName, int ordering, Color color) {
|
||||
createFleetNameWidget(fleetName);
|
||||
createFleetOrderNoWidget(ordering);
|
||||
createFleetColorWidget(color);
|
||||
}
|
||||
|
||||
private void updateFleetsGrid(VerticalPanel parentPanel) {
|
||||
int widgetIndex = parentPanel.getWidgetIndex(fleetsGrid);
|
||||
parentPanel.remove(fleetsGrid);
|
||||
|
||||
int fleetCount = fleetNameEntryFields.size();
|
||||
fleetsGrid = new Grid(fleetCount + 1, 3);
|
||||
fleetsGrid.setCellSpacing(4);
|
||||
|
||||
fleetsGrid.setHTML(0, 0, stringConstants.name());
|
||||
fleetsGrid.setHTML(0, 1, stringConstants.rank());
|
||||
fleetsGrid.setHTML(0, 2, stringConstants.color());
|
||||
|
||||
fleetsGrid.setHTML(0, 0, stringConstants.color());
|
||||
fleetsGrid.setHTML(0, 1, stringConstants.name());
|
||||
fleetsGrid.setHTML(0, 2, stringConstants.rank());
|
||||
for(int i = 0; i < fleetCount; i++) {
|
||||
fleetsGrid.setWidget(i+1, 0, fleetNameEntryFields.get(i));
|
||||
fleetsGrid.setWidget(i+1, 1, fleetOrderNoEntryFields.get(i));
|
||||
fleetsGrid.setWidget(i+1, 2, fleetColorEntryFields.get(i));
|
||||
fleetsGrid.setWidget(i+1, 0, fleetColorEntryFields.get(i));
|
||||
fleetsGrid.setWidget(i+1, 1, fleetNameEntryFields.get(i));
|
||||
fleetsGrid.setWidget(i+1, 2, fleetOrderNoEntryFields.get(i));
|
||||
}
|
||||
|
||||
parentPanel.insert(fleetsGrid, widgetIndex);
|
||||
}
|
||||
|
||||
|
||||
+2
@@ -320,4 +320,6 @@ public interface StringMessages extends Messages {
|
||||
String medalSeries();
|
||||
String noColor();
|
||||
String noRegatta();
|
||||
String addFleet();
|
||||
String doYouReallyWantToRemoveRegatta(String name);
|
||||
}
|
||||
+2
@@ -318,3 +318,5 @@ color=Color
|
||||
medalSeries=Medal Series
|
||||
noColor=No color
|
||||
noRegatta=No regatta
|
||||
addFleet=Add fleet
|
||||
doYouReallyWantToRemoveRegatta=Do you really want to remove the regatta "{0}"?
|
||||
+2
@@ -319,3 +319,5 @@ color=Farbe
|
||||
medalSeries=Medal Series
|
||||
noColor=Keine Farbe
|
||||
noRegatta=Keine Regatta
|
||||
addFleet=Gruppe hinzufügen
|
||||
doYouReallyWantToRemoveRegatta=Möchten Sie wirklich Regatta "{0}" löschen?
|
||||
+6
-4
@@ -453,21 +453,22 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta
|
||||
if (entry != null) {
|
||||
String fleetColorBarStyle = "";
|
||||
if (entry.fleet != null && entry.fleet.getColor() != null) {
|
||||
fleetColorBarStyle = " border-bottom: 3px solid "+entry.fleet.getColor().getAsHtml()+";";
|
||||
fleetColorBarStyle = " style=\"border-bottom: 3px solid "+entry.fleet.getColor().getAsHtml()+";\"";
|
||||
}
|
||||
html.appendHtmlConstant("<div"+fleetColorBarStyle+">");
|
||||
// don't show points if max points / penalty
|
||||
if (entry.reasonForMaxPoints == null || entry.reasonForMaxPoints == MaxPointsReason.NONE) {
|
||||
if (!entry.discarded) {
|
||||
html.appendHtmlConstant("<span style=\"font-weight: bold;"+fleetColorBarStyle+"\">");
|
||||
html.appendHtmlConstant("<span style=\"font-weight: bold;\">");
|
||||
html.appendHtmlConstant(entry.totalPoints == 0 ? "" : ""+entry.totalPoints);
|
||||
html.appendHtmlConstant("</span>");
|
||||
} else {
|
||||
html.appendHtmlConstant(" <span style=\"opacity: 0.5;"+fleetColorBarStyle+"\"><del>");
|
||||
html.appendHtmlConstant(" <span style=\"opacity: 0.5;\"><del>");
|
||||
html.appendHtmlConstant(entry.netPoints == 0 ? "" : ""+entry.netPoints);
|
||||
html.appendHtmlConstant("</del></span>");
|
||||
}
|
||||
} else {
|
||||
html.appendHtmlConstant(" <span style=\"opacity: 0.5;"+fleetColorBarStyle+"\">");
|
||||
html.appendHtmlConstant(" <span style=\"opacity: 0.5;\">");
|
||||
if (entry.discarded) {
|
||||
html.appendHtmlConstant("<del>");
|
||||
}
|
||||
@@ -477,6 +478,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta
|
||||
}
|
||||
html.appendHtmlConstant("</span>");
|
||||
}
|
||||
html.appendHtmlConstant("</div>");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user