buster%netscape.com
d28e8c7580
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.
1998-07-27 02:15:37 +00:00
buster%netscape.com
1c628a7907
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
1998-07-26 04:23:01 +00:00
buster%netscape.com
8ca684d107
NOWRAP turned off in fixed-width cells for backwards compatibility
...
we handle inconsistent width attributes better
1998-07-24 23:26:23 +00:00
buster%netscape.com
3e6fe2465d
turn off debug
1998-07-24 17:15:12 +00:00
buster%netscape.com
2afd6cc554
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.
1998-07-24 16:51:16 +00:00
buster%netscape.com
d22b21c1de
fixed column balancing for case where minColWidth > specifiedFixedColumnWidth
1998-07-24 03:53:59 +00:00
buster%netscape.com
a2d1127af7
any table with a nonsense rowspan lays out better
1998-07-24 00:43:09 +00:00
buster%netscape.com
96d64b98cc
completed AdjustTableThatIsTooWide, now gets the table down to the right width.
1998-07-23 21:55:45 +00:00
peterl%netscape.com
41e0e95527
factored backgound finding code to nsStyleUtil
1998-07-23 18:05:03 +00:00
buster%netscape.com
d610b2ae1e
fixed-width columns now respected when their content desired width exceeds
...
the specified width.
1998-07-22 20:06:31 +00:00
buster%netscape.com
30c9af45e8
BasicTableLayoutStrategy::Initialize now properly re-iinitializes instance variables
1998-07-22 18:22:12 +00:00
buster%netscape.com
15e6cd169c
fixed table width problems when there are colspanning cells
1998-07-22 05:38:41 +00:00
troy%netscape.com
7232d0c359
Changed PaintBorder() to use the (x,y) that's passed in
1998-07-22 05:02:07 +00:00
buster%netscape.com
a064b4803b
* 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.
1998-07-22 03:53:43 +00:00
troy%netscape.com
23eb4a6ae4
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
16ebcf53a6
Fixed it so tables that don't want a border don't get a border
1998-07-21 08:12:22 +00:00
troy%netscape.com
f8121e5171
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
troy%netscape.com
b19ff5f472
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
1998-07-20 23:58:00 +00:00
troy%netscape.com
417a329fa3
Changed Paint() to render the background if there is one
1998-07-20 23:56:17 +00:00
buster%netscape.com
67b833fdc3
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.)
1998-07-17 21:02:28 +00:00
buster%netscape.com
b052ed752d
fixed table maxElementSize
1998-07-17 17:51:55 +00:00
buster%netscape.com
8c1e033fc9
we now allow empty rows
1998-07-17 17:51:43 +00:00
buster%netscape.com
728589d34d
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
b16b9e2a07
Fix incremental reflow bug
1998-07-16 22:15:02 +00:00
troy
6b93376d50
Some more changes of nsIPresContext* to nsIPresContext&
1998-07-15 17:05:21 +00:00
troy
a3ff77478f
Added an XXX to remind me to talk with Cujo about how we determine
...
whether the column widths have changed...
1998-07-15 04:52:32 +00:00
troy
a0c12aec8d
Turned off some code that was accidently turned on
1998-07-15 04:46:51 +00:00
troy
fe75103d32
Some improvements to the incremental reflow logic to handle all the
...
cases handled by resize reflow
1998-07-15 04:45:58 +00:00
troy
e264371e9b
Changed API for CreateContinuingFrame and GetReflowMetrics to take
...
a reference to a nsIPresContext
1998-07-15 03:23:23 +00:00
troy
e8893481dd
Changed Reflow() member function to take a reference to a nsIPresContext
...
instead of a pointer
1998-07-15 02:53:09 +00:00
troy
993e1fb8ac
Incremental reflow changes
1998-07-14 15:29:50 +00:00
buster
129f8dca89
turned debug noise off
1998-07-13 20:44:07 +00:00
buster
f6c2161c41
for Nav compatibility, 0-width cells do not have insets
1998-07-13 20:41:38 +00:00
buster
d243e443c4
added Nav4 compatibility code for 0-width cells
1998-07-13 19:22:45 +00:00
buster
4c77b2df1d
fixed 2 minor space leaks having to do with temporary structs allocated
...
to handle colspans
1998-07-13 18:11:12 +00:00
kipp
ec1a4ff016
Reflow child when max-element-size is requested (this works around a purify detected crash)
1998-07-12 00:19:17 +00:00
troy
03dd77b394
Added back in some changes that got lost in the previous
...
check-in
1998-07-11 04:16:29 +00:00
buster
106c3a7c7a
fixed unix build, and one small uninitialized variable problem
1998-07-11 00:47:29 +00:00
buster
f6e4fa25de
*** empty log message ***
1998-07-11 00:08:08 +00:00
buster
7a2fe842b8
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
be29f02f19
More code re-shuffling. I need to hurry and check-in before Cujo
...
whacks the tree
1998-07-10 22:56:13 +00:00
troy
54f6cf2b02
Deprecated the SetFirstContentOffset/SetLastContentOffset member
...
functions that take a nsIFrame*
1998-07-10 19:04:06 +00:00
troy
cee35a3b5c
Changed it so we assume that rows are always complete
1998-07-10 05:23:05 +00:00
troy
ee57569c83
Some incremental improvements
1998-07-10 04:00:38 +00:00
troy
60d0990794
Changed it so the inner table is reflowed by using the Reflow()
...
member function rather than poking the individual pass 1, pass 2, ...
member functions
1998-07-09 14:30:34 +00:00
troy
3e55f85f43
Changes to the caption handling code
1998-07-08 20:21:17 +00:00
troy
ed3232febb
Tables not allow only one caption
1998-07-08 04:49:01 +00:00
troy
ca5a505826
Cleaned up ShrinkWrapChildren so pass 1 doesn't resize the rows
1998-07-07 03:48:21 +00:00
buster
03fd05a8af
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
troy
e1426ada21
More incremental reflow changes
1998-07-07 00:49:07 +00:00
buster
54d0edc73c
fix for empty tables. we now support tables that have no content.
1998-07-07 00:20:21 +00:00
buster
8589fa4d8f
fixed a few bugs with distributing excess/restricted space inappropriately.
...
we now pass around info about whether we're an auto width table.
1998-07-06 22:48:19 +00:00
troy
bec31309df
Incremental reflow work-in-progress
1998-07-06 21:39:23 +00:00
buster
ed14926019
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
troy
52d84888b7
More work-in-progress incremental reflow code
1998-07-02 23:19:31 +00:00
kipp
4e9a622067
Fixed bug where tables weren't returning a proper set of metrics
1998-07-02 21:24:56 +00:00
troy
1ee17c78b1
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
1998-07-02 20:35:23 +00:00
buster
2b75ce1f63
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
troy
b4aa257397
Some work-in-progress for incremental reflow
1998-07-02 05:39:10 +00:00
atotic
0bd5d91ab3
Fixed the for (PRInt32 i=) problem
1998-07-01 22:40:00 +00:00
troy
34efb1dd5a
Eliminated some usage of ChildAt()
1998-07-01 22:22:28 +00:00
troy
226119c0ab
Some work-in-progress for incremental reflow
1998-07-01 04:55:15 +00:00
troy
7c185eac84
Removed some vertical margin collapsing stuff that wasn't needed
1998-07-01 03:03:32 +00:00
kipp
11fba76f60
Use new PropagateContentOffsets API
1998-06-30 20:22:44 +00:00
buster
3cc96f5b94
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.
1998-06-30 20:12:45 +00:00
troy
8885fde69e
Moved shrink wrap code from table frame to table row group frame
1998-06-30 02:11:07 +00:00
buster
033ee8a162
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.
1998-06-30 00:37:03 +00:00
buster
a5505b8275
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
5e60369eda
minor tweaks for table layout
1998-06-29 03:09:14 +00:00
atotic
102f568560
That for (int i)... problem fix
1998-06-27 02:49:36 +00:00
atotic
e6ceb0c01e
Another class reference inside class declaration problem
class A {
void A:method
};
is bad
1998-06-27 02:48:39 +00:00
atotic
90b32ba9d8
Fixed mac warnings
1998-06-27 02:47:44 +00:00
buster
8cb2f20cbf
support for Nav4 compatibility -- auto-width cells with 0-width content are 1 pixel wide
1998-06-26 23:31:33 +00:00
kipp
163249f258
Eliminated IRIX compiler warnings (and a bug)
1998-06-26 15:07:09 +00:00
buster
a6ca882bee
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
2b34ccf86a
Added some asserts to the incremental reflow code
1998-06-24 22:05:59 +00:00
buster
670bf41c19
fixed some bugs related to rowspans. This gets us closer on pages like Mozilla.org that were getting wild table heights.
1998-06-24 19:13:19 +00:00
troy
d8d860fb0b
Changed to make sure we set the (x,y) for the frame before we reflow it
1998-06-24 18:09:47 +00:00
troy
a5129668b4
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
troy
69e26c8efd
Some incremental reflow changes
1998-06-24 04:38:52 +00:00
buster
ff9c9a022a
now tables with precent width nested within tables with auto width work
1998-06-24 00:40:33 +00:00
buster
722a46b983
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
troy
92961a089a
Some work-in-progress for table incremental reflow
1998-06-23 05:43:27 +00:00
troy
efb1b282f7
Eliminated mFirstPassValid and changed code to key off the reflow
...
reason
1998-06-22 21:59:43 +00:00
troy
6822b2dd1a
Started hooking up incremental reflow. So far we only handle changed
...
captions
1998-06-22 05:34:17 +00:00
troy
68cd5cc934
Work in progress for incremental reflow
1998-06-19 05:21:45 +00:00
troy
2880bc5eb8
Eliminated nsTableCaptionFrame and now we just use a nsBodyFrame instead
1998-06-19 00:34:12 +00:00
buster
7463485160
minor updates and fixes
1998-06-17 19:51:51 +00:00
buster
3f9f422457
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
troy
6e9e901bcd
Changed PaintChildren() to only paint those children that intersect
...
the dirty rect
1998-06-14 00:45:21 +00:00
troy
7a60b92f32
Changed ResizeReflowPass1() to default to the reflow reason that was
...
passed in and not resize
1998-06-12 04:28:07 +00:00
troy
b99df5e1a6
Fixed some places where the reflow reason wasn't getting correctly set for
...
the initial reflow
1998-06-12 04:11:41 +00:00
troy
75dff60e3a
Changed how cell layout data is accessed
1998-06-11 22:51:54 +00:00
troy
8b012bed3d
Eliminated FindCellLayoutData() and changed code to use GetCellLayoutData()
...
instead
1998-06-11 18:50:17 +00:00
buster
3a0505d67b
more separation between table content and frames
1998-06-11 17:50:51 +00:00
buster
622d03d0c2
continuing work to separate content from frames
1998-06-11 15:46:37 +00:00
troy
5bcaa32c92
Added some XXX performance reminders
1998-06-11 04:57:56 +00:00
buster
95fd7aebf2
more cleanup and frame/content separation
1998-06-11 00:41:09 +00:00
buster
df525f7de0
some tentative steps towards content/frame separation in tables
1998-06-11 00:13:18 +00:00
troy
5aeffe1a29
Added nsIReflowCommand interface
1998-06-09 04:51:44 +00:00
rods
cd9c4312fb
moved inlined SetCellAt to body
1998-06-08 22:07:15 +00:00
buster
ed47ffbd62
most HTML 4 attributes supported (though some are still ignored)
...
lots of methods made inline
1998-06-08 19:57:04 +00:00
buster
0f3aab57c0
more attributes: cell nowrap, caption align, some misc HTML 4 attributes too
1998-06-08 15:47:03 +00:00
buster
79e57d170d
clean up, and still better cell width attribute layout
1998-06-05 22:50:03 +00:00
buster
7f84a77a97
column widths with cells that span columns now work in most cases, for pixels and percents
...
not yet implemented for the "constrained" case
1998-06-05 18:11:20 +00:00
peterl
71d5fd1025
sync up to new style data apis
1998-06-05 06:09:09 +00:00
buster
9e778bd269
cells with colspans and width attributes now work correctly
1998-06-05 02:50:46 +00:00
buster
020c0f9645
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
69c41b680f
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
buster
74469c222b
made tables quiet again
1998-06-01 21:07:56 +00:00
buster
d9377d1ff6
much better fixed and percentage width layout
1998-06-01 20:21:05 +00:00
kipp
cec2fa4c12
Updated a few table API's so that percentage width could be properly computed
1998-05-30 21:21:51 +00:00
buster
01e79b1c44
some proportional column balancing now works
...
the <TABLE> COLS attribute is supported via proportional column balancing.
1998-05-29 22:08:19 +00:00
troy
cee140e58d
Changed nsReflowState structs to be linked together
1998-05-29 20:36:05 +00:00
buster
c3e2859006
set the groundwork for handling COLS attribute, and attributes on COLGROUP and COL tags. WIP.
...
set the groundwork for handling percentage-width tables. Troy is adding a hook for me to get the correct width info from the parent. WIP.
1998-05-28 21:39:22 +00:00
troy
5e407954bb
Added WillReflow() calls around reflowing of child frame
1998-05-28 18:37:56 +00:00
kostello
adc7359a04
Fix crasher loading mozilla.org page
1998-05-28 18:31:44 +00:00
buster
85689b1cce
fixed case-sensitive include
1998-05-26 23:28:48 +00:00
peterl
dbd29ef9b3
added visibility style attribute
1998-05-26 23:17:29 +00:00
buster
1f193867ca
table width computation using style system (more than it used to, at least)
1998-05-26 22:03:16 +00:00
kostello
0d7f209a72
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
b2296227ff
Merged ResizeReflow() and IncrementalReflow() into one Reflow() member function
1998-05-25 17:31:49 +00:00
troy
63046c8bfd
Changed splittable enum to be bit flags
1998-05-22 04:54:11 +00:00
buster
cc52b356fe
made nsTableCaptionFrame a subclass of nsBodyFrame
1998-05-22 00:05:22 +00:00
kostello
e25ed4fab8
* 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
5a96d99f60
Changed GetStyleData to use an enum instead of an nsID
1998-05-21 02:34:13 +00:00
thom
5493b2968c
fixed compile errors for mac
1998-05-19 23:11:28 +00:00
kipp
bea090f624
Fixed up code that wasn't using the nsReflowStatus constants defined in nsIFrame.h
1998-05-14 00:49:46 +00:00
michaelp
f206060f3d
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
a97ac241a7
sync to new spacing apis
1998-05-12 22:28:01 +00:00
troy
87d8314c08
Changed enum to conform with coding standards
1998-05-12 04:38:23 +00:00
troy
3b08586876
Change to nsIFrame API
1998-05-12 04:17:56 +00:00
kipp
cb1358cbb5
Fixed irix bustage
1998-05-08 21:12:12 +00:00
kipp
c07c22af17
Ported to new CreateFrame/CreateContinuingFrame APIs
1998-05-07 00:08:20 +00:00
troy
ca23e47c2e
Frames no longet store the content index-in-parent
1998-05-05 23:56:50 +00:00
troy
df86871d93
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
03c8ac93bc
Cleaned up getting attribute values
1998-05-01 21:55:36 +00:00
kostello
29c14092b2
Made SetStyleContext take the presentation context as a parameter
...
Made DidSetStyleContext virtual, since we need to override the behavior in subclasses
Moved attribute setting logic from nsTableCell to nsTableCellFrame
Table Borders are being drawn again : )
Table Padding is being displayed
1998-05-01 20:44:55 +00:00
peterl
ede73bb36a
updated to new value class api
1998-04-30 19:55:51 +00:00
buster
247c6270e6
fixed method names
1998-04-30 18:04:16 +00:00
buster
79e0e38684
added nsITableLayoutStrategy as the interface for objects that manage
...
table column balancing. Implemented in BasicTableLayoutStrategy (HTML4-spec).
nsTableFrame instantiates a strategy depending on the compatibility mode.
1998-04-30 17:57:09 +00:00
buster
6c340cf32f
fixed a rounding error, and made tables quiet
1998-04-30 15:20:23 +00:00
buster
c89aa6d95d
lots of pre-conditions and asserts added
...
fixed a bug in layout having to do with sizing cells in columns that are spanned into
1998-04-30 00:27:59 +00:00
peterl
e680905372
changed nsStyleText to use nsStyleCoord
1998-04-28 23:57:01 +00:00
kostello
0521526b48
Call to RecalcLayoutData
1998-04-28 22:44:05 +00:00
kostello
f0ce171f26
Name changed from ResetColumnLayoutData to RecalcColumnLayoutData
1998-04-28 22:41:25 +00:00
kipp
4ec6283dbb
Use PERCENT instead of PCT in style constants; udpated usage of vertical alignment information in nsStyleText
1998-04-27 21:26:48 +00:00
kipp
86764b175c
Fix porting bugs - made it compile on IRIX
1998-04-26 02:59:29 +00:00
kipp
1767b4a8f8
Port to removal of nsStyleMolecule
1998-04-25 18:48:48 +00:00
buster
927efaa036
even better pagination. Tables with small captions can split, and
...
simple tables with big cells can split the cell (and it's row)
1998-04-24 20:59:44 +00:00