Reviewers: rjrjr, rchandia,
Description:
Add a compile-time check against provided UiFields for RenderablePanel.
I want to add the same check for HTMLPanel, but since that'll probably
break a lot of people, it'd be better to do it in a separate CL.
Please review this at http://gwt-code-reviews.appspot.com/1454812/
Affected files:
M
user/src/com/google/gwt/uibinder/elementparsers/RenderablePanelParser.java
Index:
user/src/com/google/gwt/uibinder/elementparsers/RenderablePanelParser.java
===================================================================
---
user/src/com/google/gwt/uibinder/elementparsers/RenderablePanelParser.java
(revision 10336)
+++
user/src/com/google/gwt/uibinder/elementparsers/RenderablePanelParser.java
(working copy)
@@ -22,6 +22,7 @@
import com.google.gwt.uibinder.rebind.XMLElement;
import com.google.gwt.uibinder.rebind.messages.MessageWriter;
import com.google.gwt.uibinder.rebind.messages.PlaceholderInterpreter;
+import com.google.gwt.uibinder.rebind.model.OwnerField;
/**
* Parses {@link com.google.gwt.user.client.ui.RenderablePanel} widgets.
@@ -32,6 +33,13 @@
final UiBinderWriter writer) throws UnableToCompleteException {
assert writer.useLazyWidgetBuilders();
+
+ // Make sure that, if there is a UiField for this panel, it isn't
+ // (provided = true), as that isn't supported.
+ OwnerField uiField = writer.getOwnerClass().getUiField(fieldName);
+ if (uiField != null && uiField.isProvided()) {
+ writer.die("Provided UiField for RenderablePanel is not supported.");
+ }
/*
* Gathers up elements that indicate nested IsRenderable objects.
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors