2010-11-03 13 views
7

Al usar un archivo <g:LayoutPanel> en UiBinder.ui.xml, puede especificar etiquetas <g:layer>. Algunos otros widgets construidos por Google también tienen etiquetas especiales: <g:tab> incluso tiene una etiqueta secundaria, <g:header>.Etiquetas personalizadas en archivos UiBinder

¿Cómo puedo especificar esto para mis propios widgets?

+0

La pregunta sigue siendo interesante, dos años después: ¿sabes sobre alguna mejora? – jabal

+0

Sí, hay mejoras definitivas: consulte @UiChild –

+0

De hecho, consulte http://stackoverflow.com/a/11785903/439317 –

Respuesta

7

La nueva respuesta a esta pregunta, después de algunas mejoras de GWT, está en https://stackoverflow.com/a/11785903/439317. Copiado a continuación para evitar la eliminación del moderador (¿quizás?).

Puede usar @UiChild para declarar funciones especiales en sus widgets accesibles en UiBinders.

por ejemplo,

class MyPanel extends AbsolutePanel { 

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

Luego, en su UiBinder, se puede decir

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

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

3

Lo que está buscando es un analizador de elementos personalizado para UiBinder. Ver this issue. Lamentablemente aún no es compatible.

Puede que le interese this post para obtener orientación sobre cómo extender el analizador actual por su cuenta.

Cuestiones relacionadas