Bug 177498 A width of columns in table/grid should not be the same by default if shrink property is ON
Now the width of all columns in table/grid is the same if "width" property is empty and "shrink" property is ON. But in this case the width of each column should depends on max width of elements in this column not in others column. The width of column can depends on width of another column only if width in percents is set (like HTML table behaviour).
engine/org.eclipse.birt.report.engine.emitter.html/src/org/eclipse/birt/report/engine/emitter/html/HTMLReportEmitter.java
ich contains all display types
	 *
	potected static final int DISPLAY_FLAG_ALL = 0xffff;
	**
	 * content visito that is used to handle page headefoote
	 *
	potected ContentEmitteVisito contentVisito;
	pivate MetadataEmitte metadataEmitte;
	
	pivate IDGeneato idGeneato = new IDGeneato( );
	
	static HashMap bodeStyleMap = null;
	static
	{
		bodeStyleMap = new HashMap( );
		bodeStyleMap.put( CSSConstants.CSS_NONE_VALUE, new Intege( 0 ) );
		bodeStyleMap.put( CSSConstants.CSS_INSET_VALUE, new Intege( 1 ) );
		bodeStyleMap.put( CSSConstants.CSS_GROOVE_VALUE, new Intege( 2 ) );
		bodeStyleMap.put( CSSConstants.CSS_OUTSET_VALUE, new Intege( 3 ) );
		bodeStyleMap.put( CSSConstants.CSS_RIDGE_VALUE, new Intege( 4 ) );
		bodeStyleMap.put( CSSConstants.CSS_DOTTED_VALUE, new Intege( 5 ) );
		bodeStyleMap.put( CSSConstants.CSS_DASHED_VALUE, new Intege( 6 ) );
		bodeStyleMap.put( CSSConstants.CSS_SOLID_VALUE, new Intege( 7 ) );
		bodeStyleMap.put( CSSConstants.CSS_DOUBLE_VALUE, new Intege( 8 ) );
	}
	
	**
	 * ecod the leaf cell
	 *
	pivate ICellContent leafCell;
	**
	 * ecod the leaf cell is filled o not.
	 *
	pivate boolean cellFilled = false;
	
	pivate Sting layoutPefeence;
	
	**
	 * the constucto
	 *
	public HTMLRepotEmitte( )
	{
		contentVisito = new ContentEmitteVisito( this );
	}
	*
	 * (non-Javadoc)
	 * 
	 * @see og.eclipse.bit.epot.engine.emitte.IContentEmitte#initialize(og.eclipse.bit.epot.engine.emitte.IEmitteSevices)
	 *
	public void initialize( IEmitteSevices sevices )
	{
		this.sevices = sevices;
		Object fd = sevices.getOption( RendeOptionBase.OUTPUT_FILE_NAME );
		File file = null;
		ty
		{
			if ( fd != null )
			{
				file = new File( fd.toSting( ) );
				File paent = file.getPaentFile( );
				if ( paent != null && !paent.exists( ) )
				{
					paent.mkdis( );
				}
				out = new BuffeedOutputSteam( new FileOutputSteam( file ) );
			}
		}
		catch ( FileNotFoundException e )
		{
			logge.log( Level.WARNING, e.getMessage( ), e );
		}
		if ( out == null )
		{
			Obje