UiBinder文件中的自定义标签

时间:2010-11-03 00:16:36

标签: gwt uibinder

在UiBinder.ui.xml文件中使用<g:LayoutPanel>时,您可以指定<g:layer>个标记。其他一些Google构建的小部件也有类似的特殊标记 - <g:tab>甚至还有一个子标记<g:header>

如何为自己的小部件指定这些?

2 个答案:

答案 0 :(得分:7)

经过一些GWT改进后,这个问题的新答案是https://stackoverflow.com/a/11785903/439317。复制如下以避免主持人删除(可能?)。

您可以使用@UiChild在UiBinders中访问的小部件中声明特殊功能。

例如,

class MyPanel extends AbsolutePanel {

    @UiChild
    public void addAt(Widget w, String parameter1, String parameter2) {
         ....

然后,在您的uiBinder中,您可以说

<custom:MyPanel>
    <custom:at parameter1="HI" parameter2="Anything you like!">
        <g:AnySingleWidget />
    </custom:at>
</custom:MyPanel>

请参阅http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/uibinder/client/UiChild.html

上的@UiChild

答案 1 :(得分:3)

您正在寻找的是UiBinder的自定义元素解析器。见this issue。不幸的是它还没有得到支持。

您可能会对this post感兴趣,以获得有关如何自行扩展当前解析器的一些指导。