164 Commits

Author SHA1 Message Date
buster%netscape.com
6ec4e2be88 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


git-svn-id: svn://10.0.0.236/trunk@5754 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-16 23:23:31 +00:00
troy
ca3a5dd4c3 Some more changes of nsIPresContext* to nsIPresContext&
git-svn-id: svn://10.0.0.236/trunk@5601 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-15 17:05:21 +00:00
troy
ee770f6c01 Added an XXX to remind me to talk with Cujo about how we determine
whether the column widths have changed...


git-svn-id: svn://10.0.0.236/trunk@5581 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-15 04:52:32 +00:00
troy
daf7150ca5 Some improvements to the incremental reflow logic to handle all the
cases handled by resize reflow


git-svn-id: svn://10.0.0.236/trunk@5579 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-15 04:45:58 +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
5d54fed53c Incremental reflow changes
git-svn-id: svn://10.0.0.236/trunk@5482 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-14 15:29:50 +00:00
kipp
c6eae7d71d Reflow child when max-element-size is requested (this works around a purify detected crash)
git-svn-id: svn://10.0.0.236/trunk@5375 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-12 00:19:17 +00:00
troy
fd17693b35 Added back in some changes that got lost in the previous
check-in


git-svn-id: svn://10.0.0.236/trunk@5359 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-11 04:16:29 +00:00
buster
27d15214e7 fixed unix build, and one small uninitialized variable problem
git-svn-id: svn://10.0.0.236/trunk@5326 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-11 00:47:29 +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
5b2534fcda More code re-shuffling. I need to hurry and check-in before Cujo
whacks the tree


git-svn-id: svn://10.0.0.236/trunk@5320 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-10 22:56:13 +00:00
troy
45923e2e1b Changed it so we assume that rows are always complete
git-svn-id: svn://10.0.0.236/trunk@5277 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-10 05:23:05 +00:00
troy
c54f7d9d1c Some incremental improvements
git-svn-id: svn://10.0.0.236/trunk@5276 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-10 04:00:38 +00:00
buster
38ee9372e2 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.


git-svn-id: svn://10.0.0.236/trunk@5082 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-07 01:06:51 +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
buster
ead43eee9f 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.


git-svn-id: svn://10.0.0.236/trunk@5056 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-06 21:00:11 +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
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
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
troy
a4008f60fb Some work-in-progress for incremental reflow
git-svn-id: svn://10.0.0.236/trunk@4779 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-01 04:55:15 +00:00
troy
e7ec0d1a2b Removed some vertical margin collapsing stuff that wasn't needed
git-svn-id: svn://10.0.0.236/trunk@4777 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-01 03:03:32 +00:00
buster
28ed0c4991 fixed-width cells no longer improperly impact the available size
of subsequent cells in reflow pass 1

we correctly distribute extra space in a table proportionately.
We try to give the extra space to auto-width columns first,
and if there are none we distribute it to all columns.
The percentage is based on the cell content's desired size.


git-svn-id: svn://10.0.0.236/trunk@4722 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-30 20:12:45 +00:00
buster
4028747412 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.


git-svn-id: svn://10.0.0.236/trunk@4670 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-29 20:38:22 +00:00
buster
545749c070 minor tweaks for table layout
git-svn-id: svn://10.0.0.236/trunk@4660 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-29 03:09:14 +00:00
kipp
410a0c4bb2 Eliminated IRIX compiler warnings (and a bug)
git-svn-id: svn://10.0.0.236/trunk@4568 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-26 15:07:09 +00:00
buster
9c71826ed6 fixed some nested table bugs and made some minor adjustments to Kipp's new line layout code.
git-svn-id: svn://10.0.0.236/trunk@4550 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-26 00:48:44 +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
buster
49fc78ed8a fixed some bugs related to rowspans. This gets us closer on pages like Mozilla.org that were getting wild table heights.
git-svn-id: svn://10.0.0.236/trunk@4429 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-24 19:13:19 +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
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
aef1ccc739 Changed PaintChildren() to only paint those children that intersect
the dirty rect


git-svn-id: svn://10.0.0.236/trunk@3776 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-14 00:45:21 +00:00
buster
0d87d412e5 some tentative steps towards content/frame separation in tables
git-svn-id: svn://10.0.0.236/trunk@3637 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-11 00:13:18 +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
1187bf4578 cells with colspans and width attributes now work correctly
git-svn-id: svn://10.0.0.236/trunk@3303 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-05 02:50:46 +00:00
buster
a8657b2060 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


git-svn-id: svn://10.0.0.236/trunk@3301 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-05 02:36:25 +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
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