206 Commits

Author SHA1 Message Date
troy%netscape.com
8b2676b6e1 Frame construction changes for tables
git-svn-id: svn://10.0.0.236/trunk@10159 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-16 17:19:20 +00:00
buster%netscape.com
26f6ed9085 nsTableRowGroupFrame no longer assumes all its children are rows, or that all row children are cells.
git-svn-id: svn://10.0.0.236/trunk@10072 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-15 20:36:42 +00:00
buster%netscape.com
1c8d847337 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


git-svn-id: svn://10.0.0.236/trunk@10047 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-15 17:58:24 +00:00
buster%netscape.com
e325a433cd many fixes that effect http://www.mozilla.org and related pages.
these fixes are for nested tables with percent widths, for tables including both rowspan and colspan,
and for tables with only a single column.
some rounding errors were eliminated.
more debugging output, and some new assertions.


git-svn-id: svn://10.0.0.236/trunk@9655 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-09 20:00:40 +00:00
buster%netscape.com
9a7b48eb26 expanded nsIFrame::List to include nsIListFilter *aFilter param, by default nsnull.
aFilter is useful for determining if a frame should output itself during
a List().  In any event, the children of the frame are always processed.
added nsIListFilter, an interface for any object that wants to act like a filter for frame dumps
added   static NS_LAYOUT nsIListFilter * GetFilter(nsString *aFilterName);
currently, only TableListFilter implements nsIListFilter.
in response to List(...TableListFilter), the frame model is dumped in a way that is useful
for table layout regression testing.  Currently this is controlled by command line switches on the viewer app.


git-svn-id: svn://10.0.0.236/trunk@9156 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-02 21:59:54 +00:00
kipp%netscape.com
29e64a354f XPCOM'ized nsIContent and nsIHTMLContent
git-svn-id: svn://10.0.0.236/trunk@8824 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-29 20:20:38 +00:00
peterl%netscape.com
b3ace934f1 no longer force unique style contexts
git-svn-id: svn://10.0.0.236/trunk@8587 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-27 00:57:05 +00:00
troy%netscape.com
06a522099a Change to object lifetime management. Views are no longer ref counted
git-svn-id: svn://10.0.0.236/trunk@7605 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-08 04:23:33 +00:00
buster%netscape.com
bd14f040ee synch with branch
fixed the following bugs: 312653 312656 312655
the fixes were:

1. cells now inherit their bgcolor from the row, if available.  This is the
Nav4 way of drawing row bgcolor, rather than having the row paint its own bgcolor. (Troy, I intend to make this conditional
based on the compatibility mode)

2. colspans across cols that are all specified width no longer try to proportionately
divide the width of the span between the cols.  see http://www.city.net (now it's really fixed, without breaking nested tables in
constrained situations.)  A happy side effect is nested tables in general behave better when constrained.

3. min table sizes are fixed, so min width changes to content now effect the
table correctly during incremental reflow.  This fixes the table layout portion of the bugs on the http://www.aol.com/corp tree.
Rick will check in the other half of this fix soon.  Until then, don't expect to see much improvement.

4. fixed bug 312799.  Table cell now always reserve at least the maxElementSize
of its content, fixing problems when desiredSize<maxElementSize


git-svn-id: svn://10.0.0.236/trunk@7509 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 02:11:51 +00:00
buster%netscape.com
ec0b3d1318 any table with a nonsense rowspan lays out better
git-svn-id: svn://10.0.0.236/trunk@6344 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-24 00:43:09 +00:00
troy
eb7fa8a66e Changed API for CreateContinuingFrame and GetReflowMetrics to take
a reference to a nsIPresContext


git-svn-id: svn://10.0.0.236/trunk@5569 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-15 03:23:23 +00:00
troy
547dc8ae9b Changed Reflow() member function to take a reference to a nsIPresContext
instead of a pointer


git-svn-id: svn://10.0.0.236/trunk@5565 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-15 02:53:09 +00:00
buster
7e8cc1207b 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


git-svn-id: svn://10.0.0.236/trunk@5322 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-11 00:00:31 +00:00
troy
99f12e096a Deprecated the SetFirstContentOffset/SetLastContentOffset member
functions that take a nsIFrame*


git-svn-id: svn://10.0.0.236/trunk@5297 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-10 19:04:06 +00:00
troy
276aea3a61 Cleaned up ShrinkWrapChildren so pass 1 doesn't resize the rows
git-svn-id: svn://10.0.0.236/trunk@5084 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-07 03:48:21 +00:00
troy
3b5b47465b More incremental reflow changes
git-svn-id: svn://10.0.0.236/trunk@5081 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-07 00:49:07 +00:00
troy
a40632c113 Incremental reflow work-in-progress
git-svn-id: svn://10.0.0.236/trunk@5065 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-06 21:39:23 +00:00
troy
91626f8759 More work-in-progress incremental reflow code
git-svn-id: svn://10.0.0.236/trunk@4951 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-02 23:19:31 +00:00
troy
89a3525fb4 Moved code that resized the table row cells from the row group frame
to the row frame. It's now handled as part of the DidReflow() post-
processing code


git-svn-id: svn://10.0.0.236/trunk@4916 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-02 20:35:23 +00:00
troy
5984f25221 Some work-in-progress for incremental reflow
git-svn-id: svn://10.0.0.236/trunk@4892 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-02 05:39:10 +00:00
atotic
8336cedefe Fixed the for (PRInt32 i=) problem
git-svn-id: svn://10.0.0.236/trunk@4839 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-01 22:40:00 +00:00
troy
1d0565bf04 Moved shrink wrap code from table frame to table row group frame
git-svn-id: svn://10.0.0.236/trunk@4693 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-30 02:11:07 +00:00
troy
c792cab9c2 Added some asserts to the incremental reflow code
git-svn-id: svn://10.0.0.236/trunk@4440 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-24 22:05:59 +00:00
troy
baaf01afc1 Changed to make sure we set the (x,y) for the frame before we reflow it
git-svn-id: svn://10.0.0.236/trunk@4424 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-24 18:09:47 +00:00
troy
344f630d8d Changed to make sure we link the child frame into the list of frames before
we reflow it


git-svn-id: svn://10.0.0.236/trunk@4420 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-24 16:35:21 +00:00
troy
a1d33a1377 Some work-in-progress for table incremental reflow
git-svn-id: svn://10.0.0.236/trunk@4282 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-23 05:43:27 +00:00
buster
dc23f3a90e Separated table content from table layout. This paves the way for XML/CSS-2 tables.
Lots and lots of optimizations.


git-svn-id: svn://10.0.0.236/trunk@3982 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-17 16:38:24 +00:00
peterl
bc184de5ad sync up to new style data apis
git-svn-id: svn://10.0.0.236/trunk@3322 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-05 06:09:09 +00:00
buster
c660db67ef a variety of fixes and optimizations
together with a fix troy just checked in, this makes a lot of real-world tables look a whole lot better


git-svn-id: svn://10.0.0.236/trunk@2982 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-03 00:43:53 +00:00
troy
003a885b86 Changed nsReflowState structs to be linked together
git-svn-id: svn://10.0.0.236/trunk@2643 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-29 20:36:05 +00:00
troy
ea3a30a606 Added WillReflow() calls around reflowing of child frame
git-svn-id: svn://10.0.0.236/trunk@2514 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-28 18:37:56 +00:00
troy
d2d4e15ea4 Merged ResizeReflow() and IncrementalReflow() into one Reflow() member function
git-svn-id: svn://10.0.0.236/trunk@2253 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-25 17:31:49 +00:00
troy
ac413c29fa Changed splittable enum to be bit flags
git-svn-id: svn://10.0.0.236/trunk@2167 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-22 04:54:11 +00:00
buster
9d29532002 made nsTableCaptionFrame a subclass of nsBodyFrame
git-svn-id: svn://10.0.0.236/trunk@2151 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-22 00:05:22 +00:00
kostello
997174b4d5 * Added Support for cell spacing
* NOTE: due to changes in the style system -- things won't look correct right away.


git-svn-id: svn://10.0.0.236/trunk@2149 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-21 23:43:18 +00:00
peterl
25861753fc Changed GetStyleData to use an enum instead of an nsID
git-svn-id: svn://10.0.0.236/trunk@2090 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-21 02:34:13 +00:00
kipp
368de8a159 Fixed up code that wasn't using the nsReflowStatus constants defined in nsIFrame.h
git-svn-id: svn://10.0.0.236/trunk@1588 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-14 00:49:46 +00:00
peterl
f9ecfae273 sync to new spacing apis
git-svn-id: svn://10.0.0.236/trunk@1471 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-12 22:28:01 +00:00
troy
a1cde81868 Changed enum to conform with coding standards
git-svn-id: svn://10.0.0.236/trunk@1442 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-12 04:38:23 +00:00
troy
5a839584c7 Change to nsIFrame API
git-svn-id: svn://10.0.0.236/trunk@1441 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-12 04:17:56 +00:00
kipp
d75e25fc42 Ported to new CreateFrame/CreateContinuingFrame APIs
git-svn-id: svn://10.0.0.236/trunk@1204 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-07 00:08:20 +00:00
troy
22a5d2831e Frames no longet store the content index-in-parent
git-svn-id: svn://10.0.0.236/trunk@1169 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-05 23:56:50 +00:00
kostello
36357f1dc0 Made SetStyleContext take the presentation context as a parameter
Made DidSetStyleContext virtual, since we need to override the behavior in subclasses
Moved attribute setting logic from nsTableCell to nsTableCellFrame
Table Borders are being drawn again : )
Table Padding is being displayed


git-svn-id: svn://10.0.0.236/trunk@1027 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-01 20:44:55 +00:00
buster
4744264a52 lots of pre-conditions and asserts added
fixed a bug in layout having to do with sizing cells in columns that are spanned into


git-svn-id: svn://10.0.0.236/trunk@887 18797224-902f-48f8-a5cc-f745e15eee43
1998-04-30 00:27:59 +00:00
kipp
902295a137 Fix porting bugs - made it compile on IRIX
git-svn-id: svn://10.0.0.236/trunk@677 18797224-902f-48f8-a5cc-f745e15eee43
1998-04-26 02:59:29 +00:00
kipp
b87f9199b6 Port to removal of nsStyleMolecule
git-svn-id: svn://10.0.0.236/trunk@665 18797224-902f-48f8-a5cc-f745e15eee43
1998-04-25 18:48:48 +00:00
buster
a7ba4f40d7 table header and footer rowgroups placed properly, replicated across continuing tables
some pagination fixes, including a hack to make negative available heights = 1.


git-svn-id: svn://10.0.0.236/trunk@552 18797224-902f-48f8-a5cc-f745e15eee43
1998-04-23 17:29:07 +00:00
peterl
90b63547ac WIP moving margin, border & padding out of nsStyleMolecule
Switch to nsIPtr for style context ptrs to eliminate leaks


git-svn-id: svn://10.0.0.236/trunk@497 18797224-902f-48f8-a5cc-f745e15eee43
1998-04-22 06:37:57 +00:00
buster
530ef4a79a table performance and minor bug fixes.
git-svn-id: svn://10.0.0.236/trunk@416 18797224-902f-48f8-a5cc-f745e15eee43
1998-04-20 22:49:15 +00:00
troy
0246c9bb5c Changed IsSplittable to have three return values
git-svn-id: svn://10.0.0.236/trunk@367 18797224-902f-48f8-a5cc-f745e15eee43
1998-04-17 23:08:20 +00:00