Note, onLoad is used so calls to setSize will be delayed and
onResize() would have more chance to be called (I didn't check).
public class test implements EntryPoint {
private class Menu extends Composite {
public Menu() {
FlowPanel panel = new FlowPanel();
panel.add( new HTML( "menu" ) );
initWidget( panel );
}
};
private class Application extends Composite implements
RequiresResize, ProvidesResize {
private DockLayoutPanel indexPanel;
private DecoratorPanel appDecorator;
public Application() {
indexPanel = new DockLayoutPanel( Unit.PX );
indexPanel.addNorth( new HTML("north blah"), 100 );
indexPanel.addWest( new HTML("west blah"), 100 );
indexPanel.addEast( new HTML("east blah"), 100 );
indexPanel.add( new Menu() );
//indexPanel.setSize( "100%", "100%" );
//indexPanel.setSize( "100%", "300px" );
appDecorator = new DecoratorPanel();
appDecorator.setWidget( indexPanel );
appDecorator.setStylePrimaryName( "custom_decorator" );
//appDecorator.setSize( "100%", "100%" );
initWidget( appDecorator );
}
public void onResize() {
indexPanel.onResize();
}
public void onLoad()
{
indexPanel.setSize( "100%", "300px" );
appDecorator.setSize( "100%", "100%" );
}
};
public void onModuleLoad() {
RootLayoutPanel.get().add( new Application() );
}
}
On Jul 21, 3:05 pm, Thomas Broyer <t.bro...@gmail.com> wrote:
> On 20 juil, 14:00, Jean-luc Chasseriau <jean...@kernub.net> wrote:
>
>
>
>
>
>
>
>
>
> > Hi all,
>
> > I'm getting the same behavior, only the north part of the DockLayoutPanel is
> > displayed.
> > Need to set DockLayoutPanel's height in pixel to make it work.
>
> > Running gwt 2.1.0 M2, here is the structure:
>
> > Menu extends Composite
> > Menu() {
> > panel = new FlowPanel();
> > panel.add( new HTML( "menu" ) );
> > initWidget( panel );
> > }
>
> > Application extends Composite
> > Application() {
> > indexPanel = new DockLayoutPanel( PX );
> > indexPanel.addNorth( new HTML("north blah"), 50 );
> > indexPanel.addWest( new HTML("west blah"), 50 );
> > indexPanel.addEast( new HTML("east blah"), 50 );
> > indexPanel.add( new Menu() );
>
> > appDecorator = new DecoratorPanel();
> > appDecorator.setWidget( indexPanel );
> > appDecorator.setStylePrimaryName( "custom_decorator" );
>
> > initWidget( appDecorator );
> > }
>
> > RootLayoutPanel.get().add( new Application() );
>
> > Few tests:
> > 1) this code, not more: the custom_decorator is displayed, without "center",
> > with "north" overwriting in the borders.
>
> > 2) adding: appDecorator.setSize( "100%", "100%" );
> > the decorator is properly rendered, and the center is 100%,100%, but,
> > only "north" is displayed from the DockLayoutPanel
>
> > 3) adding: indexPanel.setSize( "100%", "100%" ); AND appDecorator.setSize(
> > "100%", "100%" ); => same as (2)
>
> > 4) adding: indexPanel.setHeight( "100%"); AND appDecorator.setSize( "100%",
> > "100%" ); => same as (2)
>
> > 5) adding: indexPanel.setSize( "300px", "300px" ); AND appDecorator.setSize(
> > "100%", "100%" );
> > finally! DockLayoutPanel is rendered!
>
> > Conclusion:
> > Need to fix the height in PIXEL to get it work properly.
>
> > GWT team?
>
> http://code.google.com/intl/fr-FR/webtoolkit/doc/latest/DevGuideUiPan...
> Search for "Using a LayoutPanel without RootLayoutPanel", then look
> for "RequiresResize and ProvidesResize", which says:
> """The purpose of these two interfaces is to form an unbroken
> hierarchy between all widgets that implement RequiresResize and the
> RootLayoutPanel, which listens for any changes (such as the browser
> window resizing) that could affect the size of widgets in the
> hierarchy."""
> => keywords: "unbroken hierarchy"
>
> In your case, maybe you could just implement RequiresResize on your
> Application composite to delegate to indexPanel.onResize(), and give
> both your widgets a size of 100%.
--
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+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
No comments:
Post a Comment