388 Commits

Author SHA1 Message Date
troy%netscape.com
a8a9f7aeaa Changed SetRowIndex() to be inline and non-virtual
git-svn-id: svn://10.0.0.236/trunk@16494 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 04:31:38 +00:00
troy%netscape.com
45e2d974e8 Some improvements to the row splitting code
git-svn-id: svn://10.0.0.236/trunk@16490 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 03:46:03 +00:00
troy%netscape.com
e02d2dc1c0 Work-in-progress for splitting of table row frames
git-svn-id: svn://10.0.0.236/trunk@16442 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 16:39:09 +00:00
buster%netscape.com
be457e5620 fixed a minor bug in incremental reflow where the reflow state's "widthConstraint" wasn't getting set
git-svn-id: svn://10.0.0.236/trunk@16268 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-11 18:54:58 +00:00
buster%netscape.com
415d59aa67 tables can now have independent horizontal and vertical cell spacing
("cellspacing" HTML attribute == "border-spacing" CSS property, go figure...)


git-svn-id: svn://10.0.0.236/trunk@16037 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-09 06:37:18 +00:00
buster%netscape.com
9b1c517bdf fixed cellspacing and cellpadding handling
default cellspacing and cellpadding now comes from the table frame itself
other frames on longer look at the "tableStyle" struct for these values


git-svn-id: svn://10.0.0.236/trunk@15824 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 05:27:21 +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
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
3c5a5e590a changed the logic for reflowing cells whose height is changed due to a
height attribute.


git-svn-id: svn://10.0.0.236/trunk@15187 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-23 23:07:40 +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
ed61619f6b fixed a tiny bug in handling unexpected frames in a row
git-svn-id: svn://10.0.0.236/trunk@14521 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-12 21:04:41 +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
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
ebc6d89a67 fixed bug 1180 (mozilla.org) and all tables that have nonsense colspans
git-svn-id: svn://10.0.0.236/trunk@13459 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-26 18:42:22 +00:00
buster%netscape.com
67cffb963d fixed bug 1112 - form submission within a table sometimes doesn't work
because the form doesn't get a reflow command.  Now it does.


git-svn-id: svn://10.0.0.236/trunk@13378 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-23 17:24:57 +00:00
buster%netscape.com
37467e85ac just debug info
git-svn-id: svn://10.0.0.236/trunk@13336 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-22 21:59:13 +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
cf798f296d fixed several incremental reflow bugs
git-svn-id: svn://10.0.0.236/trunk@13285 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-21 22:29:00 +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
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
buster%netscape.com
68bbfa7e34 minor interface cleanup
git-svn-id: svn://10.0.0.236/trunk@11797 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-02 20:36:35 +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
kipp%netscape.com
3e2105525b Fixed up includes to not depend on old content model classes
git-svn-id: svn://10.0.0.236/trunk@10966 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-24 21:37:45 +00:00
buster%netscape.com
0c00c9f654 removed lots of assumptions about frame ordering and containership.
table frames no longer assume they are n levels below the inner table frame
table frames no longer assume their child frames are always the expected type of
frame.  Now they check the display type and use that as sufficient proof that the frame
is of the right type.  This implies a heavy reliance on the frame construction code to do
the right thing and always stamp out the right kind of frame for a given display type.


git-svn-id: svn://10.0.0.236/trunk@10922 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-24 16:37:22 +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
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
buster%netscape.com
28f1107062 set all the groundwork for FAST table layout based on CSS-2 table-layout property
git-svn-id: svn://10.0.0.236/trunk@10726 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-22 23:36:06 +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
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
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
752499e0be Removed some old commented out code
git-svn-id: svn://10.0.0.236/trunk@10341 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-18 02:28:12 +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