Thanks, guys. Another look?
http://gwt-code-reviews.appspot.com/1426805/diff/1/user/src/com/google/gwt/uibinder/elementparsers/AttachableHTMLPanelParser.java File user/src/com/google/gwt/uibinder/elementparsers/AttachableHTMLPanelParser.java (right): http://gwt-code-reviews.appspot.com/1426805/diff/1/user/src/com/google/gwt/uibinder/elementparsers/AttachableHTMLPanelParser.java#newcode76 user/src/com/google/gwt/uibinder/elementparsers/AttachableHTMLPanelParser.java:76: if (null == customTag) { On 2011/04/26 17:13:47, rjrjr wrote:
Please check for appropriate constructor with
com.google.gwt.uibinder.rebind.TypeOracleUtils.hasCompatibleConstructor(JClassType,
JType...), and call logger.die if none is found.
Actually, I totally missed this, but supporting custom root elements is something I still have to add to AttachableHTMLPanel. It's not hard, but since it's not blocking for 99% of our tests, I'd like to put it together with the other 2 dozen of TODOs I'm adding with this CL... I promise I'll get to them. Scout's honor. :-) http://gwt-code-reviews.appspot.com/1426805/diff/1/user/src/com/google/gwt/uibinder/elementparsers/WidgetInterpreter.java File user/src/com/google/gwt/uibinder/elementparsers/WidgetInterpreter.java (right): http://gwt-code-reviews.appspot.com/1426805/diff/1/user/src/com/google/gwt/uibinder/elementparsers/WidgetInterpreter.java#newcode84 user/src/com/google/gwt/uibinder/elementparsers/WidgetInterpreter.java:84: childFieldWriter.setBuildPrecendence(2); On 2011/04/26 17:13:47, rjrjr wrote:
This looks brittle. Shouldn't you ask for this widget's precedence and
set the
child's to +1?
Done. http://gwt-code-reviews.appspot.com/1426805/diff/1/user/src/com/google/gwt/uibinder/elementparsers/WidgetInterpreter.java#newcode99 user/src/com/google/gwt/uibinder/elementparsers/WidgetInterpreter.java:99: elementWriter.setBuildPrecendence(2); On 2011/04/26 17:13:47, rjrjr wrote:
ditto
Done. http://gwt-code-reviews.appspot.com/1426805/diff/1/user/src/com/google/gwt/uibinder/elementparsers/WidgetPlaceholderInterpreter.java File user/src/com/google/gwt/uibinder/elementparsers/WidgetPlaceholderInterpreter.java (right): http://gwt-code-reviews.appspot.com/1426805/diff/1/user/src/com/google/gwt/uibinder/elementparsers/WidgetPlaceholderInterpreter.java#newcode123 user/src/com/google/gwt/uibinder/elementparsers/WidgetPlaceholderInterpreter.java:123: childFieldWriter.setBuildPrecendence(2); On 2011/04/26 17:13:47, rjrjr wrote:
Again with the magic constant
Done. http://gwt-code-reviews.appspot.com/1426805/diff/1/user/src/com/google/gwt/uibinder/elementparsers/WidgetPlaceholderInterpreter.java#newcode133 user/src/com/google/gwt/uibinder/elementparsers/WidgetPlaceholderInterpreter.java:133: elementWriter.setBuildPrecendence(2); On 2011/04/26 17:13:47, rjrjr wrote:
ditto
Done. http://gwt-code-reviews.appspot.com/1426805/diff/1/user/src/com/google/gwt/uibinder/rebind/FieldWriter.java File user/src/com/google/gwt/uibinder/rebind/FieldWriter.java (right): http://gwt-code-reviews.appspot.com/1426805/diff/1/user/src/com/google/gwt/uibinder/rebind/FieldWriter.java#newcode133 user/src/com/google/gwt/uibinder/rebind/FieldWriter.java:133: * doesn't scale well. Centralize these values, using enums or constants. On 2011/04/26 17:13:47, rjrjr wrote:
FYI, field Writers already model a dependency chain, see
needs(FieldWriter)
above. Would that let us drop the precedence thing? Should have called
this out
during Hermes's review, oh well.
Hermes is fixing this in a follow-up CL, but I don't think he's actually using that info. I think he's just creating enums for these constants. http://gwt-code-reviews.appspot.com/1426805/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors