buster%netscape.com
29018c63f5
set all the groundwork for FAST table layout based on CSS-2 table-layout property
1998-09-22 23:36:06 +00:00
troy%netscape.com
528288293f
Removed all references to m<First,Last>ContentOffset,mChildCount,mLastContentIsComplete
1998-09-21 03:40:32 +00:00
buster%netscape.com
c663125cd3
captions now work properly with new frame layout strategy.
...
nsTableOuterFrame->mFirstChild==nsTableOuterFrame->mInnerTableFrame, always.
1998-09-20 04:50:08 +00:00
troy%netscape.com
9955ac85ce
Removed farme enumeration member functions for indexed access, last child,
...
and child count
1998-09-19 03:24:26 +00:00
buster%netscape.com
1595410b34
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.
1998-09-18 22:37:14 +00:00
troy%netscape.com
52eb998d8f
Removed nsIContentDelegate.h
1998-09-18 17:34:48 +00:00
troy%netscape.com
b6c1cfd2b8
Removed content delegates
1998-09-18 17:18:37 +00:00
troy%netscape.com
99e44d52a8
Fixed a compiler warning
1998-09-18 03:13:47 +00:00
troy%netscape.com
c15391cc5b
Removed some old commented out code
1998-09-18 02:28:12 +00:00
troy%netscape.com
18236677c9
Removed some code that's no longer needed now that we've switched to
...
new frame construction
1998-09-18 02:22:52 +00:00
troy%netscape.com
a753f54fe4
Removed some commented out code that's not needed now that we're using the
...
new frame construction
1998-09-18 00:49:40 +00:00
troy%netscape.com
740f73d46a
Cleaned up frame construction code
1998-09-17 04:07:58 +00:00
troy%netscape.com
8f84d7f3e7
Fixed a problem with tables with COLGROUP and COL elements crashing
...
because there was a null cellmap
1998-09-16 23:24:39 +00:00
troy%netscape.com
494c808426
Clean up work
1998-09-16 20:27:30 +00:00
troy%netscape.com
abdd161d93
Frame construction changes for tables
1998-09-16 17:19:20 +00:00
buster%netscape.com
58ec784e3d
better handling of non-cell frames in rowFrames
...
support for the case where a nested table is in a cell that has colspan>1
1998-09-16 00:48:14 +00:00
pierre%netscape.com
d4cc072cea
fixing mac build (the class name was repeated in the method declaration)
1998-09-15 23:39:28 +00:00
buster%netscape.com
9b0ef8b4b6
nsTableRowGroupFrame no longer assumes all its children are rows, or that all row children are cells.
1998-09-15 20:36:42 +00:00
buster%netscape.com
c47f9bbfcb
nsStyleConsts.h added some HTML 4 consts for tables
...
nsHTMLAtoms.cpp,h added some HTML 4 strings for tables
nsHTMLParts.h added constructors for new table content classes
nsGenericHTMLElement.cpp,h added table frame creation, common table attribute parsing
nsHTMLTable*Element.cpp these are the new table content classes
nsHTMLContentSink.cpp enabled the new content and removed the old
nsHTMLStyleSheet.cpp fixed the table style optimizations to work with new content
nsTable*Frame.cpp these work with the new content
1998-09-15 17:58:24 +00:00
buster%netscape.com
ff3dd0440f
integrates with new frame creation methods
1998-09-09 21:34:10 +00:00
buster%netscape.com
e20837cb63
many fixes that effect http://www.mozilla.org and related pages.
...
these fixes are for nested tables with percent widths, for tables including both rowspan and colspan,
and for tables with only a single column.
some rounding errors were eliminated.
more debugging output, and some new assertions.
1998-09-09 20:00:40 +00:00
buster%netscape.com
6a75755983
fixed 2 small errors in computing table widths.
...
1) sometimes we were adding 1 too many pixels in constrained tables
2) sometimes we were using the wrong value for the max width as an input to constrained tables
1998-09-08 19:11:14 +00:00
buster%netscape.com
f2af2dddd3
fixed minColSpan to always be at least one. This helps support empty rows,
...
among other problems.
1998-09-03 06:15:18 +00:00
buster%netscape.com
c217723f0f
fixed a space leak for tables with rowspans
1998-09-02 22:55:37 +00:00
buster%netscape.com
a8906329f4
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.
1998-09-02 21:59:54 +00:00
buster%netscape.com
30c1c13fac
fixed a space leak caused by incorrect ~nsCellMap iteration through
...
the new data structures.
1998-09-02 21:51:01 +00:00
buster%netscape.com
1d3e803e2e
empty rows now handled properly
1998-09-01 17:49:05 +00:00
buster%netscape.com
e5ebbcebfb
reimplemented cell map in terms of nsVoidArrays for incremental building.
...
the cellmap is now built incrementally, driven by nsTableRowFrame::InitialReflow
1998-08-31 21:23:28 +00:00
kipp%netscape.com
ed22b370c4
XPCOM'ized nsIContent and nsIHTMLContent
1998-08-29 20:20:38 +00:00
michaelp%netscape.com
8190f7951c
DeleteFrame() now takes a pres context.
1998-08-28 03:02:39 +00:00
peterl%netscape.com
187d67d420
no longer force unique style contexts
1998-08-27 00:57:05 +00:00
peterl%netscape.com
f52cbf4795
remove text attribute processing
1998-08-27 00:56:17 +00:00
buster%netscape.com
7e96e8fd79
fixed a minor bug handling tables with COLS attribute
1998-08-26 17:53:47 +00:00
buster%netscape.com
6db252107e
more content decoupling
...
support work for style optimizations
fixed a bug in table columns -- the attribute repeat defaults to 1, not 0
1998-08-26 17:26:38 +00:00
joki%netscape.com
da96d34a84
Modifying nsIContent's AppendChild -> AppendChildTo to stop conflict with
...
DOM interfaces.
1998-08-21 21:38:26 +00:00
buster%netscape.com
e0a1fdde1a
verify that proportionate-width columns (1* format, or COLS attribute)
...
get sized to at least their minimum width
1998-08-20 17:31:20 +00:00
buster%netscape.com
b873fc30c9
fixes a layout bug where subsequent cells in a column when colspans are involved
...
could select the wrong starting width for the column, causing it to have the
wrong ending width.
1998-08-19 20:41:06 +00:00
buster%netscape.com
530e8de8f4
modified the resize reflow optimization so max element size is returned
...
if requested without triggering a reflow if the width hasn't changed.
1998-08-19 18:40:33 +00:00
buster%netscape.com
3118fc8dd4
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.
1998-08-19 15:43:51 +00:00
buster%netscape.com
3fdbc38e6a
fixed nested tables for the case where both parent and child table are %-width,
...
and the columns are any variety of width types
1998-08-17 23:37:04 +00:00
buster%netscape.com
111b5b619b
fixed a memory leak where a style context was not being released when
...
the table cell set the table column's style.
1998-08-17 19:03:36 +00:00
buster%netscape.com
f83acab7fa
* 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.
1998-08-14 16:16:43 +00:00
buster%netscape.com
7420e1ee2a
first cut at implementing %-width columns inside of auto-width tables.
...
This is about 50% done, which covers about 90% of the cases.
1998-08-11 18:42:10 +00:00
buster%netscape.com
1c270568c1
percent-width nested tables in fixed-width cells now use the computed
...
column width if available for computing their own width.
1998-08-10 02:16:18 +00:00
troy%netscape.com
4b212c0467
Change to object lifetime management. Views are no longer ref counted
1998-08-08 04:23:33 +00:00
buster%netscape.com
3e5e3d41ac
bug #312932 . fixes nested tables with percent widths that also have
...
content with percent widths.
1998-08-07 21:53:27 +00:00
troy%netscape.com
9e6a598b8a
Removed MoveTo() and SizeTo() member functions that were for debug
...
purposes, and are no longer needed
1998-08-07 18:17:34 +00:00
buster%netscape.com
2559cf7afe
synch with branch
...
fixed the following bugs: 312653 312656 312655
the fixes were:
1. cells now inherit their bgcolor from the row, if available. This is the
Nav4 way of drawing row bgcolor, rather than having the row paint its own bgcolor. (Troy, I intend to make this conditional
based on the compatibility mode)
2. colspans across cols that are all specified width no longer try to proportionately
divide the width of the span between the cols. see http://www.city.net (now it's really fixed, without breaking nested tables in
constrained situations.) A happy side effect is nested tables in general behave better when constrained.
3. min table sizes are fixed, so min width changes to content now effect the
table correctly during incremental reflow. This fixes the table layout portion of the bugs on the http://www.aol.com/corp tree.
Rick will check in the other half of this fix soon. Until then, don't expect to see much improvement.
4. fixed bug 312799. Table cell now always reserve at least the maxElementSize
of its content, fixing problems when desiredSize<maxElementSize
1998-08-07 02:11:51 +00:00
buster%netscape.com
6f0ac1e485
removed an overly-aggressive assertion that prevents nested tables from laying out
1998-08-04 17:16:56 +00:00
buster%netscape.com
6eec76b709
backed out a mistake from my last checkin. table min sizes are ok again
1998-08-04 00:56:57 +00:00
troy%netscape.com
a4f2401d33
Added ASSERT for the case where we get passed a reflow reason of initial
...
when we've already been reflowed once
1998-08-03 23:29:35 +00:00
buster%netscape.com
79b37f8596
fixed this case: (an image tag with no width attribute) inside (a specified-width column) inside
...
(a nested table with specified width) inside (an auto-width column)
inside (a specified-width table). Got that?
The problem was that we we not setting state correctly during incremental reflow
when the image returned its proper metrics after giving default metrics that
were for its ALT text.
1998-08-03 20:27:59 +00:00
buster%netscape.com
636d79ded1
made auto-width tables that have all-fixed-width columns act like
...
fixed-width tables.
1998-08-01 20:31:40 +00:00
buster%netscape.com
94c1200f33
*** empty log message ***
1998-08-01 02:36:31 +00:00
buster%netscape.com
a0a408d862
*** empty log message ***
1998-08-01 02:32:27 +00:00
buster%netscape.com
c024f2b0c9
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.
1998-08-01 02:31:55 +00:00
buster%netscape.com
05a1471845
fixed a memory leak on a style context
1998-08-01 02:30:35 +00:00
peterl%netscape.com
4d01ae8f02
rounding support
1998-07-31 23:34:45 +00:00
buster%netscape.com
aa462112de
we now paint backgrounds regardless of our content. Cell borders are
...
still conditionally painted based on whether the cell's content has
0=size or not.
1998-07-31 00:32:27 +00:00
buster%netscape.com
15c1f676f4
fixed an error where min width of col spanners were getting proportionately distributed
...
only desired width gets distributed, not min size.
1998-07-31 00:31:09 +00:00
troy%netscape.com
12d2f9d0b3
Changed BuildCellMap() to iterate table cell frames using the sibling
...
list instead of ChildAt()
1998-07-30 04:50:38 +00:00
kipp%netscape.com
4a52add42a
Remove most compiler warnings on IRIX
1998-07-29 20:19:08 +00:00
buster%netscape.com
5cb940407a
fix for distributing spanned width that is less than the column minimums it spans.
1998-07-28 00:23:01 +00:00
buster%netscape.com
f8c9252abb
more span fixes
1998-07-27 23:47:54 +00:00
buster%netscape.com
ba156af216
empty cells do not render border or background color
1998-07-27 07:37:57 +00:00
buster%netscape.com
30591dc6ca
minor fixes for spans
1998-07-27 07:20:03 +00:00
buster%netscape.com
891eb65909
cleaner version of earlier code. still buggy on some pages for no apparent reason.
1998-07-27 05:32:50 +00:00
buster%netscape.com
67663ae7b7
*** empty log message ***
1998-07-27 03:02:32 +00:00
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
buster
48f12cd759
fixed a nefarious little bug with multiple row spans in the same table
...
subsequent rows (the ones below the effected rows) were not placed correctly
when the height of the spanning cell became greater than the sum of the heights
of the rows it spanned.
1998-04-23 22:59:07 +00:00
buster
92ffa0d48f
table header and footer rowgroups placed properly, replicated across continuing tables
...
some pagination fixes, including a hack to make negative available heights = 1.
1998-04-23 17:29:07 +00:00
peterl
64cc4238d1
WIP moving margin, border & padding out of nsStyleMolecule
...
Switch to nsIPtr for style context ptrs to eliminate leaks
1998-04-22 06:37:57 +00:00
scullin
ac9ac64cb2
Fix release mode bustage.
1998-04-21 18:25:52 +00:00
buster
494d1f714f
table performance and minor bug fixes.
1998-04-20 22:49:15 +00:00
troy
91a9babbf7
Changed IsSplittable to have three return values
1998-04-17 23:08:20 +00:00
troy
d504fcfb0c
Changed nsIFrame member functions to return a nsresult
1998-04-17 01:41:24 +00:00
buster
aa3801157a
removed noisy debug
1998-04-16 22:25:09 +00:00
buster
e9fef51c60
simple tables now paginate nicely. Some more complex tables
...
also paginate ok, though resizing in paginated mode doesn't work yet.
Captions still don't work.
1998-04-16 22:21:32 +00:00
michaelp
5542eeba5e
fixed bug where we would double paint any frame that had a view.
1998-04-14 21:49:29 +00:00
buster
39b10e3604
documentation changes
1998-04-14 21:45:28 +00:00
kipp
4717009d75
moved to pub
1998-04-13 20:24:54 +00:00