From 106924dc0d9a8a41897163cccd9ebebffdfee7b4 Mon Sep 17 00:00:00 2001 From: Lukas Furmanek Date: Mon, 7 Dec 2015 17:07:54 +0100 Subject: [PATCH] newSelectionModel: RefreshableSelectionModel now have a ListDataProvider --- .../celltable/RefreshableMultiSelectionModel.java | 14 ++++++++++---- .../celltable/RefreshableSingleSelectionModel.java | 14 ++++++++++---- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/celltable/RefreshableMultiSelectionModel.java b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/celltable/RefreshableMultiSelectionModel.java index 4f5ba6bc453..c002e33621f 100644 --- a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/celltable/RefreshableMultiSelectionModel.java +++ b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/celltable/RefreshableMultiSelectionModel.java @@ -1,5 +1,6 @@ package com.sap.sse.gwt.client.celltable; +import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -30,14 +31,17 @@ public class RefreshableMultiSelectionModel extends MultiSelectionModel implements RefreshableSelectionModel, HasData { private final EntityIdentityComparator comp; private boolean dontcheckSelectionState = false; + private final ListDataProvider listDataProvider; /** * @param comp * {@link EntityIdentityComparator} to compare the identity of the objects */ - public RefreshableMultiSelectionModel(EntityIdentityComparator comp) { + public RefreshableMultiSelectionModel(EntityIdentityComparator comp, ListDataProvider listDataProvider) { super(); this.comp = comp; + this.listDataProvider = listDataProvider; + this.listDataProvider.addDataDisplay(this); } /** @@ -46,9 +50,11 @@ public class RefreshableMultiSelectionModel extends MultiSelectionModel * @param comp * {@link EntityIdentityComparator} to compare the identity of the objects */ - public RefreshableMultiSelectionModel(ProvidesKey keyProvider, EntityIdentityComparator comp) { + public RefreshableMultiSelectionModel(ProvidesKey keyProvider, EntityIdentityComparator comp, ListDataProvider listDataProvider) { super(keyProvider); this.comp = comp; + this.listDataProvider = listDataProvider; + this.listDataProvider.addDataDisplay(this); } @Override @@ -115,8 +121,8 @@ public class RefreshableMultiSelectionModel extends MultiSelectionModel } @Override - public void setRowData(int start, List values) { - //TODO /FIME refresh selectionModel with all data of ListDataProvider + public void setRowData(int start, List values) { + refreshSelectionModel(new ArrayList<>(listDataProvider.getList())); } @Override diff --git a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/celltable/RefreshableSingleSelectionModel.java b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/celltable/RefreshableSingleSelectionModel.java index 0927f3145de..d0b5eb07f6b 100644 --- a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/celltable/RefreshableSingleSelectionModel.java +++ b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/celltable/RefreshableSingleSelectionModel.java @@ -1,8 +1,10 @@ package com.sap.sse.gwt.client.celltable; +import java.util.ArrayList; import java.util.List; import com.google.gwt.event.shared.HandlerRegistration; import com.google.gwt.view.client.HasData; +import com.google.gwt.view.client.ListDataProvider; import com.google.gwt.view.client.ProvidesKey; import com.google.gwt.view.client.Range; import com.google.gwt.view.client.SelectionChangeEvent; @@ -19,14 +21,17 @@ import com.google.gwt.view.client.RangeChangeEvent.Handler; public class RefreshableSingleSelectionModel extends SingleSelectionModel implements RefreshableSelectionModel, HasData { private final EntityIdentityComparator comp; private boolean dontcheckSelectionState = false; + private final ListDataProvider listDataProvider; /** * @param comp * {@link EntityIdentityComparator} to compare the identity of the objects */ - public RefreshableSingleSelectionModel(EntityIdentityComparator comp) { + public RefreshableSingleSelectionModel(EntityIdentityComparator comp, ListDataProvider listDataProvider) { super(); this.comp=comp; + this.listDataProvider = listDataProvider; + this.listDataProvider.addDataDisplay(this); } /** @@ -35,9 +40,11 @@ public class RefreshableSingleSelectionModel extends SingleSelectionModel * @param comp * {@link EntityIdentityComparator} to compare the identity of the objects */ - public RefreshableSingleSelectionModel(ProvidesKey keyProvider, EntityIdentityComparator comp) { + public RefreshableSingleSelectionModel(ProvidesKey keyProvider, EntityIdentityComparator comp, ListDataProvider listDataProvider) { super(keyProvider); this.comp =comp; + this.listDataProvider = listDataProvider; + this.listDataProvider.addDataDisplay(this); } @Override @@ -79,8 +86,7 @@ public class RefreshableSingleSelectionModel extends SingleSelectionModel @Override public void setRowData(int start, List values) { - //TODO / FIXME update with all elements of ListDataProvider - + refreshSelectionModel(new ArrayList<>(listDataProvider.getList())); } @Override