Commit Graph
13 Commits
Author SHA1 Message Date
buster@netscape.com 5b0e409407 minor fix, moved a method call outside an assert macro 1998-10-20 14:35:41 +00:00
buster@netscape.com 1aa76fdef5 added ColIsSpannedInto, ColHasSpanningCells
moved *IsSpannedInto and *HasSpanningCells into cellmap, giving us the oppurtunity
to easily cache results if we want.  These methods are still accessed through nsTableFrame.
changed nsTableFrame::GetCellAt to nsTableFrame::GetCellFrameAt to make it more clear what
the method returns:  a frame, not content.
1998-09-18 22:37:14 +00:00
buster@netscape.com 651a6cfd70 fixed minColSpan to always be at least one. This helps support empty rows,
among other problems.
1998-09-03 06:15:18 +00:00
buster@netscape.com f7f70168c9 fixed a space leak for tables with rowspans 1998-09-02 22:55:37 +00:00
buster@netscape.com 4c34a67bc6 fixed a space leak caused by incorrect ~nsCellMap iteration through
the new data structures.
1998-09-02 21:51:01 +00:00
buster@netscape.com 83730647c4 reimplemented cell map in terms of nsVoidArrays for incremental building.
the cellmap is now built incrementally, driven by nsTableRowFrame::InitialReflow
1998-08-31 21:23:28 +00:00
buster@netscape.com 0f443c9118 improved colspan handling.
cells with colspans and specified widths divide their width provisionally between the columns they span. This provisional division is ammended by any cell in any of the effected columns that:
1) has a colspan=1, and
2) has a width specified
the widths of all other columns must be adjusted for cells like these.  Further complicating matters is that it seems <faith> that if multiple colspanning cells intersect a column and each has a width
specified such that the column would have a different width depending on which is used, only the first such cell is used </faith>.  I can neither confirm nor deny this reading the mozilla code.

I also taught the cell map how to deal with this situation:

 colspan=1 | colspan=2 | colspan=1
 colspan=1 | colspan=2 | colspan=1

This table "really" has 4 columns, but the middle cells are treated as if they have no colspan.
Trust me, it matters.  The original colspan attributes can't simply be thrown away because Mr. DOM
could come along at any time and add/remove a cell that would make them important.
1998-08-19 15:43:51 +00:00
buster@netscape.com 5971394e6f GetColCount now returns the effective column count of the table, adjusted
for nonsense COLSPANs at the edge of a table.  Fixed some bugs this uncovered
where the cell was being asked for its colspan attribute rather than the table
being asked for the cell's effective col span.
1998-07-24 16:51:16 +00:00
buster 0f3a064a10 major hackage to the table data structures. slimmer, simpler, faster
this work exposed a few bugs and slow spots, which have been fixed
for the aol page, I added some additional backwards compatibility code
to proportionately distribute width when a fixed-width cell has colspans
1998-07-11 00:00:31 +00:00
buster c34508750f fixed 3 dumb bugs I introduced recently.
1. cellmap couldn't properly delete CellData because definition was unavailable
2. optimized table cells made taller wouldn't shrink when they should because we were not
remembering the previous desired height of the cell.
3. rows were placing cells on the left edge, and not adding in the left margin.
1998-07-07 01:06:51 +00:00
rods e1c188ad26 moved inlined SetCellAt to body 1998-06-08 22:07:15 +00:00
buster efb312d7dc most HTML 4 attributes supported (though some are still ignored)
lots of methods made inline
1998-06-08 19:57:04 +00:00
kipp 4683c6f4c0 moved to pub 1998-04-13 20:24:54 +00:00