bug 160014 - recalc cellspacing total when balancing. sr=kin, r=kmcclusk

This commit is contained in:
karnaze%netscape.com 2002-09-15 01:59:21 +00:00
parent 247e3047d9
commit 3e66d10572
2 changed files with 20 additions and 0 deletions

View File

@ -258,6 +258,10 @@ BasicTableLayoutStrategy::BalanceColumnWidths(nsIPresContext* aPresCont
maxWidth -= horOffset;
maxWidth = PR_MAX(0, maxWidth);
// we will re-calc mCellSpacingTotal in case longer rows were added after Initialize was called
mCellSpacingTotal = 0;
nscoord spacingX = mTableFrame->GetCellSpacingX();
PRInt32 numNonZeroWidthCols = 0;
// set the table's columns to the min width
nscoord minTableWidth = 0;
@ -272,6 +276,12 @@ BasicTableLayoutStrategy::BalanceColumnWidths(nsIPresContext* aPresCont
(colFrame->GetPctWidth() > 0) || (colFrame->GetWidth(MIN_PRO) > 0)) {
numNonZeroWidthCols++;
}
if (mTableFrame->GetNumCellsOriginatingInCol(colX) > 0) {
mCellSpacingTotal += spacingX;
}
}
if (mCellSpacingTotal > 0) {
mCellSpacingTotal += spacingX; // add last cell spacing on right
}
minTableWidth += mCellSpacingTotal;

View File

@ -258,6 +258,10 @@ BasicTableLayoutStrategy::BalanceColumnWidths(nsIPresContext* aPresCont
maxWidth -= horOffset;
maxWidth = PR_MAX(0, maxWidth);
// we will re-calc mCellSpacingTotal in case longer rows were added after Initialize was called
mCellSpacingTotal = 0;
nscoord spacingX = mTableFrame->GetCellSpacingX();
PRInt32 numNonZeroWidthCols = 0;
// set the table's columns to the min width
nscoord minTableWidth = 0;
@ -272,6 +276,12 @@ BasicTableLayoutStrategy::BalanceColumnWidths(nsIPresContext* aPresCont
(colFrame->GetPctWidth() > 0) || (colFrame->GetWidth(MIN_PRO) > 0)) {
numNonZeroWidthCols++;
}
if (mTableFrame->GetNumCellsOriginatingInCol(colX) > 0) {
mCellSpacingTotal += spacingX;
}
}
if (mCellSpacingTotal > 0) {
mCellSpacingTotal += spacingX; // add last cell spacing on right
}
minTableWidth += mCellSpacingTotal;