Commit Graph

510 Commits

Author SHA1 Message Date
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
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
a2cd53910b continuing work to separate content from frames 1998-06-11 15:46:37 +00:00
buster
a090fc6fa2 some tentative steps towards content/frame separation in tables 1998-06-11 00:13:18 +00:00
troy
53c0050b71 Added nsIReflowCommand interface 1998-06-09 04:51:44 +00:00
peterl
4094b160d0 sync up to new style data apis 1998-06-05 06:09:09 +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
buster
0a4b04fa63 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
1998-06-03 00:43:53 +00:00
troy
017eaee3fd Changed nsReflowState structs to be linked together 1998-05-29 20:36:05 +00:00
troy
8736c4b7d5 Added WillReflow() calls around reflowing of child frame 1998-05-28 18:37:56 +00:00
peterl
52459ad55c added visibility style attribute 1998-05-26 23:17:29 +00:00
kostello
c251301732 Updated Table Border code to render HTML3.2 compatible borders (no longer using the cool,
CSS borders).
Fixed Table but submitted by Isaac David Guedalia <daniel_sh@gezernet.co.il>.
1998-05-26 20:57:24 +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
7e696e92be Changed GetStyleData to use an enum instead of an nsID 1998-05-21 02:34:13 +00:00
michaelp
7f81b7f5b7 added gamma correction methods to the device context. the windows rendering context now
gamma corrects colors. fixed tablecellframe to call the right nsStyleCoord constructor.
1998-05-13 18:15:06 +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
troy
32b2e4b08c Changed body to create block pseudo-frame instead of a column pseudo frame,
and hooked up the reflow appended code
1998-05-03 03:51:48 +00:00
kostello
b49a050473 Cleaned up getting attribute values 1998-05-01 21:55:36 +00:00