Hi all,

If I use (in UiBinder) something like

<g:Label visible="false">Hello World!</g:Label>

then the widget is hidden as expected. This calls
UIObject.setVisible(boolean), IIUC.

When I try this for my own widgets this doesn't work, however. I have

public interface MiniGameWidget
{
  @UiTemplate("MiniGameWidget.ui.xml")
  interface UiBinder
    extends
      com.google.gwt.uibinder.client.UiBinder<Widget, DefaultMiniGameWidgetView>
  {}
  interface View
    extends IsWidget, HasVisibility
  { ... }
  ...
}

and

public class DefaultMiniGameWidgetView
  extends Composite
  implements View
{  ... }

Using

<ip:MiniGameWidget.View visible="false"/>

(in another widget) fails with

[ERROR] Class MiniGameWidget.View has no appropriate setVisible()
method Element <ip:MiniGameWidget.View visible='false'> (:17)

even though View extends HasVisibility.

But it gets stranger. If I add a different method (like setXyz) which
then calls this.setVisible() everything works fine. So

<ip:MiniGameWidget.View xyz="false"/>

and

void setXyz(boolean visible) {
  this.setVisible(visible);
}

works like a charm.

So it looks like the "visible" property is special somehow? How do I
get it to work for my widget?

Cheers,
Hilco

-- 
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-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.

Reply via email to