Reviewers: rjrjr, rdcastro,
Description:
Making ui:style builders always called in the Widgets ctor. Also add a
final clause in field builders.
Please review this at http://gwt-code-reviews.appspot.com/1422814/
Affected files:
M user/src/com/google/gwt/uibinder/rebind/AbstractFieldWriter.java
M
user/src/com/google/gwt/uibinder/rebind/FieldWriterOfGeneratedCssResource.java
M user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java
Index: user/src/com/google/gwt/uibinder/rebind/AbstractFieldWriter.java
===================================================================
--- user/src/com/google/gwt/uibinder/rebind/AbstractFieldWriter.java
(revision 10090)
+++ user/src/com/google/gwt/uibinder/rebind/AbstractFieldWriter.java
(working copy)
@@ -227,7 +227,7 @@
if (getterCount > 1) {
w.write("%s = %s;", name, initializer);
} else {
- w.write("%s %s = %s;", getQualifiedSourceName(), name, initializer);
+ w.write("final %s %s = %s;", getQualifiedSourceName(), name,
initializer);
}
w.write("// Setup section.");
Index:
user/src/com/google/gwt/uibinder/rebind/FieldWriterOfGeneratedCssResource.java
===================================================================
---
user/src/com/google/gwt/uibinder/rebind/FieldWriterOfGeneratedCssResource.java
(revision 10090)
+++
user/src/com/google/gwt/uibinder/rebind/FieldWriterOfGeneratedCssResource.java
(working copy)
@@ -20,6 +20,7 @@
import com.google.gwt.core.ext.typeinfo.JType;
import com.google.gwt.uibinder.attributeparsers.CssNameConverter;
import com.google.gwt.uibinder.rebind.model.ImplicitCssResource;
+import com.google.gwt.uibinder.rebind.model.OwnerField;
import java.util.Set;
@@ -69,4 +70,11 @@
}
return super.getReturnType(path, logger);
}
+
+ @Override
+ public void writeFieldBuilder(IndentedWriter w,
+ int getterCount, OwnerField ownerField) throws
UnableToCompleteException {
+ w.write("%s; // generated css resource must be always created.
Precedence: %s",
+ FieldManager.getFieldBuilder(getName()), getBuildPrecedence());
+ }
}
Index: user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java
===================================================================
--- user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java (revision
10090)
+++ user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java (working
copy)
@@ -1083,7 +1083,9 @@
fieldManager.registerFieldOfGeneratedType(
oracle.findType(ClientBundle.class.getName()),
bundleClass.getPackageName(), bundleClass.getClassName(),
- bundleClass.getFieldName());
+ bundleClass.getFieldName())
+ .setBuildPrecendence(Integer.MAX_VALUE); // must be the first thing
built.
+
// Allow GWT.create() to init the field, the default behavior
String rootField = new UiBinderParser(this, messages, fieldManager,
oracle,
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors