Reviewers: hermes, rjrjr,
Description:
Adds setTagName to PotentialElement, so that PotentialElement instances
can be passed to the as() method of Element subclasses (it's nicer than
blindly calling .cast(), I think). Let me know if this looks clearner to
you guys.
Please review this at http://gwt-code-reviews.appspot.com/1451810/
Affected files:
M user/src/com/google/gwt/user/client/ui/PotentialElement.java
M user/src/com/google/gwt/user/client/ui/RenderablePanel.java
Index: user/src/com/google/gwt/user/client/ui/PotentialElement.java
===================================================================
--- user/src/com/google/gwt/user/client/ui/PotentialElement.java (revision
10284)
+++ user/src/com/google/gwt/user/client/ui/PotentialElement.java (working
copy)
@@ -102,6 +102,15 @@
}
/**
+ * Setter for the element's tag name. This is useful mostly so that the
+ * PotentialElement can pass sanity checks as specific subclasses of
Element.
+ */
+ public final native PotentialElement setTagName(String tag) /*-{
+ this.tagName = tag;
+ return this;
+ }-*/;
+
+ /**
* Calls the <code>__gwt_resolve</code> method on the underlying
* JavaScript object if it exists. On objects created via {@link
#build}, this
* method is a call to the {@link UIObject#resolvePotentialElement}
method
Index: user/src/com/google/gwt/user/client/ui/RenderablePanel.java
===================================================================
--- user/src/com/google/gwt/user/client/ui/RenderablePanel.java (revision
10284)
+++ user/src/com/google/gwt/user/client/ui/RenderablePanel.java (working
copy)
@@ -36,6 +36,8 @@
private static Element hiddenDiv;
+ private static String TAG_NAME = "div";
+
interface HTMLTemplates extends SafeHtmlTemplates {
@Template("<div id=\"{0}\">{1}</div>")
SafeHtml renderWithId(String id, SafeHtml innerHtml);
@@ -86,7 +88,7 @@
*/
public RenderablePanel(SafeHtml safeHtml) {
this.html = safeHtml;
- setElement(PotentialElement.build(this));
+ setElement(PotentialElement.build(this).setTagName(TAG_NAME));
}
/**
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors