Commit Graph

496 Commits

Author SHA1 Message Date
troy@netscape.com
e602e25924 Added Init() member function to nsIFrame 1998-12-03 06:31:43 +00:00
wtc@netscape.com
50476c767e This checkin (under mozilla/layout) is all about 'const'. Digital Unix's
C++ compiler is strict about getting 'const' right.  Most of the changes
are to add 'const' to the type casts for the second argument of the
GetStyleData method, which wants a const reference.
1998-12-02 16:45:20 +00:00
buster@netscape.com
f66d75d581 removed debug output 1998-11-24 20:40:43 +00:00
buster@netscape.com
02b9e1c81a bug 1520 (www.mirabilis.com)
the problem was the way table layout apportioned height from a rowspanning cell.
Now, we do 2 things correctly:
1) we handle rows with rowspanning cells and no other cells.
2) we divide the height of a rowspanning cell proportionately to the rows spanned, where the proportion is defined by
the max height of a cell in that row that has no effective rowspan.

the partial fix for bug 1431 has to do with dividing width between percent-width and fixed-width columns in the same
table. You won't see any better layout for this page (ww.boston.com) as a result of the code I added.  The rest of this
fix is a bit risky, so I'm waiting until after stability push.
1998-11-24 19:41:33 +00:00
buster@netscape.com
ef31504e16 implemented table height algorithms. also made a slight modification to
the way a table finds its container's width.
1998-11-20 01:01:25 +00:00
kipp@netscape.com
f6502df0e2 Added DumpRegressionData; revised ListTag; added GetFrameName 1998-11-19 17:22:29 +00:00
joki@netscape.com
249a270b84 Reworking internal event code to use nsIFrame::GetFrameForPoint
Adding new functionality through nsEventStateManager (cursor change, enter/exit events, tab navig)
1998-11-18 05:25:26 +00:00
buster@netscape.com
2022197c05 support for frame and rules attribute 1998-11-11 19:56:02 +00:00
troy@netscape.com
7d57a590c9 Renamed Init() to SetInitialChildList() and added an additional parameter
for the name of the child list
1998-11-10 06:05:32 +00:00
troy@netscape.com
b04ee51233 First of a few changes to allow frames to have multiple child lists.
FirstChild() now takes an additional argument which is the name of the
child list.
1998-11-09 19:40:27 +00:00
buster@netscape.com
0429c47f06 fixed the bug where events were not getting passed down to content inside
of cells with rowspans.  Basically, I just override HandleEvent() in nsTableRowGroupFrame
to ask nsTableRowFrame::Contains(), rather than the default action which is to
just use the child's rect.
1998-11-07 00:36:37 +00:00
buster@netscape.com
3dcc4ba5ed various small fixes and clean up 1998-11-05 21:42:46 +00:00
buster@netscape.com
f8a133173d removed some inefficiencies in finding the parent table frame.
Now the parent table frame is cached in the reflow state.
1998-11-04 20:09:19 +00:00
peterl@netscape.com
e74acd9aca sync to style resolution api changes 1998-11-03 20:33:43 +00:00
buster@netscape.com
887d09b95f fixed rowspan/cell height problem where subsequent rowspanning cells can
effect previous cell heights.
1998-11-02 18:32:14 +00:00
buster@netscape.com
6b939637a4 implemented basic attribute changed handling. most things currently work, those that don't will work better after Peter
lands some style context resolution changes.
1998-10-30 23:08:34 +00:00
buster@netscape.com
b80a9ca305 some extremely preliminary work for styleChanged incremental reflow 1998-10-30 07:57:44 +00:00
michaelp@netscape.com
70e988371d changes to support nsIRenderingContext that conforms to COM conventions. 1998-10-30 02:08:25 +00:00
buster@netscape.com
9332e66cfe fixed a bug where columns were not always created as needed during incremental appends
added some extra debugging and support methods
1998-10-22 05:27:11 +00:00
buster@netscape.com
63dfd5801b incremental reflow only does pass1 reflow on new frames when necessary
fixed some rotting bits in table frame classes having to do with breaking tables
1998-10-20 20:05:44 +00:00
buster@netscape.com
ecd2d8b2f4 all containers now decend from nsHTMLContainerFrame
all "unknown frame" incremental reflow support methods now
replaced with nsHTMLContainerFrame::AddFrame and ::RemoveFrame
1998-10-20 17:45:07 +00:00
buster@netscape.com
075e4cc60b incremental reflow now includes insert/append/delete cell 1998-10-20 15:59:56 +00:00
buster@netscape.com
eb3fa19189 rows can now be incrementally inserted, appended, and deleted. 1998-10-19 23:43:06 +00:00
buster@netscape.com
965ebde8cb progress on table incremental reflow of row group insert/append/delete 1998-10-15 07:46:16 +00:00
buster@netscape.com
c212263e76 lots of work for incremental reflow when the target frame is a table frame 1998-10-14 16:32:45 +00:00
kipp@netscape.com
9f8e72a224 Added an nsIPresContext& to html-reflow-state's ctors and used it to implement better percentage width/height handling 1998-10-12 14:48:02 +00:00
troy@netscape.com
effa132f8d Removed GetContentIndex() from nsIFrame 1998-10-08 20:35:16 +00:00
troy@netscape.com
c850ca269e Changed ReflowChild() to send the WillReflow() notification as well 1998-10-06 00:27:22 +00:00
troy@netscape.com
5c50ea58dd Removed calls to MoveTo() BEFORE reflowing a frame. We used to do this
sequence: MoveTo(), Reflow(), SetRect(). Now that we have the WillReflow()/
DidReflow() code sandwhiches we no longer need to do the MoveTo()
1998-10-05 00:58:32 +00:00
troy@netscape.com
ee0a3c543f Eliminated nsIRunaround interface, and folded space manager parameter into
nsHTMLReflowState structure
1998-10-02 04:10:00 +00:00
troy@netscape.com
942c471f56 Separated reflow process out of nsIFrame and into nsIFrameReflow. Also
added nsIHTMLReflow, which is an HTML specific reflow interface
1998-10-01 04:46:11 +00:00
troy@netscape.com
cd63df2958 Changed signature of PushChildren() member function 1998-09-24 04:18:58 +00:00
troy@netscape.com
e3256dc245 Removed IsLastChild() member function from nsContainerFrame 1998-09-24 04:12:01 +00:00
troy@netscape.com
c34adae7e9 Removed PreReflowCheck() and PostReflowCheck() from nsContainerFrame 1998-09-24 03:59:30 +00:00
troy@netscape.com
a14c3f1c67 Removed mFirstContentOffset, LastContentOffset, and mLastContentIsComplete
from nsContainerFrame
1998-09-24 03:36:52 +00:00
buster@netscape.com
8c95ff651d all frame initialization and related logic has moved into the various table frames' Init() methods
from their respective InitalReflow() methods.
table-layout=fixed now completely skips pass1 reflow and doesn't require maxElementSize
information, saving a tremendous amount of time during initial reflow.
1998-09-23 21:48:26 +00:00
troy@netscape.com
5036d4dfaa Removed all references to m<First,Last>ContentOffset,mChildCount,mLastContentIsComplete 1998-09-21 03:40:32 +00:00
troy@netscape.com
80417bf958 Removed farme enumeration member functions for indexed access, last child,
and child count
1998-09-19 03:24:26 +00:00
troy@netscape.com
7f644b87ab Removed nsIContentDelegate.h 1998-09-18 17:34:48 +00:00
troy@netscape.com
e9440f240f 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
e9fcec8bda Frame construction changes for tables 1998-09-16 17:19:20 +00:00
buster@netscape.com
5184ca92f1 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
de1257f4bd 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
1516c28a7a 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
11dada02d7 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
kipp@netscape.com
d515f73150 XPCOM'ized nsIContent and nsIHTMLContent 1998-08-29 20:20:38 +00:00
peterl@netscape.com
91dcfc02b4 no longer force unique style contexts 1998-08-27 00:57:05 +00:00
troy@netscape.com
7853fdbc5e Change to object lifetime management. Views are no longer ref counted 1998-08-08 04:23:33 +00:00
buster@netscape.com
35fe484983 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
e046f04ce8 any table with a nonsense rowspan lays out better 1998-07-24 00:43:09 +00:00