125 Commits

Author SHA1 Message Date
putterman%netscape.com
c46467d214 Fix for 14386. Prevent memory corruption when opening and closing an account.
Approved = leaf. Reviewed -= karnaze.


git-svn-id: svn://10.0.0.236/trunk@48928 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-23 22:44:47 +00:00
kipp%netscape.com
36c3ac0487 Remove a warning
git-svn-id: svn://10.0.0.236/trunk@45514 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-01 20:59:13 +00:00
hyatt%netscape.com
0cf34ce7ba Changes to the cell map to support incremental insertion and removal of rows. Currently
only used by the tree widget.


git-svn-id: svn://10.0.0.236/trunk@45097 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-30 00:01:09 +00:00
karnaze%netscape.com
42a0e08a9e bug 1271 - percentage height cells, added GetNumCellsOriginatingInRow, fixed GetNumCellsOriginatingInCol
git-svn-id: svn://10.0.0.236/trunk@44534 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-25 21:49:18 +00:00
karnaze%netscape.com
112f671dfe replaced debug flags with class. removed compiler warnings.
git-svn-id: svn://10.0.0.236/trunk@44283 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-24 12:01:31 +00:00
karnaze%netscape.com
2ccead2f78 removed assertions in new incremental layout methods
git-svn-id: svn://10.0.0.236/trunk@44097 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-22 23:56:39 +00:00
karnaze%netscape.com
025bd21a33 added null checking
git-svn-id: svn://10.0.0.236/trunk@43775 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-20 03:30:40 +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
buster%netscape.com
d94e56698f fixed warnings
git-svn-id: svn://10.0.0.236/trunk@37179 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-28 13:44:40 +00:00
karnaze%netscape.com
6ccd350a1d collapsing rows, row groups, cols, col groups
git-svn-id: svn://10.0.0.236/trunk@20372 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-11 06:22:33 +00:00
buster%netscape.com
3dbeb7eb3f changed getters to be XP_COM-like, with out-params instead of return values.
this is so these getters can be bound to an XPCOM interface, nsITableCellLayout


git-svn-id: svn://10.0.0.236/trunk@20326 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-11 01:16:28 +00:00
buster%netscape.com
d4ea1ed1b6 minor fix, moved a method call outside an assert macro
git-svn-id: svn://10.0.0.236/trunk@13198 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-20 14:35:41 +00:00
buster%netscape.com
d92ddd9be2 added ColIsSpannedInto, ColHasSpanningCells
moved *IsSpannedInto and *HasSpanningCells into cellmap, giving us the oppurtunity
to easily cache results if we want.  These methods are still accessed through nsTableFrame.
changed nsTableFrame::GetCellAt to nsTableFrame::GetCellFrameAt to make it more clear what
the method returns:  a frame, not content.


git-svn-id: svn://10.0.0.236/trunk@10440 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-18 22:37:14 +00:00
buster%netscape.com
acbcec3004 fixed minColSpan to always be at least one. This helps support empty rows,
among other problems.


git-svn-id: svn://10.0.0.236/trunk@9206 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-03 06:15:18 +00:00
buster%netscape.com
f5e2a5ce2f fixed a space leak for tables with rowspans
git-svn-id: svn://10.0.0.236/trunk@9165 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-02 22:55:37 +00:00
buster%netscape.com
51b30845c1 fixed a space leak caused by incorrect ~nsCellMap iteration through
the new data structures.


git-svn-id: svn://10.0.0.236/trunk@9153 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-02 21:51:01 +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
ad76084cb9 improved colspan handling.
cells with colspans and specified widths divide their width provisionally between the columns they span. This provisional division is ammended by any cell in any of the effected columns that:
1) has a colspan=1, and
2) has a width specified
the widths of all other columns must be adjusted for cells like these.  Further complicating matters is that it seems <faith> that if multiple colspanning cells intersect a column and each has a width
specified such that the column would have a different width depending on which is used, only the first such cell is used </faith>.  I can neither confirm nor deny this reading the mozilla code.

I also taught the cell map how to deal with this situation:

 colspan=1 | colspan=2 | colspan=1
 colspan=1 | colspan=2 | colspan=1

This table "really" has 4 columns, but the middle cells are treated as if they have no colspan.
Trust me, it matters.  The original colspan attributes can't simply be thrown away because Mr. DOM
could come along at any time and add/remove a cell that would make them important.


git-svn-id: svn://10.0.0.236/trunk@8185 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 15:43:51 +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
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
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
rods
1e059435ae moved inlined SetCellAt to body
git-svn-id: svn://10.0.0.236/trunk@3515 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-08 22:07:15 +00:00
buster
c1f648a966 most HTML 4 attributes supported (though some are still ignored)
lots of methods made inline


git-svn-id: svn://10.0.0.236/trunk@3503 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-08 19:57:04 +00:00
kipp
fb1503758e moved to pub
git-svn-id: svn://10.0.0.236/trunk@165 18797224-902f-48f8-a5cc-f745e15eee43
1998-04-13 20:24:54 +00:00