98 Commits

Author SHA1 Message Date
troy%netscape.com
c9e7bd13c8 Fixed a crash when resizing the print preview window
git-svn-id: svn://10.0.0.236/trunk@16029 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 04:26:42 +00:00
troy%netscape.com
f40c33432f Initial table pagination support
git-svn-id: svn://10.0.0.236/trunk@15974 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-08 17:57:45 +00:00
troy%netscape.com
01f27b2a31 Added Init() member function to nsIFrame
git-svn-id: svn://10.0.0.236/trunk@15682 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 06:31:43 +00:00
wtc%netscape.com
d45ab8ecf7 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.


git-svn-id: svn://10.0.0.236/trunk@15625 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-02 16:45:20 +00:00
buster%netscape.com
0f72cc9354 removed debug output
git-svn-id: svn://10.0.0.236/trunk@15262 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 20:40:43 +00:00
buster%netscape.com
37ca805909 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.


git-svn-id: svn://10.0.0.236/trunk@15257 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-24 19:41:33 +00:00
buster%netscape.com
6f5b201dbe implemented table height algorithms. also made a slight modification to
the way a table finds its container's width.


git-svn-id: svn://10.0.0.236/trunk@14973 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 01:01:25 +00:00
kipp%netscape.com
b527c7f026 Added DumpRegressionData; revised ListTag; added GetFrameName
git-svn-id: svn://10.0.0.236/trunk@14946 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 17:22:29 +00:00
joki%netscape.com
f1462f4d55 Reworking internal event code to use nsIFrame::GetFrameForPoint
Adding new functionality through nsEventStateManager (cursor change, enter/exit events, tab navig)


git-svn-id: svn://10.0.0.236/trunk@14864 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 05:25:26 +00:00
buster%netscape.com
0a52434582 support for frame and rules attribute
git-svn-id: svn://10.0.0.236/trunk@14443 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-11 19:56:02 +00:00
troy%netscape.com
1c0da71da3 Renamed Init() to SetInitialChildList() and added an additional parameter
for the name of the child list


git-svn-id: svn://10.0.0.236/trunk@14333 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-10 06:05:32 +00:00
troy%netscape.com
cdf69643a6 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.


git-svn-id: svn://10.0.0.236/trunk@14289 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-09 19:40:27 +00:00
buster%netscape.com
96b01811a9 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.


git-svn-id: svn://10.0.0.236/trunk@14218 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-07 00:36:37 +00:00
buster%netscape.com
d2c0910241 various small fixes and clean up
git-svn-id: svn://10.0.0.236/trunk@14163 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-05 21:42:46 +00:00
buster%netscape.com
d2ee90c6f6 removed some inefficiencies in finding the parent table frame.
Now the parent table frame is cached in the reflow state.


git-svn-id: svn://10.0.0.236/trunk@14097 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-04 20:09:19 +00:00
peterl%netscape.com
93d3fcc553 sync to style resolution api changes
git-svn-id: svn://10.0.0.236/trunk@14009 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-03 20:33:43 +00:00
buster%netscape.com
1d02eeaa85 fixed rowspan/cell height problem where subsequent rowspanning cells can
effect previous cell heights.


git-svn-id: svn://10.0.0.236/trunk@13889 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-02 18:32:14 +00:00
buster%netscape.com
1249f0b7be implemented basic attribute changed handling. most things currently work, those that don't will work better after Peter
lands some style context resolution changes.


git-svn-id: svn://10.0.0.236/trunk@13764 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-30 23:08:34 +00:00
buster%netscape.com
cf08e060ad some extremely preliminary work for styleChanged incremental reflow
git-svn-id: svn://10.0.0.236/trunk@13722 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-30 07:57:44 +00:00
michaelp%netscape.com
29bd495725 changes to support nsIRenderingContext that conforms to COM conventions.
git-svn-id: svn://10.0.0.236/trunk@13703 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-30 02:08:25 +00:00
buster%netscape.com
065cfb55ee fixed a bug where columns were not always created as needed during incremental appends
added some extra debugging and support methods


git-svn-id: svn://10.0.0.236/trunk@13305 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-22 05:27:11 +00:00
buster%netscape.com
f3b963f1b8 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


git-svn-id: svn://10.0.0.236/trunk@13210 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-20 20:05:44 +00:00
buster%netscape.com
75468d7b44 all containers now decend from nsHTMLContainerFrame
all "unknown frame" incremental reflow support methods now
replaced with nsHTMLContainerFrame::AddFrame and ::RemoveFrame


git-svn-id: svn://10.0.0.236/trunk@13209 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-20 17:45:07 +00:00
buster%netscape.com
066a8fdc3f incremental reflow now includes insert/append/delete cell
git-svn-id: svn://10.0.0.236/trunk@13201 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-20 15:59:56 +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
88c09f9734 progress on table incremental reflow of row group insert/append/delete
git-svn-id: svn://10.0.0.236/trunk@12875 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-15 07:46:16 +00:00
buster%netscape.com
4a9bcccc01 lots of work for incremental reflow when the target frame is a table frame
git-svn-id: svn://10.0.0.236/trunk@12807 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-14 16:32:45 +00:00
kipp%netscape.com
3af8f78a16 Added an nsIPresContext& to html-reflow-state's ctors and used it to implement better percentage width/height handling
git-svn-id: svn://10.0.0.236/trunk@12575 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-12 14:48:02 +00:00
troy%netscape.com
ab9971c67b Removed GetContentIndex() from nsIFrame
git-svn-id: svn://10.0.0.236/trunk@12307 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-08 20:35:16 +00:00
troy%netscape.com
f910aa1e8b Changed ReflowChild() to send the WillReflow() notification as well
git-svn-id: svn://10.0.0.236/trunk@11982 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-06 00:27:22 +00:00
troy%netscape.com
31a923050a 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()


git-svn-id: svn://10.0.0.236/trunk@11891 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-05 00:58:32 +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
troy%netscape.com
7eac0bfdac Separated reflow process out of nsIFrame and into nsIFrameReflow. Also
added nsIHTMLReflow, which is an HTML specific reflow interface


git-svn-id: svn://10.0.0.236/trunk@11646 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-01 04:46:11 +00:00
troy%netscape.com
aec668d182 Changed signature of PushChildren() member function
git-svn-id: svn://10.0.0.236/trunk@10894 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-24 04:18:58 +00:00
troy%netscape.com
2bdb85f976 Removed IsLastChild() member function from nsContainerFrame
git-svn-id: svn://10.0.0.236/trunk@10891 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-24 04:12:01 +00:00
troy%netscape.com
43e6ab37a3 Removed PreReflowCheck() and PostReflowCheck() from nsContainerFrame
git-svn-id: svn://10.0.0.236/trunk@10888 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-24 03:59:30 +00:00
troy%netscape.com
bf40dfa99c Removed mFirstContentOffset, LastContentOffset, and mLastContentIsComplete
from nsContainerFrame


git-svn-id: svn://10.0.0.236/trunk@10883 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-24 03:36:52 +00:00
buster%netscape.com
4cca9446d0 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.


git-svn-id: svn://10.0.0.236/trunk@10841 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-23 21:48:26 +00:00
troy%netscape.com
90cbfd4db8 Removed all references to m<First,Last>ContentOffset,mChildCount,mLastContentIsComplete
git-svn-id: svn://10.0.0.236/trunk@10554 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-21 03:40:32 +00:00
troy%netscape.com
82c24af034 Removed farme enumeration member functions for indexed access, last child,
and child count


git-svn-id: svn://10.0.0.236/trunk@10475 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-19 03:24:26 +00:00
troy%netscape.com
b0bdb9e357 Removed nsIContentDelegate.h
git-svn-id: svn://10.0.0.236/trunk@10418 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-18 17:34:48 +00:00
troy%netscape.com
ab310b46a0 Removed some code that's no longer needed now that we've switched to
new frame construction


git-svn-id: svn://10.0.0.236/trunk@10340 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-18 02:22:52 +00:00
troy%netscape.com
8b2676b6e1 Frame construction changes for tables
git-svn-id: svn://10.0.0.236/trunk@10159 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-16 17:19:20 +00:00
buster%netscape.com
26f6ed9085 nsTableRowGroupFrame no longer assumes all its children are rows, or that all row children are cells.
git-svn-id: svn://10.0.0.236/trunk@10072 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-15 20:36:42 +00:00
buster%netscape.com
1c8d847337 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


git-svn-id: svn://10.0.0.236/trunk@10047 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-15 17:58:24 +00:00
buster%netscape.com
e325a433cd 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.


git-svn-id: svn://10.0.0.236/trunk@9655 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-09 20:00:40 +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
kipp%netscape.com
29e64a354f XPCOM'ized nsIContent and nsIHTMLContent
git-svn-id: svn://10.0.0.236/trunk@8824 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-29 20:20:38 +00:00
peterl%netscape.com
b3ace934f1 no longer force unique style contexts
git-svn-id: svn://10.0.0.236/trunk@8587 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-27 00:57:05 +00:00
troy%netscape.com
06a522099a Change to object lifetime management. Views are no longer ref counted
git-svn-id: svn://10.0.0.236/trunk@7605 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-08 04:23:33 +00:00