Commit Graph

143 Commits

Author SHA1 Message Date
buster@netscape.com
0429c47f06 fixed the bug where events were not getting passed down to content inside
of cells with rowspans.  Basically, I just override HandleEvent() in nsTableRowGroupFrame
to ask nsTableRowFrame::Contains(), rather than the default action which is to
just use the child's rect.
1998-11-07 00:36:37 +00:00
buster@netscape.com
b80a9ca305 some extremely preliminary work for styleChanged incremental reflow 1998-10-30 07:57:44 +00:00
buster@netscape.com
ecd2d8b2f4 all containers now decend from nsHTMLContainerFrame
all "unknown frame" incremental reflow support methods now
replaced with nsHTMLContainerFrame::AddFrame and ::RemoveFrame
1998-10-20 17:45:07 +00:00
buster@netscape.com
075e4cc60b incremental reflow now includes insert/append/delete cell 1998-10-20 15:59:56 +00:00
buster@netscape.com
c212263e76 lots of work for incremental reflow when the target frame is a table frame 1998-10-14 16:32:45 +00:00
troy@netscape.com
ee0a3c543f Eliminated nsIRunaround interface, and folded space manager parameter into
nsHTMLReflowState structure
1998-10-02 04:10:00 +00:00
troy@netscape.com
942c471f56 Separated reflow process out of nsIFrame and into nsIFrameReflow. Also
added nsIHTMLReflow, which is an HTML specific reflow interface
1998-10-01 04:46:11 +00:00
buster@netscape.com
bb0f52ad8b removed lots of assumptions about frame ordering and containership.
table frames no longer assume they are n levels below the inner table frame
table frames no longer assume their child frames are always the expected type of
frame.  Now they check the display type and use that as sufficient proof that the frame
is of the right type.  This implies a heavy reliance on the frame construction code to do
the right thing and always stamp out the right kind of frame for a given display type.
1998-09-24 16:37:22 +00:00
buster@netscape.com
8c95ff651d all frame initialization and related logic has moved into the various table frames' Init() methods
from their respective InitalReflow() methods.
table-layout=fixed now completely skips pass1 reflow and doesn't require maxElementSize
information, saving a tremendous amount of time during initial reflow.
1998-09-23 21:48:26 +00:00
troy@netscape.com
e9fcec8bda Frame construction changes for tables 1998-09-16 17:19:20 +00:00
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
11dada02d7 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.
1998-09-02 21:59:54 +00:00
buster@netscape.com
e046f04ce8 any table with a nonsense rowspan lays out better 1998-07-24 00:43:09 +00:00
troy
c7fd76b9b5 Some more changes of nsIPresContext* to nsIPresContext& 1998-07-15 17:05:21 +00:00
troy
9344ffe968 Some improvements to the incremental reflow logic to handle all the
cases handled by resize reflow
1998-07-15 04:45:58 +00:00
troy
26046305da Changed API for CreateContinuingFrame and GetReflowMetrics to take
a reference to a nsIPresContext
1998-07-15 03:23:23 +00:00
troy
26b49b4476 Changed Reflow() member function to take a reference to a nsIPresContext
instead of a pointer
1998-07-15 02:53:09 +00:00
troy
bd5ceb1a0b Incremental reflow changes 1998-07-14 15:29:50 +00:00
troy
c0a983c4c4 More code re-shuffling. I need to hurry and check-in before Cujo
whacks the tree
1998-07-10 22:56:13 +00:00
troy
064faadefa Changed it so we assume that rows are always complete 1998-07-10 05:23:05 +00:00
troy
2c4c3c7420 Some incremental improvements 1998-07-10 04:00:38 +00:00
troy
f5e6a2afc1 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
1998-07-02 20:35:23 +00:00
buster
b121968466 added an optimization that skips pass2 cell reflows when the new available width is unchanged
from the prior available width.  Some real-world test cases sped up
1-2 orders of magnitude for resize reflow.  Initial reflow is unchanged because
we still need to get pass1 metrics on all content.
fixed nsCSSBlockFrame.cpp to take margins into account when computing parent's available width
fixed distribution of excess space to table cells when table is bigger than the content it holds.
not quite finished yet, but better.
1998-07-02 17:40:56 +00:00
troy
6b86eb70cd Some work-in-progress for incremental reflow 1998-07-02 05:39:10 +00:00
troy
d243c0c867 Some work-in-progress for incremental reflow 1998-07-01 04:55:15 +00:00
troy
0fea1c5701 Removed some vertical margin collapsing stuff that wasn't needed 1998-07-01 03:03:32 +00:00
atotic
812fff2f7d Another class reference inside class declaration problem class A { void A:method }; is bad 1998-06-27 02:48:39 +00:00
buster
508644dbef fixed some bugs related to rowspans. This gets us closer on pages like Mozilla.org that were getting wild table heights. 1998-06-24 19:13:19 +00:00
buster
34ee46e65a lots of nested tables look much better
misc. nav4 compatibility enhancements
added the ability to QueryInterface for some specific table frame types
1998-06-23 23:23:21 +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
buster
a090fc6fa2 some tentative steps towards content/frame separation in tables 1998-06-11 00:13:18 +00:00
buster
d99b7fea16 cell width calculations are working (not for colspan cells yet)
some bug fixes and optimizations
some of the more elaborate test cases are closer to Nav4-compatible
1998-06-05 02:36:25 +00:00
troy
bb67652981 Merged ResizeReflow() and IncrementalReflow() into one Reflow() member function 1998-05-25 17:31:49 +00:00
kostello
0ad6084398 * Added Support for cell spacing
* NOTE: due to changes in the style system -- things won't look correct right away.
1998-05-21 23:43:18 +00:00
peterl
7ef2e3bd72 sync to new spacing apis 1998-05-12 22:28:01 +00:00
troy
a4f9d76cd7 Change to nsIFrame API 1998-05-12 04:17:56 +00:00
kipp
4723760aa9 Ported to new CreateFrame/CreateContinuingFrame APIs 1998-05-07 00:08:20 +00:00
troy
b3260db3df Frames no longet store the content index-in-parent 1998-05-05 23:56:50 +00:00
kipp
3d36933cf7 Port to removal of nsStyleMolecule 1998-04-25 18:48:48 +00:00
buster
2e6334e1b0 table header and footer rowgroups placed properly, replicated across continuing tables
some pagination fixes, including a hack to make negative available heights = 1.
1998-04-23 17:29:07 +00:00
troy
13419330e6 Changed nsIFrame member functions to return a nsresult 1998-04-17 01:41:24 +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