//FIXME verticalAlign may effect the root height.
protected void closeLayout( )
	{
		//TODO support specified height/width/alignment
		if ( root != null )
		{
			root.setContentHeight( childHeight );
			IStyle areaStyle = root.getStyle( );
			int width = getCurrentIP( )
					+ getOffsetX( )
					+ getDimensionValue( areaStyle
							.getProperty( StyleConstants.STYLE_PADDING_RIGHT ) )
					+ getDimensionValue( areaStyle
							.getProperty( StyleConstants.STYLE_BORDER_RIGHT_WIDTH ) );
			root.setWidth( width );
			int height = 0;
			Iterator iter = root.getChildren( );
			while(iter.hasNext())
			{
				AbstractArea child = (AbstractArea)iter.next( );
				height = Math.max( height, child.getAllocatedHeight( ));
			}
			root.setContentHeight( height );
		}
		//FIXME verticalAlign may effect the root height.
		verticalAlign();
	}
root.setContentHeight( height );
}
//FIXME verticalAlign may effect the root height.
verticalAlign();
}
root.setWidth( width );
int height = 0;
Iterator iter = root.getChildren( );
while(iter.hasNext())
{
AbstractArea child = (AbstractArea)iter.next( );
height = Math.max( height, child.getAllocatedHeight( ));
}
root.setContentHeight( height );
}
//FIXME verticalAlign may effect the root height.
verticalAlign();
}
if ( root != null )
{
root.setContentHeight( childHeight );
IStyle areaStyle = root.getStyle( );
int width = getCurrentIP( )
+ getOffsetX( )
+ getDimensionValue( areaStyle
.getProperty( StyleConstants.STYLE_PADDING_RIGHT ) )
+ getDimensionValue( areaStyle
.getProperty( StyleConstants.STYLE_BORDER_RIGHT_WIDTH ) );
root.setWidth( width );
int height = 0;
Iterator iter = root.getChildren( );
while(iter.hasNext())
{
AbstractArea child = (AbstractArea)iter.next( );
height = Math.max( height, child.getAllocatedHeight( ));
}
root.setContentHeight( height );
}
//FIXME verticalAlign may effect the root height.
verticalAlign();
}