692 Commits

Author SHA1 Message Date
troy%netscape.com
d67ed45304 Changed BuildCellMap() to iterate table cell frames using the sibling
list instead of ChildAt()


git-svn-id: svn://10.0.0.236/trunk@6847 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-30 04:50:38 +00:00
kipp%netscape.com
101913b9b5 Remove most compiler warnings on IRIX
git-svn-id: svn://10.0.0.236/trunk@6756 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-29 20:19:08 +00:00
buster%netscape.com
a264875bff COLS attribute ignored if any column width info is specified (like <TD width=100>)
fixed lots of COLS related bugs.
handle min width spec (<TD width=0 or width=0% or width=0*>)
major fix to colspan handling


git-svn-id: svn://10.0.0.236/trunk@6493 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-26 04:23:01 +00:00
buster%netscape.com
5c09b61055 GetColCount now returns the effective column count of the table, adjusted
for nonsense COLSPANs at the edge of a table.  Fixed some bugs this uncovered
where the cell was being asked for its colspan attribute rather than the table
being asked for the cell's effective col span.


git-svn-id: svn://10.0.0.236/trunk@6402 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-24 16:51:16 +00:00
buster%netscape.com
97ce24b2ed fixed table width problems when there are colspanning cells
git-svn-id: svn://10.0.0.236/trunk@6154 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-22 05:38:41 +00:00
troy%netscape.com
878c1d1350 Changed PaintBorder() to use the (x,y) that's passed in
git-svn-id: svn://10.0.0.236/trunk@6152 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-22 05:02:07 +00:00
buster%netscape.com
26234a5a97 * reworked the way colspan and rowspans are handled in table layout strategy. We do less work, and we look better.
* fixed more margin code.  we're inching towards correctness.
* the width contributed by a colspanning cell is now proportionately distributed to the columns based on the columns "effective width"
* added logic for handling illegal COLS attribute on a table (like COLS=4 in a 3-column table).  See nsTableFrame::GetEffectiveCOLSAttribute()
* added logic for handling illegal COLSPAN attribute on a cell (like COLSPAN=4 in a 3-column table).  See nsTableFrame::GetEffectiveColSpan().  This is wrong, and will get reworked soon.
* added the ability for cell width attributes to effect column width like Nav4.


git-svn-id: svn://10.0.0.236/trunk@6145 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-22 03:53:43 +00:00
troy%netscape.com
e727c63ed5 Changed nsCSSRendering::PaintBorder() so the entire rect is used
and not just the width and height


git-svn-id: svn://10.0.0.236/trunk@6136 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-22 02:46:00 +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%netscape.com
5e3cee8013 Changed Paint() to use the parent frame's color style struct. We can't use our
color style struct because we're a pseudo frame and so the style system forces
us to have a transparent background


git-svn-id: svn://10.0.0.236/trunk@6026 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-20 23:58:00 +00:00
buster%netscape.com
2d3b42883a fixed a space leak/logic error handling colspans
added backwards compatibility for percent width tables inside of auto width tables (see http://webreview.com/wr/pub  warning:  you'll have to look at a local copy until
Troy/Vidur/somebody fixes an image problem.)


git-svn-id: svn://10.0.0.236/trunk@5842 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-17 21:02:28 +00:00
buster%netscape.com
2280d3dcab fixed table maxElementSize
git-svn-id: svn://10.0.0.236/trunk@5821 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-17 17:51:55 +00:00
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
fea23176e8 Turned off some code that was accidently turned on
git-svn-id: svn://10.0.0.236/trunk@5580 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-15 04:46:51 +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
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
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
buster
07691d8960 fix for empty tables. we now support tables that have no content.
git-svn-id: svn://10.0.0.236/trunk@5079 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-07 00:20:21 +00:00
troy
a40632c113 Incremental reflow work-in-progress
git-svn-id: svn://10.0.0.236/trunk@5065 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-06 21:39:23 +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
6b8fcf2004 Eliminated some usage of ChildAt()
git-svn-id: svn://10.0.0.236/trunk@4835 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-01 22:22:28 +00:00
troy
1d0565bf04 Moved shrink wrap code from table frame to table row group frame
git-svn-id: svn://10.0.0.236/trunk@4693 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-30 02:11:07 +00:00
buster
192935238f columns that are fixed-width due to an attribute on the corresponding cell in the first row
now work correctly.
extra space is now properly apportioned in the "table fits" case when the table contains auto-width cells.


git-svn-id: svn://10.0.0.236/trunk@4683 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-30 00:37:03 +00:00
atotic
ddf76d4a60 Fixed mac warnings
git-svn-id: svn://10.0.0.236/trunk@4637 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-27 02:47:44 +00:00
buster
3b31c107da support for Nav4 compatibility -- auto-width cells with 0-width content are 1 pixel wide
git-svn-id: svn://10.0.0.236/trunk@4609 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-26 23:31:33 +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
33a90e073e now tables with precent width nested within tables with auto width work
git-svn-id: svn://10.0.0.236/trunk@4366 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-24 00:40:33 +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
937b504950 minor updates and fixes
git-svn-id: svn://10.0.0.236/trunk@3993 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-17 19:51:51 +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
e3a40ebb34 Changed ResizeReflowPass1() to default to the reflow reason that was
passed in and not resize


git-svn-id: svn://10.0.0.236/trunk@3711 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-12 04:28:07 +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
c99c4732b8 Changed how cell layout data is accessed
git-svn-id: svn://10.0.0.236/trunk@3678 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-11 22:51:54 +00:00
troy
c1f731addb Eliminated FindCellLayoutData() and changed code to use GetCellLayoutData()
instead


git-svn-id: svn://10.0.0.236/trunk@3662 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-11 18:50:17 +00:00
troy
49eac66b52 Added some XXX performance reminders
git-svn-id: svn://10.0.0.236/trunk@3652 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-11 04:57:56 +00:00
buster
d62220ccdf more cleanup and frame/content separation
git-svn-id: svn://10.0.0.236/trunk@3642 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-11 00:41:09 +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
buster
4955cecaaa column widths with cells that span columns now work in most cases, for pixels and percents
not yet implemented for the "constrained" case


git-svn-id: svn://10.0.0.236/trunk@3349 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-05 18:11:20 +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
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