// first render footer so it will be easier to handle relative height of
// main layout
if (uidl.getChildCount() > 1
&& !uidl.getChildUIDL(1).getTag().equals("actions")) {
// render footer
Container newFooter = (Container) client.getPaintable(uidl
.getChildUIDL(1));
if (footer == null) {
add((Widget) newFooter, footerContainer);
footer = newFooter;
} else if (newFooter != footer) {
remove((Widget) footer);
client.unregisterPaintable(footer);
add((Widget) newFooter, footerContainer);
}
footer = newFooter;
footer.updateFromUIDL(uidl.getChildUIDL(1), client);
// needed for the main layout to know the space it has available
updateSize();
} else {
if (footer != null) {
remove((Widget) footer);
client.unregisterPaintable(footer);
// needed for the main layout to know the space it has available
updateSize();
}
}
final UIDL layoutUidl = uidl.getChildUIDL(0);
Container newLo = (Container) client.getPaintable(layoutUidl);
if (lo == null) {
lo = newLo;
add((Widget) lo, fieldContainer);
} else if (lo != newLo) {
client.unregisterPaintable(lo);