That should work... I don't remember why, but I end up doing it like this: CellTable<JsBean> table = new CellTable<JsBean>();
@UiField CrudPager<JsBean> pager; @UiFactory CellTable<JsBean> getTable() { return table; } @UiFactory CrudPager<JsBean> getPager() { return new CrudPager<JsBean>(table); } 2010/7/11 Geraldo Lopes <geraldo...@gmail.com> > Hi, > > I have a very simple UiBinder file : > <g:HTMLPanel> > Usuários > <c:CellTable ui:field="grid"></c:CellTable> > <c:SimplePager ui:field="paginador"></c:SimplePager> > </g:HTMLPanel> > > CellTable and SimplePager needs to be instantiated using generics, and > SimplePager also needs a constructor parameter, so I used > @UiField(provided=true) for both at java side: > > @UiField(provided=true) final CellTable<Usuario> grid; > @UiField(provided=true) final SimplePager<Usuario> paginador; > > private ArrayList<Usuario> dados = new ArrayList<Usuario>(); > private ListViewAdapter<Usuario> adapter = new > ListViewAdapter<Usuario>(); > > public Usuarios() { > inicializaDados(); > grid = new CellTable<Usuario>(); // <------------- > adapter.addView(grid); > adapter.setList(dados); > paginador = new SimplePager<Usuario>(grid); // <--------- > > initWidget(uiBinder.createAndBindUi(this)); // > <-------------- > > The strange behaviour is when I run this code I get: > 10:50:26.196 [ERROR] [app] <c:SimplePager ui:field='paginador'> > missing required attribute(s): location view Element <c:SimplePager > ui:field='paginador'> (:13) > > It seems that something is missing (view Element) at UiBinder side, > but I'm using provided=true which means I'm in control of > instantiating, and I provided the view element. > > More strange is that with the same UiBinder file if I mix the > instantiations methods using provided for CellTable and @UiFactory for > SimplePager it works. > > @UiField(provided=true) final CellTable<Usuario> grid; > @UiField SimplePager<Usuario> paginador; // <--- not using > provided > anymore > > private ArrayList<Usuario> dados = new ArrayList<Usuario>(); > private ListViewAdapter<Usuario> adapter = new > ListViewAdapter<Usuario>(); > > public Usuarios() { > inicializaDados(); > grid = new CellTable<Usuario>(); > adapter.addView(grid); > adapter.setList(dados); > > initWidget(uiBinder.createAndBindUi(this)); > } > @UiFactory SimplePager<Usuario> criaSimplePager() { > SimplePager<Usuario> p = new SimplePager<Usuario>(grid); > return p; > } > > I'm using GWT 2.1M2. From what I understand from docs > @UiField(provided=true) and @UiFactory are interchangeable, so I > wanted to use just one way for code clarity. > > Can you comment on this subject. > > Thanks in advance and sorry my english. > > Geraldo Lopes > > > > -- > You received this message because you are subscribed to the Google Groups > "Google Web Toolkit" group. > To post to this group, send email to google-web-tool...@googlegroups.com. > To unsubscribe from this group, send email to > google-web-toolkit+unsubscr...@googlegroups.com<google-web-toolkit%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/google-web-toolkit?hl=en. > > -- http://gwtupdates.blogspot.com/ -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.