the inner table frame now maintains 2 child lists: the main child lists that holds rowgroups and unknown frame

types, and mColGroups. Besides being cleaner and easier to maintain, this should speed some things up slightly
     because I don't have to check display types every time I iterate through colgroup frames.  I *know*
     mColGroups contains only colgroups.  I might do the same for rowgroups (that is, keep unknown frame types
     in their own list as well.)  But that's optional.
the inner table frame used to incorrectly create actual content objects for anonymous colgroups and cols.  Now,
     it just creates frames as appropriate, not content.  To support this, I added some pseudo style contexts and
     related atoms.
This commit is contained in:
buster@netscape.com
1998-12-03 18:01:35 +00:00
parent 6c0a64a320
commit 2c2bdfb430
6 changed files with 678 additions and 488 deletions

View File

@@ -288,6 +288,7 @@ PRBool BasicTableLayoutStrategy::AssignPreliminaryColumnWidths()
*/
// Get column information
nsTableColFrame *colFrame = mTableFrame->GetColFrame(colIndex);
if (gsDebug) printf("BTLS::APCW - got colFrame %p for colIndex %d\n", colFrame, colIndex);
NS_ASSERTION(nsnull!=colFrame, "bad col frame");
// Get the columns's style
@@ -302,6 +303,7 @@ PRBool BasicTableLayoutStrategy::AssignPreliminaryColumnWidths()
haveColWidth = PR_TRUE;
specifiedFixedColWidth = colPosition->mWidth.GetCoordValue();
specifiedFixedColWidth += (cellPadding*2);
if (gsDebug) printf("BTLS::APCW - got specified col width = %d\n", specifiedFixedColWidth);
}
/* Scan the column, simulatneously assigning column widths