75 Commits

Author SHA1 Message Date
buster%netscape.com
c6417cadce support nsTableOuterFrame incremental reflow
git-svn-id: svn://10.0.0.236/trunk@12441 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-09 19:59:45 +00:00
troy%netscape.com
ab9971c67b Removed GetContentIndex() from nsIFrame
git-svn-id: svn://10.0.0.236/trunk@12307 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-08 20:35:16 +00:00
buster%netscape.com
5377ebdea8 all frames properly setting ascent and descent values for reflow
WIP incremental reflow in nsTableOuterFrame


git-svn-id: svn://10.0.0.236/trunk@12283 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-08 15:34:48 +00:00
troy%netscape.com
f910aa1e8b Changed ReflowChild() to send the WillReflow() notification as well
git-svn-id: svn://10.0.0.236/trunk@11982 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-06 00:27:22 +00:00
troy%netscape.com
31a923050a Removed calls to MoveTo() BEFORE reflowing a frame. We used to do this
sequence: MoveTo(), Reflow(), SetRect(). Now that we have the WillReflow()/
DidReflow() code sandwhiches we no longer need to do the MoveTo()


git-svn-id: svn://10.0.0.236/trunk@11891 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-05 00:58:32 +00:00
troy%netscape.com
e191c422d9 Eliminated nsIRunaround interface, and folded space manager parameter into
nsHTMLReflowState structure


git-svn-id: svn://10.0.0.236/trunk@11749 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-02 04:10:00 +00:00
troy%netscape.com
7eac0bfdac Separated reflow process out of nsIFrame and into nsIFrameReflow. Also
added nsIHTMLReflow, which is an HTML specific reflow interface


git-svn-id: svn://10.0.0.236/trunk@11646 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-01 04:46:11 +00:00
buster%netscape.com
24dc879e22 just synching up some minor cleanup work
git-svn-id: svn://10.0.0.236/trunk@11571 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-30 18:11:48 +00:00
troy%netscape.com
90cbfd4db8 Removed all references to m<First,Last>ContentOffset,mChildCount,mLastContentIsComplete
git-svn-id: svn://10.0.0.236/trunk@10554 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-21 03:40:32 +00:00
buster%netscape.com
1524945a4b captions now work properly with new frame layout strategy.
nsTableOuterFrame->mFirstChild==nsTableOuterFrame->mInnerTableFrame, always.


git-svn-id: svn://10.0.0.236/trunk@10530 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-20 04:50:08 +00:00
troy%netscape.com
82c24af034 Removed farme enumeration member functions for indexed access, last child,
and child count


git-svn-id: svn://10.0.0.236/trunk@10475 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-19 03:24:26 +00:00
troy%netscape.com
b0bdb9e357 Removed nsIContentDelegate.h
git-svn-id: svn://10.0.0.236/trunk@10418 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-18 17:34:48 +00:00
troy%netscape.com
b60923ad33 Removed content delegates
git-svn-id: svn://10.0.0.236/trunk@10417 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-18 17:18:37 +00:00
troy%netscape.com
9ec1729d6e Cleaned up frame construction code
git-svn-id: svn://10.0.0.236/trunk@10243 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-17 04:07:58 +00:00
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
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
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
michaelp%netscape.com
7b063335be DeleteFrame() now takes a pres context.
git-svn-id: svn://10.0.0.236/trunk@8675 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-28 03:02:39 +00:00
buster%netscape.com
0438f71bc7 removed an overly-aggressive assertion that prevents nested tables from laying out
git-svn-id: svn://10.0.0.236/trunk@7239 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-04 17:16:56 +00:00
troy%netscape.com
220c86b242 Added ASSERT for the case where we get passed a reflow reason of initial
when we've already been reflowed once


git-svn-id: svn://10.0.0.236/trunk@7180 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-03 23:29:35 +00:00
buster%netscape.com
7a18ab6e6c fixed cases where we were not computing the table width correctly
fixed cases where we were inappropriately portioning out
a spanning cell's min width to the columns it spanned.


git-svn-id: svn://10.0.0.236/trunk@7011 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-01 02:31:55 +00:00
troy%netscape.com
a237b859e6 Fixed it so tables that don't want a border don't get a border
git-svn-id: svn://10.0.0.236/trunk@6063 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-21 08:12:22 +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
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
b936040985 Changed it so the inner table is reflowed by using the Reflow()
member function rather than poking the individual pass 1, pass 2, ...
member functions


git-svn-id: svn://10.0.0.236/trunk@5223 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-09 14:30:34 +00:00
troy
6044ce3680 Changes to the caption handling code
git-svn-id: svn://10.0.0.236/trunk@5176 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-08 20:21:17 +00:00
troy
e3b310d6e6 Tables not allow only one caption
git-svn-id: svn://10.0.0.236/trunk@5134 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-08 04:49:01 +00:00
kipp
7cf6711c96 Fixed bug where tables weren't returning a proper set of metrics
git-svn-id: svn://10.0.0.236/trunk@4919 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-02 21:24:56 +00:00
buster
192406dc56 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.


git-svn-id: svn://10.0.0.236/trunk@4905 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-02 17:40:56 +00:00
kipp
3962528be4 Use new PropagateContentOffsets API
git-svn-id: svn://10.0.0.236/trunk@4733 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-30 20:22:44 +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
45ccdb4fb7 Some incremental reflow changes
git-svn-id: svn://10.0.0.236/trunk@4391 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-24 04:38:52 +00:00
buster
fe4ba8793e lots of nested tables look much better
misc. nav4 compatibility enhancements
added the ability to QueryInterface for some specific table frame types


git-svn-id: svn://10.0.0.236/trunk@4348 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-23 23:23: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
troy
2b41d4547a Eliminated mFirstPassValid and changed code to key off the reflow
reason


git-svn-id: svn://10.0.0.236/trunk@4240 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-22 21:59:43 +00:00
troy
38dc935943 Started hooking up incremental reflow. So far we only handle changed
captions


git-svn-id: svn://10.0.0.236/trunk@4218 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-22 05:34:17 +00:00
troy
57e7d240bb Work in progress for incremental reflow
git-svn-id: svn://10.0.0.236/trunk@4135 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-19 05:21:45 +00:00
troy
6ab2c7e66c Eliminated nsTableCaptionFrame and now we just use a nsBodyFrame instead
git-svn-id: svn://10.0.0.236/trunk@4107 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-19 00:34:12 +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
troy
e30c089c3e Fixed some places where the reflow reason wasn't getting correctly set for
the initial reflow


git-svn-id: svn://10.0.0.236/trunk@3710 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-12 04:11:41 +00:00
troy
90ad65a58a Added nsIReflowCommand interface
git-svn-id: svn://10.0.0.236/trunk@3538 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-09 04:51:44 +00:00
buster
d19132565a more attributes: cell nowrap, caption align, some misc HTML 4 attributes too
git-svn-id: svn://10.0.0.236/trunk@3488 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-08 15:47:03 +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
kipp
69de10fd12 Updated a few table API's so that percentage width could be properly computed
git-svn-id: svn://10.0.0.236/trunk@2759 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-30 21:21:51 +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