61 Commits

Author SHA1 Message Date
karnaze%netscape.com
430941b018 bug 41262 - new table border collapsing code. sr=attinasi, r=alexsavulov.
git-svn-id: svn://10.0.0.236/trunk@114937 18797224-902f-48f8-a5cc-f745e15eee43
2002-02-19 15:48:28 +00:00
gerv%gerv.net
13afb6d0f9 Relicensing Round 1, Take 2. Most C-like NPL files -> NPL/GPL/LGPL. Bug 98089.
git-svn-id: svn://10.0.0.236/trunk@104119 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 20:14:13 +00:00
karnaze%netscape.com
dc533afd4b bug 92647 - Added static UpdateCol and call it when a cell changes width even though a rebalance is not needed. Stopped storing fix width in col as max of min and fix. sr=attinasi, r=alexsavulov
git-svn-id: svn://10.0.0.236/trunk@100393 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-06 13:58:46 +00:00
bernd.mielke%snafu.de
2ca7d9b2aa bug 45486 fixing percent colspans iterate over from the inner to the outer colspan
cleanup in header files, some documentation, removing cruft
bug 55694 use reflowstate.availwidth if is usefull
r=karnaze sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@99323 18797224-902f-48f8-a5cc-f745e15eee43
2001-07-16 19:15:01 +00:00
karnaze%netscape.com
c76866e3ea table reflow coalescing, table reflow face lift. sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@89462 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-13 06:38:59 +00:00
karnaze%netscape.com
b45820e80c bug 67861 - don't rebalance table to calculate max width; cache last available width in outer table; improved debug reflow timing; sr=attinasi, r=peterl
git-svn-id: svn://10.0.0.236/trunk@86475 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-07 04:31:38 +00:00
karnaze%netscape.com
40a59f1659 bugs 47163, 60807 and others, sr=buster
simplified BasicTableLayoutStrategy's CalculateTotals and CanAllocate
better calculation of proportional cols
calculation of adjusted widths due to colspans honors the fixed and pct widths of cols being spanned


git-svn-id: svn://10.0.0.236/trunk@83859 18797224-902f-48f8-a5cc-f745e15eee43
2000-12-19 20:29:46 +00:00
karnaze%netscape.com
ed7846789e bug 53891 - strategy correctly calculates preferred width of a fixed width table. a=buster, r=dcone.
git-svn-id: svn://10.0.0.236/trunk@80541 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-06 01:04:13 +00:00
karnaze%netscape.com
3a14935f89 bug 14929 - Reallocate colspan adjusted col widths when there is a percent col being spanned.
git-svn-id: svn://10.0.0.236/trunk@78566 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-09 01:46:44 +00:00
karnaze%netscape.com
ba59a76950 bug 27529 - round column allocations to even pixel value. bug 18955 - don't allocate a col based on desired content if there is a fixed value. r=peterl.
git-svn-id: svn://10.0.0.236/trunk@77825 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-01 01:29:50 +00:00
karnaze%netscape.com
f1700ddd48 bug 29459 - strategy's table min and max width is calculated to include
percent and proportional cells. Stopped caching it. Calculate max element size better.


git-svn-id: svn://10.0.0.236/trunk@68947 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-10 00:54:00 +00:00
karnaze%netscape.com
19635b17c5 bug 10636, 15499(partial) - correctly get margin,border,padding from reflow info. calculate it for percentage padding when reflow state not available. r=troy
git-svn-id: svn://10.0.0.236/trunk@60564 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-12 01:55:40 +00:00
karnaze%netscape.com
33c20babf3 bug 17826, removed buggy/unnecessary RecomputeAdjustedMinIfNecessary, r=attinasi
git-svn-id: svn://10.0.0.236/trunk@59448 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-02 00:48:30 +00:00
troy%netscape.com
60471abd92 b=21657 a=chofmann@netscape.com Made "overflow list" a full fledged
child list and changed ReparentFrameView() to check it.


git-svn-id: svn://10.0.0.236/trunk@58373 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-22 01:16:50 +00:00
karnaze%netscape.com
6ffe908f39 incremental cell map, columns. Bugs 12122, 21544. r=troy,hyatt a=hofmann
git-svn-id: svn://10.0.0.236/trunk@55939 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-13 22:56:31 +00:00
dmose%mozilla.org
92d791b7b0 updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@52908 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:40:37 +00:00
karnaze%netscape.com
49e55fa057 bugs 17138, 17168 and others - col allocation involving colspans honors constraints; pct colspans were allocating incorrectly if pct cols existed.
git-svn-id: svn://10.0.0.236/trunk@52879 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 22:36:59 +00:00
karnaze%netscape.com
c3e71c904f column allocation does fixed and adjusted fixed (colspans) in separate steps. Simplified AllocateConstrained. Fixed bug 14332.
git-svn-id: svn://10.0.0.236/trunk@49714 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 05:19:32 +00:00
troy%netscape.com
4e1923d3ad Hooked up SizeOf() for cell map and table layout strategies. Also added in
some table frame data that was missed


git-svn-id: svn://10.0.0.236/trunk@49622 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-02 00:02:54 +00:00
karnaze%netscape.com
ecc88ac54d bug 11944 - row group is properly offset using table border. cleaned up new incremental reflow methods.
git-svn-id: svn://10.0.0.236/trunk@43899 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-20 23:27:54 +00:00
karnaze%netscape.com
5e4439a661 Added new incremental reflow methods.
CellData keeps track of row versus col spans.
nsColFrame keeps track of what cell contributed to constrained width.
nsCellMap::GetCellFrameAt replace with GetCellInfoAt
simplified nsTableCellFrame::RecalcLayoutData and removed FindLargestMargin, CalculateMargins, CalculateMargins
simplified nsTableFrame::RecalcLayoutData and removed AppendLayoutData
Added gsDebugReflow capability, remove all existing debug printf


git-svn-id: svn://10.0.0.236/trunk@43641 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-19 19:52:37 +00:00
karnaze%netscape.com
382b9863de new nsCellMap, BasicTableLayoutStrategy, plus various fixes to table
frames while testing the new cell map and strategy


git-svn-id: svn://10.0.0.236/trunk@41454 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-28 08:09:02 +00:00
karnaze%netscape.com
f286a1e3c4 bug 7243. Rewrote FixedTableLayoutStrategy::AssignPreliminaryColumnWidths
git-svn-id: svn://10.0.0.236/trunk@33487 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 02:42:33 +00:00
karnaze%netscape.com
703e798b06 Rewrote DistributeRemainingSpace a 2nd time and added compat mode.
bug 6068, 6933. nsTableRowGroupFrame::CalculateRowHeights - changed row spans to consider
top and bottom margins during height calculations. Calculations using percentages ensure that the sum of
rows sum exactly to excess.

bug 6404 BasicTableLayoutStrategy::BalanceColumnsConstrained cols in span other than 1st col was
not getting additional allocations from cell. ::DistributeRemainSpace uses max width of col
instead of max effective width. Also added checks for negative value during percentage calculations.


git-svn-id: svn://10.0.0.236/trunk@32755 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 22:22:23 +00:00
karnaze%netscape.com
d6b03337dc support for css padding in table cells
git-svn-id: svn://10.0.0.236/trunk@32042 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-18 05:18:16 +00:00
karnaze%netscape.com
7ba719a0eb bug 6184 - reworked alogrithm for reallocating space to auto width columns.
git-svn-id: svn://10.0.0.236/trunk@30937 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-10 19:23:09 +00:00
kipp%netscape.com
9b917419dc COMized nsIPresShell and nsIPresContext
git-svn-id: svn://10.0.0.236/trunk@20570 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-12 17:45:58 +00:00
buster%netscape.com
061ed664e2 just documentation
git-svn-id: svn://10.0.0.236/trunk@17291 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-07 02:16:10 +00:00
buster%netscape.com
aeee0e2b41 irrationally-specified table (one where the width attributes of various rows don't add up to the same value,
and/or to the width attribute on the table itself), the rule is to try to give the column the largest value
assigned to it by any cell intersecting that column.
Separate storage is maintained for a column's natural desired width (width from any source other than a cell
with a colspan) and the maximum contribution to the column's width from any cell with a colspan.


git-svn-id: svn://10.0.0.236/trunk@14732 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-16 06:46:00 +00:00
buster%netscape.com
1e16c84e01 fixes Bug 1110, URL=http://www.webstandards.org
ables were not correctly applying the min width of the content of cells
that had col spans in some cases.  In this case, the nested table was specified
as being too narrow for the content.  There were 4 columns each with width=25%
in the first row, and in the next row a single cell with colspan=4 and whose
content min size was wider than the specified table width.


git-svn-id: svn://10.0.0.236/trunk@13394 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-23 19:56:11 +00:00
buster%netscape.com
1b5515eaa5 rows can now be incrementally inserted, appended, and deleted.
git-svn-id: svn://10.0.0.236/trunk@13141 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-19 23:43:06 +00:00
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
buster%netscape.com
206051c0e7 fixed coord-width colspan handling in some complex cases
git-svn-id: svn://10.0.0.236/trunk@11796 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-02 20:34:11 +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
buster%netscape.com
c82e3e07ed much better backwards compatibility for autowidth tables
now autowidth columns as assigned a width starting from their minimum.  The remaining
space is proportionately divided among them, never allowing a column to go over its max (for
autowidth tables only.)


git-svn-id: svn://10.0.0.236/trunk@11671 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-01 18:39:31 +00:00
buster%netscape.com
436c4b73a5 better handling of non-cell frames in rowFrames
support for the case where a nested table is in a cell that has colspan>1


git-svn-id: svn://10.0.0.236/trunk@10105 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-16 00:48:14 +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
buster%netscape.com
cb664f26da reimplemented cell map in terms of nsVoidArrays for incremental building.
the cellmap is now built incrementally, driven by nsTableRowFrame::InitialReflow


git-svn-id: svn://10.0.0.236/trunk@8888 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-31 21:23:28 +00:00
buster%netscape.com
b7b8a5e07f * migrated and improved some fixes from the branch to the tip
* fixes sample6, yahoo resizing
* added BasicTableLayoutStrategy::ColIsSpecifiedAsMinimumWidth helper function,
which tells us if the given column has a width attribute that means "make me as small as possible"
* nsTableFrame methods now no longer use mCellMap directly, they ask for it from
GetCellMap which gets the cell map from the first-in-flow.  Only the first-in-flow has a
cell map because the cellmap refers to the table as a single object, not to each table frame.
* Likewise, continuing table frames do not call BalanceColumnWidths or SetTableWidth
which are "global" operations.  Responsibility for these lies with the first-in-flow.


git-svn-id: svn://10.0.0.236/trunk@8020 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 16:16:43 +00:00
buster%netscape.com
a228539105 made auto-width tables that have all-fixed-width columns act like
fixed-width tables.


git-svn-id: svn://10.0.0.236/trunk@7064 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-01 20:31:40 +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
buster%netscape.com
c017339e1c much better handling of tables who have fixed-width columns that make the table wider than it is allowed to be
added some sanity checking in BalanceColumnWidths be ensure that a column width
can never be less than the minimum element in that column.


git-svn-id: svn://10.0.0.236/trunk@6507 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-27 02:15:37 +00:00
buster%netscape.com
73c07a04f5 completed AdjustTableThatIsTooWide, now gets the table down to the right width.
git-svn-id: svn://10.0.0.236/trunk@6321 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-23 21:55:45 +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
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
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
buster
4771ca51e3 fixed a few bugs with distributing excess/restricted space inappropriately.
we now pass around info about whether we're an auto width table.


git-svn-id: svn://10.0.0.236/trunk@5074 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-06 22:48:19 +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
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
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