2010-11-03 10 views
7

Wenn ein <g:LayoutPanel> in UiBinder.ui.xml Dateien verwenden, können Sie <g:layer> Tags angeben. Einige andere Google-Widgets haben spezielle Tags wie diese - <g:tab> hat sogar einen Untertag, <g:header>.Benutzerdefinierte Tags in UiBinder Dateien

Wie kann ich angeben, diese für meine eigenen Widgets?

+0

Die Frage sagen kann, ist zwei Jahre später immer noch interessant: Sie wissen, über irgendwelche Verbesserungen? – jabal

+0

Ja, gibt es deutliche Verbesserungen: aufblicken @UiChild –

+0

In der Tat Besuche http://stackoverflow.com/a/11785903/439317 –

Antwort

7

Die neue Antwort auf diese Frage, nach einigen Verbesserungen GWT ist, bei https://stackoverflow.com/a/11785903/439317. Nachstehend kopiert, um das Löschen des Moderators zu vermeiden (vielleicht?).

Sie können @UiChild verwenden, um spezielle Funktionen in Ihren Widgets zu deklarieren, auf die in UiBinders zugegriffen werden kann.

zum Beispiel

class MyPanel extends AbsolutePanel { 

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

Dann in Ihrem UiBinder Sie

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

See @UiChild bei http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/uibinder/client/UiChild.html

3

Was Sie suchen ist ein benutzerdefiniertes Element Parser für UiBinder. Siehe this issue. Leider wird es noch nicht unterstützt.

Sie könnten in this post für einige Hinweise, wie Sie interessiert sein, den aktuellen Parser auf eigene Faust zu erweitern.

Verwandte Themen