Refactored polar sheets panel and its components

This commit is contained in:
Frederik Petersen
2013-01-23 11:24:54 +01:00
parent 64d32accf3
commit 0367fbcf6a
5 changed files with 39 additions and 46 deletions
@@ -22,9 +22,9 @@ import com.google.gwt.text.client.DateTimeFormatRenderer;
import com.google.gwt.user.cellview.client.CellTable;
import com.google.gwt.user.cellview.client.Column;
import com.google.gwt.user.cellview.client.ColumnSortEvent;
import com.google.gwt.user.cellview.client.ColumnSortEvent.ListHandler;
import com.google.gwt.user.cellview.client.ColumnSortList;
import com.google.gwt.user.cellview.client.TextColumn;
import com.google.gwt.user.cellview.client.ColumnSortEvent.ListHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Button;
@@ -38,9 +38,9 @@ import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.view.client.ListDataProvider;
import com.google.gwt.view.client.MultiSelectionModel;
import com.google.gwt.view.client.SelectionChangeEvent;
import com.google.gwt.view.client.SelectionChangeEvent.Handler;
import com.google.gwt.view.client.SelectionModel;
import com.google.gwt.view.client.SingleSelectionModel;
import com.google.gwt.view.client.SelectionChangeEvent.Handler;
import com.sap.sailing.domain.common.RaceIdentifier;
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
import com.sap.sailing.domain.common.RegattaNameAndRaceName;
@@ -151,13 +151,13 @@ public abstract class AbstractTrackedRacesListComposite extends SimplePanel impl
AdminConsoleTableResources tableRes = GWT.create(AdminConsoleTableResources.class);
raceTable = new CellTable<RaceDTO>(/* pageSize */10000, tableRes);
raceTable.ensureDebugId("TrackedRaces");
ListHandler<RaceDTO> columnSortHandler = setupTableColumns(stringMessages);
setupTableColumns(stringMessages);
raceTable.setWidth("300px");
raceTable.setSelectionModel(selectionModel);
raceTable.setVisible(false);
panel.add(raceTable);
raceList.addDataDisplay(raceTable);
raceTable.addColumnSortHandler(columnSortHandler);
raceTable.getSelectionModel().addSelectionChangeHandler(new Handler() {
@Override
public void onSelectionChange(SelectionChangeEvent event) {
@@ -197,7 +197,7 @@ public abstract class AbstractTrackedRacesListComposite extends SimplePanel impl
abstract protected void addControlButtons(HorizontalPanel trackedRacesButtonPanel);
private ListHandler<RaceDTO> setupTableColumns(final StringMessages stringMessages) {
private void setupTableColumns(final StringMessages stringMessages) {
ListHandler<RaceDTO> columnSortHandler = new ListHandler<RaceDTO>(raceList.getList());
TextColumn<RaceDTO> regattaNameColumn = new TextColumn<RaceDTO>() {
@Override
@@ -371,7 +371,8 @@ public abstract class AbstractTrackedRacesListComposite extends SimplePanel impl
raceTable.addColumn(hasGPSDataColumn, "GPS data");
raceTable.addColumn(raceLiveDelayColumn, stringMessages.delayInSeconds());
return columnSortHandler;
raceTable.addColumnSortHandler(columnSortHandler);
}
private void fillRaceListFromAvailableRacesApplyingFilter() {
@@ -548,8 +549,9 @@ public abstract class AbstractTrackedRacesListComposite extends SimplePanel impl
}
/**
* Allows applying some sort of filter to the process of adding races.
* Defaults to true in standard implementation. Override for custom behavior
* Allows applying some sort of filter to the process of adding races. Defaults to true in standard implementation.
* Override for custom behavior
*
* @param race
* @return
*/
@@ -1,7 +1,6 @@
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();
@@ -1,8 +1,5 @@
package com.sap.sailing.gwt.ui.polarsheets;
import java.util.List;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.sap.sailing.gwt.ui.adminconsole.AbstractTrackedRacesListComposite;
import com.sap.sailing.gwt.ui.client.ErrorReporter;
import com.sap.sailing.gwt.ui.client.RaceSelectionProvider;
@@ -10,7 +7,6 @@ import com.sap.sailing.gwt.ui.client.RegattaRefresher;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.shared.RaceDTO;
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
public abstract class AbstractFilteredTrackedRacesList extends AbstractTrackedRacesListComposite {
@@ -4,7 +4,6 @@ import java.util.List;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.FormPanel;
import com.google.gwt.user.client.ui.VerticalPanel;
@@ -17,8 +16,7 @@ import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
public class PolarSheetsPanel extends FormPanel implements RaceSelectionChangeListener,
RegattaDisplayer {
public class PolarSheetsPanel extends FormPanel implements RaceSelectionChangeListener, RegattaDisplayer {
// TODO UI stuff
public static final String POLARSHEETS_STYLE = "polarSheets";
@@ -48,38 +46,32 @@ public class PolarSheetsPanel extends FormPanel implements RaceSelectionChangeLi
private void addFilteredTrackedRacesList() {
VerticalPanel trackedRacesPanel = new VerticalPanel();
trackedRacesPanel.setWidth("100%");
createFilteredTrackedList();
trackedRacesPanel.add(polarSheetsTrackedRacesList);
mainPanel.add(trackedRacesPanel);
}
private Button createPolarSheetCalculationStartButton() {
Button polarSheetGenerationStartButton = new Button(stringMessages.generatePolarSheet());
polarSheetGenerationStartButton.ensureDebugId("PolarSheetGeneration");
polarSheetGenerationStartButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent arg0) {
startPolarSheetGeneration();
}
});
return polarSheetGenerationStartButton;
}
protected void startPolarSheetGeneration() {
// TODO Auto-generated method stub
}
private void createFilteredTrackedList() {
raceSelectionProvider = new RaceSelectionModel();
polarSheetsTrackedRacesList = new PolarSheetsTrackedRacesList(sailingService, errorReporter, polarSheetsEntryPoint,
raceSelectionProvider, stringMessages, true, new RaceFilter(true, true), createPolarSheetCalculationStartButton());
ClickHandler polarSheetsGenerationButtonClickHandler = new ClickHandler() {
@Override
public void onClick(ClickEvent arg0) {
startPolarSheetGeneration();
}
};
polarSheetsTrackedRacesList = new PolarSheetsTrackedRacesList(sailingService, errorReporter,
polarSheetsEntryPoint, raceSelectionProvider, stringMessages, true, new RaceFilter(true, true),
polarSheetsGenerationButtonClickHandler);
raceSelectionProvider.addRaceSelectionChangeListener(this);
}
protected void startPolarSheetGeneration() {
// TODO Auto-generated method stub
}
@Override
public void onRaceSelectionChange(List<RegattaAndRaceIdentifier> selectedRaces) {
this.selectedRaces = selectedRaces;
@@ -2,6 +2,7 @@ package com.sap.sailing.gwt.ui.polarsheets;
import java.util.List;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.sap.sailing.gwt.ui.client.ErrorReporter;
@@ -18,16 +19,19 @@ public class PolarSheetsTrackedRacesList extends AbstractFilteredTrackedRacesLis
public PolarSheetsTrackedRacesList(SailingServiceAsync sailingService, ErrorReporter errorReporter,
RegattaRefresher regattaRefresher, RaceSelectionProvider raceSelectionProvider,
StringMessages stringMessages, boolean hasMultiSelection, RaceFilter filter, Button btnPolarSheetGeneration) {
super(sailingService, errorReporter, regattaRefresher, raceSelectionProvider, stringMessages, hasMultiSelection, filter);
this.btnPolarSheetGeneration = btnPolarSheetGeneration;
}
@Override
protected void addControlButtons(HorizontalPanel trackedRacesButtonPanel) {
trackedRacesButtonPanel.add(btnPolarSheetGeneration);
StringMessages stringMessages, boolean hasMultiSelection, RaceFilter filter,
ClickHandler polarSheetsGenerationButtonClickedHandler) {
super(sailingService, errorReporter, regattaRefresher, raceSelectionProvider, stringMessages,
hasMultiSelection, filter);
btnPolarSheetGeneration.addClickHandler(polarSheetsGenerationButtonClickedHandler);
}
@Override
protected void addControlButtons(HorizontalPanel trackedRacesButtonPanel) {
btnPolarSheetGeneration = new Button(stringMessages.generatePolarSheet());
btnPolarSheetGeneration.ensureDebugId("PolarSheetGeneration");
trackedRacesButtonPanel.add(btnPolarSheetGeneration);
}
@Override
protected void makeControlsReactToSelectionChange(List<RaceDTO> selectedRaces) {