This change is to update <ui:with> to support setting property values on the
provided type by using a nested <ui:attributes/> element.

There are many times in which non-widget objects are needed in the UiBinder XML.
It's not always convenient to construct these objects in the owner class.  In
some organizations where there are separate teams that write the Java code and
the UiBinder XML, it may not be ideal to distribute, what is considered view
logic/data, across the Java class and the XML file.

This is especially useful for @UiChild methods where one of the parameter types
is a complex type that supplement the Widget being passed to the @UiChild
method.

For example:

<ui:with type="some.LayoutData" field="layoutData">
<ui:attributes left="15" row="3" color="#f0f0f0">
</ui:with>

<foo:SomeWidget>
<foo:child layoutData="{layoutData}">
<foo:ChildWidget />
</foo:child>
</foo:SomeWidget>

Review by rjrjr: http://gwt-code-reviews.appspot.com/1524803/

Review by: rdcastro@google.com

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@10686 8db76d5a-ed1c-0410-87a9-c151d255dfc7
12 files changed