import com.google.gwt.user.client.ui.SplitLayoutPanel;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.view.client.ListDataProvider;
-import com.google.gwt.view.client.SelectionChangeEvent;
import com.google.gwt.view.client.SingleSelectionModel;
import fr.gouv.finances.dgfip.xemelios.web2.gwt.client.service.ServiceLocator;
private Image searchingImage;
private WorkingPanel working;
private CellTable<RowResultDTO> table;
- private ListDataProvider<RowResultDTO> listDataProvider;
- private SingleSelectionModel<RowResultDTO> __selectionModel;
private static NumberFormat __nf = null;
public SearchWidget() {
* true si c'est une première recherche, et pas un changement de page
*/
private void handleSearchResult(SearchResultDTO result, boolean firstSearch) {
- ListHandler<RowResultDTO> listHandler = new ListHandler<RowResultDTO>(result.getData());
+ List<RowResultDTO> data = result.getData();
+ ListDataProvider<RowResultDTO> listDataProvider = new ListDataProvider<RowResultDTO>();
+ ListHandler<RowResultDTO> listHandler = new ListHandler<RowResultDTO>(listDataProvider.getList());
- if(firstSearch){
- cleanResultTableContainer();
-
- listDataProvider = new ListDataProvider<RowResultDTO>();
- table = new CellTable<RowResultDTO>();
-
- table.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED);
- table.addColumnSortHandler(listHandler);
-
- resultTableContainer.add(new ScrollPanel(table));
- listDataProvider.addDataDisplay(table);
-
- final SingleSelectionModel<RowResultDTO> selectionModel = new SingleSelectionModel<RowResultDTO>();
- table.setSelectionModel(selectionModel);
-
- selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
-
- public void onSelectionChange(SelectionChangeEvent event) {
- RowResultDTO selected = selectionModel.getSelectedObject();
- }
- });
- __selectionModel = selectionModel;
- }
+ table = new CellTable<RowResultDTO>(data.size());
-
- table.setPageSize(result.getData().size());
-
buildListHeader(table, result.getColumns(), listHandler);
+ resultTableContainer.clear();
- listDataProvider.getList().clear();
- listDataProvider.getList().addAll(result.getData());
+ listDataProvider.getList().addAll(data);
+ listDataProvider.addDataDisplay(table);
+ table.addColumnSortHandler(listHandler);
+ table.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED);
+ table.setSelectionModel(new SingleSelectionModel<RowResultDTO>());
+
+ resultTableContainer.add(new ScrollPanel(table));
+
statusBar.getPaginationWidget().setPaginationInfo(result.getPaginationInfo());
-
+
if (result.getCountAll() <= 0) {
statusBar.setText(new HTML(" Aucun " + getSearchInitParameters().getImportableElementLibelle() + " trouvé").getText());
exportPossible = false;
endLongWait();
}
-
- private void cleanResultTableContainer(){
- while (resultTableContainer.getWidgetCount() > 0) {
- resultTableContainer.remove(0);
- }
- }
private void buildListHeader(CellTable<RowResultDTO> table, List<ColumnDefinition> columns, ListHandler<RowResultDTO> listHandler) {
for (SearchResultDTO.ColumnDefinition columnDef : columns) {
}
}
+ @SuppressWarnings("unchecked")
private final void __onRowDoubleClick() {
- if (__selectionModel.getSelectedObject() != null) {
- onDoubleClickOnRowResult(__selectionModel.getSelectedObject());
+ SingleSelectionModel<RowResultDTO> selModel = (SingleSelectionModel<RowResultDTO>) table.getSelectionModel();
+
+ if (selModel.getSelectedObject() != null) {
+ onDoubleClickOnRowResult(selModel.getSelectedObject());
}
}
+ @SuppressWarnings("unchecked")
private final void __onRowContextMenu(int x, int y) {
- if (__selectionModel.getSelectedObject() != null) {
- onRowContextMenu(__selectionModel.getSelectedObject(), x, y);
+ SingleSelectionModel<RowResultDTO> selModel = (SingleSelectionModel<RowResultDTO>) table.getSelectionModel();
+
+ if (selModel.getSelectedObject() != null) {
+ onRowContextMenu(selModel.getSelectedObject(), x, y);
}
}