Sytax corrected.... the <table> doesn't work for me unless I put it in a <g:HTMLPanel>...
MyEntryPoint.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='100%' height='100%' border='1'> <!-- this is the auto-height minimum fill row--> <tr> <td> <g:Label ui:field="topPanel" text="TOP"></g:Label> </td> </tr> <tr height='100%'> <td width='100%'> <g:Label ui:field="contentPanel" text="CONTENT"></g:Label> </td> </tr> <tr> <td> <g:Label ui:field="bottomPanel" text="BOTTOM"></g:Label> </td> </tr> </table> </g:HTMLPanel> </ui:UiBinder> There's also some trickery in the entry point: MyEntryPoint.java -------------------------- public class MyEntryPoint implements EntryPoint { interface Binder extends UiBinder<HTMLPanel, MyEntryPoint> {} private static final Binder binder = GWT.create(Binder.class); @UiField Label topPanel; @UiField Label contentPanel; @UiField Label bottomPanel; public void onModuleLoad() { HTMLPanel outer = binder.createAndBindUi(this); Window.enableScrolling(false); Window.setMargin("0px"); RootLayoutPanel.get().add(outer); } } On Feb 24, 9:20 am, Andrew Hughes <[email protected]> wrote: > Hi Chris, > > You're right... I want to fill the window 100%. One row is of auto-fit > (minimum height) and the other is 100% (fill whatever is left). > > Don't quote me on the syntax below (this is off the top of my head). I don't > want to use <html> in the ui.xml, but it might be the only way :'( > > <!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' > xmlns:my='urn:import:com.mycompany.myproject.client.ui' > > > <table height='100%' width='100%'> > <tr> > <td> > <my:TopPanel ui:field='topPanel/> > <td> > </tr> > <tr height='100%'> > <td> > <my:ContentPanel ui:field='contentPanel'/> > <td> > </tr> > </table> > </ui:UiBinder> > > On Wed, Feb 24, 2010 at 3:03 AM, Chris Lercher <[email protected]>wrote: > > > > > [Note: I think my previous answer was dropped by the Google Groups > > outage (?) - so I'm writing this again...] > > > Hi Andrew, > > > you can use <g:VerticalPanel> in UiBinder. But if you use HTML > > Standars mode (<!doctype html>), then tables render differently than > > in quirks mode, especially in IE! > > > To set some options on the VerticalPanel, you'll maybe have to access > > it programmatically as a @UiField. > > > Let me know, if you find a way to achieve the layout you want. I'm > > trying something similar, but I don't see a solution yet that works in > > all browsers. Do you intend to do the old table trick, setting one row > > to height="0%", and the other to height="100%"? I think that doesn't > > work in IE. Or how do you want to achieve this with tables? I assume, > > you want to make the table stretch to 100% height, where the second > > row should take up all remaining space? > > > If OTOH, you don't want to make the whole thing stretch to 100% > > height, then you can use divs! The first row will fit its height to > > its contents. In that case you can assign the second row some fixed > > height. > > > Chris > > > On Feb 23, 11:32 am, Andrew Hughes <[email protected]> wrote: > > > Thanks István, > > > > This sucks, really sucks! If you want to run "best fit" gwt gui's for > > > mobile, desktop, 16:9, 4:3, 5:4 screens then you are going to encounter > > > serious problems. We're not facing these problems, but we will have > > > different widget's appearing depending on ACL roles (and hence the layout > > > will be dynamic). Parent's won't always be aware of the content that > > they're > > > holding. > > > > I know this was possible in the table base panels (pre-2.0) and perhaps I > > am > > > stuck with them. But I have also not seen an example of the table based > > > panels in UIBinder's (and no I don't want a raw html <table> please). > > I'll > > > have to see what I can get working tomorrow. If I can't use table based > > > panels in UIBinding then this sadly terminates UIBinding in our app. > > > > :'( > > > > --AH > > > > 2010/2/23 István Szoboszlai <[email protected]> > > > > > Hello, > > > > > This was also my biggest problem with the GWT layout system I am afraid > > It > > > > does not support dynamic resizing of divs depending on it's content. > > > > > It somewhat makes sense, as if you use simple FlowPanels then that > > resizes > > > > itself. > > > > > Still I would also very well use a Layout system that supports dynamic > > > > resizing depending on content. The most obvious field of use for this > > is > > > > replacing the (so much hated) table components with floated divs. > > > > > So I think this is a good feature request form the GWT team:) > > > > > Best - Istvan > > > > > Best Regards > > > > - István Szoboszlai > > > > [email protected] | inepex.com > > > > > On Tue, Feb 23, 2010 at 6:25 AM, ahhughes <[email protected]> wrote: > > > > >> Hi Guys, > > > > >> The LayoutPanels typically take in a (sizing) unit (like PX or PC or > > > >> EM) and a discrete size for each component, like: > > > > >> <ui:UiBinder> > > > >> <g:DockLayoutPanel unit='PX'> > > > >> <g:north size='64'> > > > >> <g:Label text="Example"></g:Label> > > > >> </g:north> > > > >> </g:DockLayoutPanel> > > > >> </ui:UiBinder> > > > > >> But what if I don't want to set a discrete size (whatever the unit), > > > >> and I want the <g:north> to "auto fit" whatever is placed within the > > > >> north component? > > > > >> Cheers. > > > > >> -- > > > >> You received this message because you are subscribed to the Google > > Groups > > > >> "Google Web Toolkit" group. > > > >> To post to this group, send email to > > [email protected]. > > > >> To unsubscribe from this group, send email to > > > >> [email protected]<google-web-toolkit%2Bunsubs > > > >> [email protected]><google-web-toolkit%2Bunsubs > > [email protected]> > > > >> . > > > >> For more options, visit this group at > > > >>http://groups.google.com/group/google-web-toolkit?hl=en. > > > > > -- > > > > You received this message because you are subscribed to the Google > > Groups > > > > "Google Web Toolkit" group. > > > > To post to this group, send email to > > [email protected]. > > > > To unsubscribe from this group, send email to > > > > [email protected]<google-web-toolkit%2Bunsubs > > > > [email protected]><google-web-toolkit%2Bunsubs > > [email protected]> > > > > . > > > > For more options, visit this group at > > > >http://groups.google.com/group/google-web-toolkit?hl=en. > > > -- > > You received this message because you are subscribed to the Google Groups > > "Google Web Toolkit" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]<google-web-toolkit%2Bunsubs > > [email protected]> > > . > > For more options, visit this group at > >http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
