I do not use UiBinder, but I have come across this problem as well, and 
have found a solution that works for me.

The problem is that HeaderPanel only sets the size of the contentContainer, 
it does nothing with the contentContainer’s child widget 
(HeaderPanel#getContentWidget()). Aiden’s suggestion of using 
ResizeLayoutPanel as the content widget will not work for the same reason 
(I tried :P). So, my fix is to always wrap the content widget in a 
SimpleLayoutPanel that fills the contentContainer:

public class HeaderLayoutPanel extends HeaderPanel implements 
ProvidesResize{

  @Override
  public void setContentWidget(Widget w){
    SimpleLayoutPanel panel = new SimpleLayoutPanel();
    panel.setSize("100%", "100%");
    panel.setWidget(w);
    super.setContentWidget(panel);
  }
}

setSize("100%", "100%") works because the contentContainer’s dimensions are 
always set in px. Also, remember that this needs to be added to a 
LayoutPanel for it to fill all available space.

I called this class ‘HeaderLayoutPanel’ and had it implement the 
ProvidesResize marker interface because I feel that the SimpleLayoutPanel 
wrapper makes this a ‘true’ LayoutPanel, since it does fulfill the 
onResize() contract for the content widget.

Hope that helps!

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to