Hello all, I'm having the same doubt, Damians, did you put your code working? I'm having the same error. Thanks, Luis.
Segunda-feira, 1 de Fevereiro de 2010 11h22min10s UTC, damians escreveu: > > Hello, > > I've got a problem and i googled lots of pages to see if anyone got > the same problem but i didn't find anything. > > I've got class AbstractDialog that extends DialogBox with some > standart buttons like OK CANCEL that are bound by UiBinder. I've got > another class that extends AbstractDialog with another declarative xml > file, that contains only the main content of that DialogBox. > > When am trying to lunch application i got this error: > Rebinding <package>.<class>UiBinder > Invoking com.google.gwt.dev.javac.StandardGeneratorContext@a51c3c > Method 'ok' can not be bound. You probably missed > ui:field='okButton' in the template. > > Method ok and UiHandler for button okVutton is declared in > AbstractDialog. From class that extends AbstractDialog the UiField is > not visible. Am i doing something wrong or i just didnt saw any > information that you can not extends an object tha got his own > UiBinder and extended class got their own UiBinder as well. > > My code: > > AbstractDialogBox.java > > public abstract class AbstractDialogBox extends DialogBox > { > private static AbstractDialogBoxUiBinder uiBinder = GWT.create > (AbstractDialogBoxUiBinder.class); > > interface AbstractDialogBoxUiBinder extends UiBinder<Widget, > AbstractDialogBox> > { > } > > @UiField Button okButton; > @UiField Button cancelButton; > @UiField Label emptyLabel; > @UiField VerticalPanel main; > > public AbstractDialogBox() > { > setWidget(uiBinder.createAndBindUi(this)); > setStyleName("oe-DialogBox"); > > okButton.setText("OK"); > cancelButton.setText("CANCEL"); > } > > public void setContent(Widget content) > { > main.add(content); > } > > @UiHandler("okButton") > void ok(ClickEvent e) > { > onOK(); > } > > @UiHandler("cancelButton") > void cancel(ClickEvent e) > { > onCancel(); > } > > public void keyPress(KeyPressEvent event) > { > if (event.getCharCode() == 13) > onOK(); > else if (event.getCharCode() == 27) > onCancel(); > } > > public abstract void onOK(); > public abstract void onCancel(); > } > > AbstractDialog.ui.xml > > <!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"> > <ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" > xmlns:g="urn:import:com.google.gwt.user.client.ui"> > > <g:HTMLPanel> > <table width="320px" cellspacing="0" cellpadding="3"> > <tr> > <td colspan="3"><g:VerticalPanel ui:field="main" > width="100%"/></ > td> > </tr> > <tr> > <td><g:Label ui:field="emptyLabel" > width="140px"/></td> > <td><g:Button ui:field="okButton" > styleName="dialogButton"/></td> > <td><g:Button ui:field="cancelButton" > styleName="dialogButton"/></ > td> > </tr> > </table> > </g:HTMLPanel> > </ui:UiBinder> > > LoginOptionDialog.java that extends AbstractDialog > > public class LoginOptionDialog extends AbstractDialogBox > { > private static LoginOptionDialogUiBinder uiBinder = GWT.create > (LoginOptionDialogUiBinder.class); > interface LoginOptionDialogUiBinder extends UiBinder<Widget, > LoginOptionDialog> {} > > @UiField Image icon; > @UiField Label descIp; > @UiField TextBox ip; > @UiField HTMLPanel content; > > public LoginOptionDialog() > { > super(); > > setText("Login options"); > > descIp.setText("Server IP:"); > ip.setText("Enter ip"); > > setContent(content); > } > > @UiHandler("ip") > public void press(KeyPressEvent event) > { > keyPress(event); > } > > public void onCancel() > { > // restore ip text from application context > hide(); > } > > public void onOK() > { > // set ip in application context > hide(); > } > } > > LoginOptionDialog.ui.xml > > <!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"> > <ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" > xmlns:g="urn:import:com.google.gwt.user.client.ui"> > > <g:HTMLPanel ui:field="content"> > <table width="100%" cellspacing="0" cellpadding="3"> > <tr> > <td><g:Image ui:field="icon" url="gfx/ServerIp.png" width="23px" > height="23px"/></td> > <td align="center"><g:Label ui:field="descIp" > styleName="dialogText" wordWrap="false" width="126px"/></td> > <td><g:TextBox ui:field="ip" styleName="dialogText" width="165px"/ > ></td> > </tr> > </table> > </g:HTMLPanel> > > </ui:UiBinder> > > > Enviroment that am using to launch it: > > public class Application implement EntryPoint > { > private LoginOptionDialog loginOptionDialog; > private Button optionButton; > > public void onModuleLoad() > { > optionButton = new Button("Options"); > optionButton.addClickHandler(new ClickHandler() > { > public void onClick(ClickEvent event) > { > > loginOptionDialog.setPopupPosition(optionButton.getAbsoluteLeft() > - 100, > > optionButton.getAbsoluteTop() - 60); > > loginOptionDialog.show(); > } > }); > loginOptionDialog = new LoginOptionDialog(); > > RootPanel.get("optionButton").add(optionButton); > } > } > > -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/WuW9K8AI_SwJ. To post to this group, send email to google-web-toolkit@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.