Commit Graph

231 Commits

Author SHA1 Message Date
troy@netscape.com
effa132f8d Removed GetContentIndex() from nsIFrame 1998-10-08 20:35:16 +00:00
buster@netscape.com
f30d1af844 all frames properly setting ascent and descent values for reflow
WIP incremental reflow in nsTableOuterFrame
1998-10-08 15:34:48 +00:00
kipp@netscape.com
cc6c52038c use new body factory method 1998-10-06 00:44:35 +00:00
troy@netscape.com
c850ca269e Changed ReflowChild() to send the WillReflow() notification as well 1998-10-06 00:27:22 +00:00
troy@netscape.com
5c50ea58dd 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()
1998-10-05 00:58:32 +00:00
buster@netscape.com
11cb76362f minor interface cleanup 1998-10-02 20:36:35 +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
kipp@netscape.com
3949cefd5a Create table-cell's body as a top-level body so that it doesn't shrink wrap around it's children during pass2 table reflow 1998-09-29 22:36:30 +00:00
kipp@netscape.com
8793477e2d Changed factory method to parameterize the shrink wrapping behavior 1998-09-29 03:44:25 +00:00
kipp@netscape.com
73ce388bce Use modified css rendering API 1998-09-26 17:17:20 +00:00
kipp@netscape.com
4dc6507c31 Fixed up includes to not depend on old content model classes 1998-09-24 21:37:45 +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
troy@netscape.com
0fe6e526f0 Removed ChildIsPseudoFrame() and IsEmpty() from nsContainerFrame 1998-09-24 04:06:42 +00:00
troy@netscape.com
5036d4dfaa Removed all references to m<First,Last>ContentOffset,mChildCount,mLastContentIsComplete 1998-09-21 03:40:32 +00:00
troy@netscape.com
80417bf958 Removed farme enumeration member functions for indexed access, last child,
and child count
1998-09-19 03:24:26 +00:00
troy@netscape.com
7f644b87ab Removed nsIContentDelegate.h 1998-09-18 17:34:48 +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
4c0392c95b integrates with new frame creation methods 1998-09-09 21:34:10 +00:00
buster@netscape.com
1516c28a7a 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.
1998-09-09 20:00:40 +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
aab9a3a9de empty rows now handled properly 1998-09-01 17:49:05 +00:00
peterl@netscape.com
22615646c2 remove text attribute processing 1998-08-27 00:56:17 +00:00
troy@netscape.com
6d6cb5ca33 Removed MoveTo() and SizeTo() member functions that were for debug
purposes, and are no longer needed
1998-08-07 18:17:34 +00:00
buster@netscape.com
f71d32961d fixed this case: (an image tag with no width attribute) inside (a specified-width column) inside
(a nested table with specified width) inside (an auto-width column)
inside (a specified-width table).  Got that?
The problem was that we we not setting state correctly during incremental reflow
when the image returned its proper metrics after giving default metrics that
were for its ALT text.
1998-08-03 20:27:59 +00:00
peterl@netscape.com
dda833cded rounding support 1998-07-31 23:34:45 +00:00
buster@netscape.com
57ffeb7e72 we now paint backgrounds regardless of our content. Cell borders are
still conditionally painted based on whether the cell's content has
0=size or not.
1998-07-31 00:32:27 +00:00
buster@netscape.com
1ab19f4be6 empty cells do not render border or background color 1998-07-27 07:37:57 +00:00
peterl@netscape.com
0144ae9296 factored backgound finding code to nsStyleUtil 1998-07-23 18:05:03 +00:00
troy@netscape.com
3d32e26332 Changed PaintBorder() to use the (x,y) that's passed in 1998-07-22 05:02:07 +00:00
troy@netscape.com
2f1442d674 Changed nsCSSRendering::PaintBorder() so the entire rect is used
and not just the width and height
1998-07-22 02:46:00 +00:00
troy@netscape.com
7304785937 Commented out code that was forcing the border style to solid rather
than using whatever is in the default ua style sheet (inset)
1998-07-21 07:47:46 +00:00
buster@netscape.com
dd50384b0a fundemental overhaul of the BasicTableLayoutStrategy
We now cache lots of useful info in the colframes
we now properly account for margins just as uniform cellspacing
1998-07-16 23:23:31 +00:00
kipp@netscape.com
2cf28670a1 Fix incremental reflow bug 1998-07-16 22:15:02 +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
buster
418fd7223a for Nav compatibility, 0-width cells do not have insets 1998-07-13 20:41:38 +00:00
buster
a0a4a17286 added Nav4 compatibility code for 0-width cells 1998-07-13 19:22:45 +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
troy
fa4e80a752 Deprecated the SetFirstContentOffset/SetLastContentOffset member
functions that take a nsIFrame*
1998-07-10 19:04:06 +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
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
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
buster
327ba68899 cells no longer monkey with their available width based on attribute constraints.
The row does this work now. This makes table layout more properly top-down.
1998-06-29 20:38:22 +00:00
buster
c4b2e5f05a minor tweaks for table layout 1998-06-29 03:09:14 +00:00
buster
1272ec01e8 support for Nav4 compatibility -- auto-width cells with 0-width content are 1 pixel wide 1998-06-26 23:31:33 +00:00
buster
5f7aabb12f fixed some nested table bugs and made some minor adjustments to Kipp's new line layout code. 1998-06-26 00:48:44 +00:00
troy
823e9c13ab Changed to make sure we link the child frame into the list of frames before
we reflow it
1998-06-24 16:35:21 +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