private void updatePercentagesAndAdjustmentWeights(int span){
  adjustmentWeights=new int[columnRequirements.length];
  for (int i=0; i < columnRequirements.length; i++) {
    adjustmentWeights[i]=0;
  }
  if (relativeCells) {
    percentages=new int[columnRequirements.length];
  }
 else {
    percentages=null;
  }
  int nrows=getRowCount();
  for (int rowIndex=0; rowIndex < nrows; rowIndex++) {
    RowView row=getRow(rowIndex);
    int col=0;
    int ncells=row.getViewCount();
    for (int cell=0; cell < ncells; cell++, col++) {
      View cv=row.getView(cell);
      for (; row.isFilled(col); col++)       ;
      int rowSpan=getRowsOccupied(cv);
      int colSpan=getColumnsOccupied(cv);
      AttributeSet a=cv.getAttributes();
      CSS.LengthValue lv=(CSS.LengthValue)a.getAttribute(CSS.Attribute.WIDTH);
      if (lv != null) {
        int len=(int)(lv.getValue(span) / colSpan + 0.5f);
        for (int i=0; i < colSpan; i++) {
          if (lv.isPercentage()) {
            percentages[col + i]=Math.max(percentages[col + i],len);
            adjustmentWeights[col + i]=Math.max(adjustmentWeights[col + i],WorstAdjustmentWeight);
          }
 else {
            adjustmentWeights[col + i]=Math.max(adjustmentWeights[col + i],WorstAdjustmentWeight - 1);
          }
        }
      }
      col+=colSpan - 1;
    }
  }
}

private void updatePercentagesAndAdjustmentWeights ( int span ) { adjustmentWeights = new int [ columnRequirements . length ] ; for ( int i = 0 ; i < columnRequirements . length ; i ++ ) { adjustmentWeights [ i ] = 0 ; } if ( relativeCells ) { percentages = new int [ columnRequirements . length ] ; } else { percentages = null ; } int nrows = getRowCount ( ) ; for ( int rowIndex = 0 ; rowIndex < nrows ; rowIndex ++ ) { RowView row = getRow ( rowIndex ) ; int col = 0 ; int ncells = row . getViewCount ( ) ; for ( int cell = 0 ; cell < ncells ; cell ++ , col ++ ) { View cv = row . getView ( cell ) ; for ( ; row . isFilled ( col ) ; col ++ ) ; int rowSpan = getRowsOccupied ( cv ) ; int colSpan = getColumnsOccupied ( cv ) ; AttributeSet a = cv . getAttributes ( ) ; CSS . LengthValue lv = ( CSS . LengthValue ) a . getAttribute ( CSS . Attribute . WIDTH ) ; if ( lv != null ) { int len = ( int ) ( lv . getValue ( span ) / colSpan + 0.5f ) ; for ( int i = 0 ; i < colSpan ; i ++ ) { if ( lv . isPercentage ( ) ) { percentages [ col + i ] = Math . max ( percentages [ col + i ] , len ) ; adjustmentWeights [ col + i ] = Math . max ( adjustmentWeights [ col + i ] , WorstAdjustmentWeight ) ; } else { adjustmentWeights [ col + i ] = Math . max ( adjustmentWeights [ col + i ] , WorstAdjustmentWeight - 1 ) ; } } } col += colSpan - 1 ; } } }
update percentage adjustments if they are needed .
