Commit Graph

111 Commits

Author SHA1 Message Date
buster@netscape.com
de1257f4bd nsStyleConsts.h added some HTML 4 consts for tables
nsHTMLAtoms.cpp,h             added some HTML 4 strings for tables
nsHTMLParts.h                 added constructors for new table content classes
nsGenericHTMLElement.cpp,h    added table frame creation, common table attribute parsing
nsHTMLTable*Element.cpp       these are the new table content classes
nsHTMLContentSink.cpp         enabled the new content and removed the old
nsHTMLStyleSheet.cpp          fixed the table style optimizations to work with new content
nsTable*Frame.cpp             these work with the new content
1998-09-15 17:58:24 +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
665a72aa9b fixed unix build, and one small uninitialized variable problem 1998-07-11 00:47:29 +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
d4a354c4be added support for "effective column widths", the width of a column pretending that spanning cells have no effect.
this gets us some more Nav4 compatibility.
several minor fixes.
1998-07-06 21:00:11 +00:00
buster
3ed8a1b541 Separated table content from table layout. This paves the way for XML/CSS-2 tables.
Lots and lots of optimizations.
1998-06-17 16:38:24 +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
buster
95a410a7e8 documentation changes 1998-04-14 21:45:28 +00:00
kipp
4683c6f4c0 moved to pub 1998-04-13 20:24:54 +00:00