Change-Id: Ia2b74c6d6b99ef9ec5aa0d41956c55ebd8a2615atags/7.4.0.beta1
@@ -43,8 +43,8 @@ import com.vaadin.client.ApplicationConnection; | |||
import com.vaadin.client.ComponentConnector; | |||
import com.vaadin.client.ServerConnector; | |||
import com.vaadin.client.communication.JSONSerializer; | |||
import com.vaadin.client.connectors.AbstractRendererConnector; | |||
import com.vaadin.client.ui.UnknownComponentConnector; | |||
import com.vaadin.client.ui.grid.renderers.AbstractRendererConnector; | |||
import com.vaadin.shared.communication.ClientRpc; | |||
import com.vaadin.shared.communication.ServerRpc; | |||
import com.vaadin.shared.ui.Connect; |
@@ -22,7 +22,7 @@ import com.google.gwt.core.ext.typeinfo.JClassType; | |||
import com.google.gwt.core.ext.typeinfo.JMethod; | |||
import com.google.gwt.core.ext.typeinfo.JParameterizedType; | |||
import com.google.gwt.core.ext.typeinfo.JType; | |||
import com.vaadin.client.ui.grid.renderers.AbstractRendererConnector; | |||
import com.vaadin.client.connectors.AbstractRendererConnector; | |||
/** | |||
* Generates type data for renderer connectors. |
@@ -13,7 +13,7 @@ | |||
* License for the specific language governing permissions and limitations under | |||
* the License. | |||
*/ | |||
package com.vaadin.client.ui.grid.renderers; | |||
package com.vaadin.client.connectors; | |||
import com.google.gwt.json.client.JSONValue; | |||
import com.vaadin.client.ServerConnector; | |||
@@ -24,7 +24,6 @@ import com.vaadin.client.metadata.NoDataException; | |||
import com.vaadin.client.metadata.Type; | |||
import com.vaadin.client.metadata.TypeData; | |||
import com.vaadin.client.metadata.TypeDataStore; | |||
import com.vaadin.client.ui.grid.GridConnector; | |||
import com.vaadin.client.ui.grid.Renderer; | |||
/** | |||
@@ -88,12 +87,12 @@ public abstract class AbstractRendererConnector<T> extends | |||
* Creates a new Renderer instance associated with this renderer connector. | |||
* <p> | |||
* You should typically not override this method since the framework by | |||
* default generates an implementation that uses {@link GWT#create(Class)} | |||
* to create a renderer of the same type as returned by the most specific | |||
* override of {@link #getRenderer()}. If you do override the method, you | |||
* can't call <code>super.createRenderer()</code> since the metadata needed | |||
* for that implementation is not generated if there's an override of the | |||
* method. | |||
* default generates an implementation that uses | |||
* {@link com.google.gwt.core.client.GWT#create(Class)} to create a renderer | |||
* of the same type as returned by the most specific override of | |||
* {@link #getRenderer()}. If you do override the method, you can't call | |||
* <code>super.createRenderer()</code> since the metadata needed for that | |||
* implementation is not generated if there's an override of the method. | |||
* | |||
* @return a new renderer to be used with this connector | |||
*/ |
@@ -13,10 +13,11 @@ | |||
* License for the specific language governing permissions and limitations under | |||
* the License. | |||
*/ | |||
package com.vaadin.client.ui.grid.renderers; | |||
package com.vaadin.client.connectors; | |||
import com.google.gwt.json.client.JSONObject; | |||
import com.google.web.bindery.event.shared.HandlerRegistration; | |||
import com.vaadin.client.ui.grid.renderers.ButtonRenderer; | |||
import com.vaadin.client.ui.grid.renderers.ClickableRenderer.RendererClickHandler; | |||
import com.vaadin.shared.ui.Connect; | |||
@@ -13,7 +13,7 @@ | |||
* License for the specific language governing permissions and limitations under | |||
* the License. | |||
*/ | |||
package com.vaadin.client.ui.grid.renderers; | |||
package com.vaadin.client.connectors; | |||
import com.google.gwt.json.client.JSONObject; | |||
import com.google.web.bindery.event.shared.HandlerRegistration; |
@@ -13,7 +13,7 @@ | |||
* License for the specific language governing permissions and limitations under | |||
* the License. | |||
*/ | |||
package com.vaadin.client.ui.grid.renderers; | |||
package com.vaadin.client.connectors; | |||
import com.vaadin.shared.ui.Connect; | |||
@@ -14,7 +14,7 @@ | |||
* the License. | |||
*/ | |||
package com.vaadin.client.ui.grid; | |||
package com.vaadin.client.connectors; | |||
import java.util.ArrayList; | |||
import java.util.Arrays; | |||
@@ -36,17 +36,20 @@ import com.vaadin.client.ComponentConnector; | |||
import com.vaadin.client.ConnectorHierarchyChangeEvent; | |||
import com.vaadin.client.annotations.OnStateChange; | |||
import com.vaadin.client.communication.StateChangeEvent; | |||
import com.vaadin.client.connectors.RpcDataSourceConnector.RpcDataSource; | |||
import com.vaadin.client.data.DataSource.RowHandle; | |||
import com.vaadin.client.data.RpcDataSourceConnector.RpcDataSource; | |||
import com.vaadin.client.ui.AbstractFieldConnector; | |||
import com.vaadin.client.ui.AbstractHasComponentsConnector; | |||
import com.vaadin.client.ui.SimpleManagedLayout; | |||
import com.vaadin.client.ui.grid.EditorRowHandler; | |||
import com.vaadin.client.ui.grid.Grid; | |||
import com.vaadin.client.ui.grid.Grid.CellStyleGenerator; | |||
import com.vaadin.client.ui.grid.Grid.FooterCell; | |||
import com.vaadin.client.ui.grid.Grid.FooterRow; | |||
import com.vaadin.client.ui.grid.Grid.HeaderCell; | |||
import com.vaadin.client.ui.grid.Grid.HeaderRow; | |||
import com.vaadin.client.ui.grid.renderers.AbstractRendererConnector; | |||
import com.vaadin.client.ui.grid.GridColumn; | |||
import com.vaadin.client.ui.grid.Renderer; | |||
import com.vaadin.client.ui.grid.selection.AbstractRowHandleSelectionModel; | |||
import com.vaadin.client.ui.grid.selection.SelectionChangeEvent; | |||
import com.vaadin.client.ui.grid.selection.SelectionChangeHandler; | |||
@@ -799,7 +802,7 @@ public class GridConnector extends AbstractHasComponentsConnector implements | |||
*/ | |||
private native void selectByHandle(RowHandle<JSONObject> handle) | |||
/*-{ | |||
var model = this.@com.vaadin.client.ui.grid.GridConnector::selectionModel; | |||
var model = this.@com.vaadin.client.connectors.GridConnector::selectionModel; | |||
model.@com.vaadin.client.ui.grid.selection.AbstractRowHandleSelectionModel::selectByHandle(*)(handle); | |||
}-*/; | |||
@@ -809,7 +812,7 @@ public class GridConnector extends AbstractHasComponentsConnector implements | |||
*/ | |||
private native void deselectByHandle(RowHandle<JSONObject> handle) | |||
/*-{ | |||
var model = this.@com.vaadin.client.ui.grid.GridConnector::selectionModel; | |||
var model = this.@com.vaadin.client.connectors.GridConnector::selectionModel; | |||
model.@com.vaadin.client.ui.grid.selection.AbstractRowHandleSelectionModel::deselectByHandle(*)(handle); | |||
}-*/; | |||
@@ -13,7 +13,7 @@ | |||
* License for the specific language governing permissions and limitations under | |||
* the License. | |||
*/ | |||
package com.vaadin.client.ui.grid.renderers; | |||
package com.vaadin.client.connectors; | |||
import com.google.gwt.json.client.JSONObject; | |||
import com.google.gwt.json.client.JSONValue; | |||
@@ -21,6 +21,7 @@ import com.google.web.bindery.event.shared.HandlerRegistration; | |||
import com.vaadin.client.communication.JsonDecoder; | |||
import com.vaadin.client.metadata.TypeDataStore; | |||
import com.vaadin.client.ui.grid.renderers.ClickableRenderer.RendererClickHandler; | |||
import com.vaadin.client.ui.grid.renderers.ImageRenderer; | |||
import com.vaadin.shared.communication.URLReference; | |||
import com.vaadin.shared.ui.Connect; | |||
@@ -13,7 +13,7 @@ | |||
* License for the specific language governing permissions and limitations under | |||
* the License. | |||
*/ | |||
package com.vaadin.client.ui.grid.renderers; | |||
package com.vaadin.client.connectors; | |||
import com.vaadin.shared.ui.Connect; | |||
@@ -13,8 +13,9 @@ | |||
* License for the specific language governing permissions and limitations under | |||
* the License. | |||
*/ | |||
package com.vaadin.client.ui.grid.renderers; | |||
package com.vaadin.client.connectors; | |||
import com.vaadin.client.ui.grid.renderers.ProgressBarRenderer; | |||
import com.vaadin.shared.ui.Connect; | |||
/** |
@@ -14,7 +14,7 @@ | |||
* the License. | |||
*/ | |||
package com.vaadin.client.data; | |||
package com.vaadin.client.connectors; | |||
import java.util.ArrayList; | |||
@@ -24,8 +24,8 @@ import com.google.gwt.json.client.JSONParser; | |||
import com.google.gwt.json.client.JSONString; | |||
import com.google.gwt.json.client.JSONValue; | |||
import com.vaadin.client.ServerConnector; | |||
import com.vaadin.client.data.AbstractRemoteDataSource; | |||
import com.vaadin.client.extensions.AbstractExtensionConnector; | |||
import com.vaadin.client.ui.grid.GridConnector; | |||
import com.vaadin.shared.data.DataProviderRpc; | |||
import com.vaadin.shared.data.DataProviderState; | |||
import com.vaadin.shared.data.DataRequestRpc; | |||
@@ -47,6 +47,45 @@ public class RpcDataSourceConnector extends AbstractExtensionConnector { | |||
public class RpcDataSource extends AbstractRemoteDataSource<JSONObject> { | |||
protected RpcDataSource() { | |||
registerRpc(DataProviderRpc.class, new DataProviderRpc() { | |||
@Override | |||
public void setRowData(int firstRow, String rowsJson) { | |||
JSONValue parsedJson = JSONParser.parseStrict(rowsJson); | |||
JSONArray rowArray = parsedJson.isArray(); | |||
assert rowArray != null : "Was unable to parse JSON into an array: " | |||
+ parsedJson; | |||
ArrayList<JSONObject> rows = new ArrayList<JSONObject>( | |||
rowArray.size()); | |||
for (int i = 0; i < rowArray.size(); i++) { | |||
JSONValue rowValue = rowArray.get(i); | |||
JSONObject rowObject = rowValue.isObject(); | |||
assert rowObject != null : "Was unable to parse JSON into an object: " | |||
+ rowValue; | |||
rows.add(rowObject); | |||
} | |||
dataSource.setRowData(firstRow, rows); | |||
} | |||
@Override | |||
public void removeRowData(int firstRow, int count) { | |||
dataSource.removeRowData(firstRow, count); | |||
} | |||
@Override | |||
public void insertRowData(int firstRow, int count) { | |||
dataSource.insertRowData(firstRow, count); | |||
} | |||
@Override | |||
public void resetDataAndSize(int size) { | |||
dataSource.resetDataAndSize(size); | |||
} | |||
}); | |||
} | |||
private DataRequestRpc rpcProxy = getRpcProxy(DataRequestRpc.class); | |||
@Override | |||
@@ -106,43 +145,6 @@ public class RpcDataSourceConnector extends AbstractExtensionConnector { | |||
@Override | |||
protected void extend(ServerConnector target) { | |||
((GridConnector) target).setDataSource(dataSource); | |||
registerRpc(DataProviderRpc.class, new DataProviderRpc() { | |||
@Override | |||
public void setRowData(int firstRow, String rowsJson) { | |||
JSONValue parsedJson = JSONParser.parseStrict(rowsJson); | |||
JSONArray rowArray = parsedJson.isArray(); | |||
assert rowArray != null : "Was unable to parse JSON into an array: " | |||
+ parsedJson; | |||
ArrayList<JSONObject> rows = new ArrayList<JSONObject>(rowArray | |||
.size()); | |||
for (int i = 0; i < rowArray.size(); i++) { | |||
JSONValue rowValue = rowArray.get(i); | |||
JSONObject rowObject = rowValue.isObject(); | |||
assert rowObject != null : "Was unable to parse JSON into an object: " | |||
+ rowValue; | |||
rows.add(rowObject); | |||
} | |||
dataSource.setRowData(firstRow, rows); | |||
} | |||
@Override | |||
public void removeRowData(int firstRow, int count) { | |||
dataSource.removeRowData(firstRow, count); | |||
} | |||
@Override | |||
public void insertRowData(int firstRow, int count) { | |||
dataSource.insertRowData(firstRow, count); | |||
} | |||
@Override | |||
public void resetDataAndSize(int size) { | |||
dataSource.resetDataAndSize(size); | |||
} | |||
}); | |||
} | |||
@Override |
@@ -13,8 +13,9 @@ | |||
* License for the specific language governing permissions and limitations under | |||
* the License. | |||
*/ | |||
package com.vaadin.client.ui.grid.renderers; | |||
package com.vaadin.client.connectors; | |||
import com.vaadin.client.ui.grid.renderers.TextRenderer; | |||
import com.vaadin.shared.ui.Connect; | |||
/** |
@@ -13,7 +13,7 @@ | |||
* License for the specific language governing permissions and limitations under | |||
* the License. | |||
*/ | |||
package com.vaadin.client.ui.grid.renderers; | |||
package com.vaadin.client.connectors; | |||
import com.vaadin.client.ui.grid.FlyweightCell; | |||
import com.vaadin.client.ui.grid.Renderer; |
@@ -76,7 +76,7 @@ public abstract class AbstractRemoteDataSource<T> implements DataSource<T> { | |||
} | |||
} | |||
protected boolean isPinned() { | |||
public boolean isPinned() { | |||
return pinnedRows.containsKey(key); | |||
} | |||
@@ -15,9 +15,9 @@ | |||
*/ | |||
package com.vaadin.tests.widgetset.client.grid; | |||
import com.vaadin.client.connectors.AbstractRendererConnector; | |||
import com.vaadin.client.ui.grid.FlyweightCell; | |||
import com.vaadin.client.ui.grid.Renderer; | |||
import com.vaadin.client.ui.grid.renderers.AbstractRendererConnector; | |||
import com.vaadin.shared.ui.Connect; | |||
@Connect(com.vaadin.tests.components.grid.IntArrayRenderer.class) |
@@ -22,10 +22,10 @@ import com.google.gwt.dom.client.BrowserEvents; | |||
import com.google.gwt.dom.client.DivElement; | |||
import com.google.gwt.dom.client.NativeEvent; | |||
import com.google.gwt.user.client.DOM; | |||
import com.vaadin.client.connectors.AbstractRendererConnector; | |||
import com.vaadin.client.ui.grid.Cell; | |||
import com.vaadin.client.ui.grid.FlyweightCell; | |||
import com.vaadin.client.ui.grid.Renderer; | |||
import com.vaadin.client.ui.grid.renderers.AbstractRendererConnector; | |||
import com.vaadin.client.ui.grid.renderers.ComplexRenderer; | |||
import com.vaadin.shared.communication.ServerRpc; | |||
import com.vaadin.shared.ui.Connect; |