Commit Graph

1247 Commits

Author SHA1 Message Date
vidur%netscape.com
d4b67b3219 Fix for bug 9140. Area elements now have event fired for them. r=joki 2000-02-11 01:24:59 +00:00
troy%netscape.com
792c9c1053 r=vidur@netscape.com Performance. Added NS_FRAME_HAS_VIEW frame state flag
so we can quickly tell whether the frame has an associated view
2000-02-03 00:51:37 +00:00
troy%netscape.com
8a78d916a5 b=21657 a=chofmann@netscape.com Made "overflow list" a full fledged
child list and changed ReparentFrameView() to check it.
2000-01-22 01:16:50 +00:00
nisheeth%netscape.com
56525e3574 r=troy. Reflow commands are now coalesced by block and inline frames. This fixes bug 985 in which we now generate 6 reflow commands instead of 257. 2000-01-12 08:28:24 +00:00
rbs%maths.uq.edu.au
f11d46f904 [#ifdef MOZ_MATHML] Added extension to the reflow metrics to support the bounding metrics needed for precise MathML placements. This is a WIP approved by Troy. 2000-01-07 14:36:43 +00:00
troy%netscape.com
138fa22a88 Work-in-progress for having maximum width (needed by tables) be updated
incrementally
1999-12-30 04:15:45 +00:00
troy%netscape.com
85012ab550 Change to how overflow is handled for absolutely positioned elements.
We no longer use nsIAraeFrame and now it's folded into the overflow
area in the reflow metrics
1999-12-06 15:49:53 +00:00
tbogard%aol.net
af1ce8d410 Changed nsIPresContext& to nsIPresContext*. Changed nsEventStatus& to nsEventStatus*. Now more compatible with XPIDL. a=vidur r=scc 1999-11-24 06:03:41 +00:00
troy%netscape.com
597b5f236b WillReflow/DidReflow changes and changes to the way view positioning
and sizing works
1999-11-19 15:33:29 +00:00
dmose%mozilla.org
5312eacf8c updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org 1999-11-06 03:40:37 +00:00
troy%netscape.com
1585a751fb Moved a bunch of stuff out to a nsIFrameDebug interface 1999-11-01 22:12:45 +00:00
troy%netscape.com
2b4f236320 Added nsHTMLReflowState.h 1999-10-30 16:16:45 +00:00
troy%netscape.com
a12c3d6c5d Folded reflow functions into nsIFrame and eliminated nsIFrameReflow and
nsIHTMLReflow. This saves 4 bytes per frame and cleans things up
1999-10-30 02:52:11 +00:00
troy%netscape.com
2ea886f3be Changed view to be stored as a frame property instead of a member data
of nsFrame
1999-10-27 03:56:14 +00:00
troy%netscape.com
87afecabc0 Changed SetView/GetView to take an additional argument which is the
pres context
1999-10-26 04:44:41 +00:00
troy%netscape.com
f5ba346bdc Removed 5 convenience functions from nsIFrame 1999-10-22 14:53:52 +00:00
peterl%netscape.com
a6adfea707 Added namespace ID to the AttributeChanged notification
Part fo the fix for Bug 15153
r=troy
1999-10-15 23:16:45 +00:00
mjudge%netscape.com
3a065e373b bugs 15547,15645,13665,13277,5761, r=akkana,kin,hyatt. fixing selection bugs, keyboard navigation, triple clicking and drag scrolling. get position not a valid call anymore to nsIFrame.h 1999-10-13 01:16:09 +00:00
kin%netscape.com
ca92ac282c First pass implementation of selection auto scrolling.
layout/base/public/nsIFrame.h
        - Added GetContentAndOffsetsFromPoint() method. This
          method will eventually replace GetPosition().

    layout/base/public/nsIFrameSelection.h
        - Added HandleDrag() and Start/StopAutoScrollTimer() methods.

    layout/base/src/nsRangeList.cpp
        - Added implementation for HandleDrag() and
          Start/StopAutoScrollTimer() methods.

    layout/html/base/src/nsBRFrame.cpp
        - Added implementation for GetContentAndOffsetsFromPoint().

    layout/html/base/src/nsFrame.cpp
    layout/html/base/src/nsFrame.h
        - Added implementation for GetContentAndOffsetsFromPoint().
        - Added GetClosestViewForFrame() utility method.
        - Modified HandleEvent() to call HandleRelease() which now
          stops the auto scrolling timers.
        - Modified HandleDrag() to call nsIFrameSelection's HandleDrag()
          and Start/StopAutoScrollTimer() methods.

    layout/html/base/src/nsTextFrame.cpp
        - Added implementation for GetContentAndOffsetsFromPoint().
1999-09-29 20:04:05 +00:00
mjudge%netscape.com
2c78141fa6 fixes for M11 a=shaver r=cmanske. this will add 1 enumerator value to en enum in nsIFrame so dont be scared. this is for tweaking selection should not affect anyone outside of selection/editor 1999-09-25 23:33:02 +00:00
peterl%netscape.com
ad49316854 removed ReResolveStyleContext
added flag for style tree verify
1999-09-21 07:48:34 +00:00
mjudge%netscape.com
eaa78b424a fixes for crasher in tree 1999-09-11 00:18:02 +00:00
mjudge%netscape.com
046cdcb844 changes for peekoffset removal of extra parameters. also fixing some ownership issues with nsIenumerator and the rangelist iterator. fixing also some hit tests for line frames. 1999-09-10 18:29:37 +00:00
peterl%netscape.com
de5d9b0b62 added content state changed (vs content changed) notification 1999-09-10 05:50:02 +00:00
mjudge%netscape.com
a5ac5b186c adding in begin line and end line enums for selection movement. this allows peeking to the start and end of and like given a content offset for any frame. 1999-09-07 23:40:17 +00:00
peterl%netscape.com
09ea141535 added accessors to additional style contexts 1999-09-03 23:35:14 +00:00
kipp%netscape.com
f808fbb193 Reimplemented SizeOf methods in some of the frame classes; partial rework of first-line handling snapshot 1999-08-31 03:09:40 +00:00
kipp%netscape.com
6361c09f47 Added NS_FRAME_IS_UNFLOWABLE bit for handling frame trees that are too deep 1999-08-27 21:39:26 +00:00
mjudge%netscape.com
5531d305c5 changes to allow selection in "dead" space between frames. still need work on "outside" and not in the window at all, but this is a very good chunk of the issue and it will solve many many bugs on my place. good for dogfood as well :) 1999-08-24 21:51:47 +00:00
troy%netscape.com
05fb1d7f25 Changed root frame class over to new reflow command handling 1999-07-27 14:15:42 +00:00
troy%netscape.com
08c5b45b84 Defined it so that the NS_FRAME_IS_DIRTY flag is set for newly added frames in
SetInitialChildlist(), AppendFrames(), InsertFrames(), and ReplaceFrame()
1999-07-24 02:33:07 +00:00
troy%netscape.com
1df4c2d244 Added ReplaceFrame() member function to nsIFrame 1999-07-22 04:32:31 +00:00
troy%netscape.com
c551fe3166 Renamed DeleteFrame() to Destroy() 1999-07-22 02:24:52 +00:00
troy%netscape.com
f02d9ef8b9 Added NS_FRAME_IS_DIRTY flag to the frame state flags 1999-07-21 23:47:01 +00:00
troy%netscape.com
19ed07723e Removed IsTransparent() function from nsIFrame 1999-07-21 23:15:39 +00:00
mjudge%netscape.com
f98938bdfd up/down selection BRFrames dont allow selecting upon them for now. horizontal bars are now drawn selected. ect. 1999-06-19 20:36:44 +00:00
mjudge%netscape.com
225111bf33 fixing table selection again. also adding parameter to nsIFocusTracker that allows us to get the current caret location. I am also stopping nsTableRowFrame from putting blue border around itself since cells are a high enough granularity. made a change to nsIFrame GetPosition to remove some useless parameters ect. this caused me to change nsDOMEvent.cpp and some other places.
MJ
1999-06-10 21:08:17 +00:00
joki%netscape.com
7e2352ba3a Adding new method to nsIDOMNSUIEvent to give event pos as range offset. 1999-06-08 02:19:26 +00:00
mjudge%netscape.com
4bff71e096 reviewed sfraser approved choffman 6771 6762 UMR and Extreemly inefficient table selection code fixed simply 1999-05-20 00:52:00 +00:00
mjudge%netscape.com
a15e7eb5ac adding in selection of non text frames in editor only 1999-05-17 00:21:18 +00:00
mjudge%netscape.com
5404272a5e adding back in keyboard navigation. removing const from peekoffset to stop the const creep 1999-05-13 00:43:47 +00:00
mjudge%netscape.com
884bb4bb82 massive checkin for selection modifications and removing static state variables for selection in nsFrame.h. 1999-05-07 21:12:59 +00:00
mjudge%netscape.com
f302ca2537 selection changes for new model of content only. frames no longer contain variables referring to selection state outside of 1 bit. keyboard selection will now be disabled until i can get it working in the new selection world order. 1999-04-26 04:02:04 +00:00
troy%netscape.com
00edc72db6 Added flag bit NS_FRAME_OUT_OF_FLOW, and changed the frame construction code
to set it for floated and absolutely positioned frames
1999-04-25 17:20:53 +00:00
kipp%netscape.com
9fbbadd484 Added a bit to speed up frame destruction 1999-04-13 21:48:35 +00:00
troy%netscape.com
62cb7b680b Added NS_FRAME_GENERATED_CONTENT 1999-04-05 03:44:07 +00:00
peterl%netscape.com
ea38299e52 added args to ReResolveStyle to capture style change info 1999-03-25 06:32:56 +00:00
mjudge%netscape.com
26d8cc3a13 fixed memory leaks in nsRangelist.cpp. uninitialized memory in nsTextframe, simplified APIs in nsIFrame and the underlying implementations. see layout.checkins 1999-03-12 00:17:14 +00:00
kipp%netscape.com
d1fe3c6035 Removed global gLogModule 1999-02-26 16:59:57 +00:00
troy%netscape.com
3bdf672129 Removed nsIFrame::CreateContinuingFrame() 1999-02-25 05:31:15 +00:00
troy%netscape.com
da4193eab6 Changed nsIFrame::Init() to take an additional parameter 1999-02-25 03:27:57 +00:00
troy%netscape.com
03c5c1f520 Changed GetNextInFlow() and GetPrevInFlow() to be pointer arguments and
not references
1999-02-24 04:48:08 +00:00
mjudge%netscape.com
7df9af9d91 adding parameter to nsIFrame for ::PeekOffset to be aware of the state of jumping a word. eating WS ect. also, nsRangeList sends the proper parameter for above change. 1999-02-22 04:57:44 +00:00
kipp%netscape.com
3245994287 Removed obsolete GetAutoMarginSize method 1999-02-18 03:19:02 +00:00
troy%netscape.com
9fa8b62428 Added NS_FRAME_REPLACED_ELEMENT 1999-02-13 05:58:28 +00:00
sfraser%netscape.com
9ab69a922e Add two new methods needed for caret support (and other things): GetPointFromOffset, to get frame-relative coordinates of a given content offset, and GetChildFrameContainingOffset, to find the child frame that really contains the given content offset 1999-02-12 00:02:31 +00:00
mjudge%netscape.com
d6da223dbd Keyboard navigation, removing nsICollection(not used) adding PeekOffset to have the nsIFrame tell us where to go when moving a character ect. adding nsFrameTraversal to traverse frames, based on nsIEnumerator. mjudge x4661 1999-02-10 18:55:25 +00:00
troy%netscape.com
034aa56b83 Changed GetNextSibling() to use a pointer argument instead of a reference 1999-02-10 06:13:38 +00:00
troy%netscape.com
9d570499cf Changed a bunch more nsIFrame member functions to be pointer arguments
instead of references
1999-02-10 05:38:18 +00:00
troy%netscape.com
e9bbeeaa9b Changed GetFrameState() and GetFrameType() to use pointer arguments instead of
references
1999-02-10 04:17:06 +00:00
troy%netscape.com
2ac7b86865 Changed GetAdditionalChildListName() and FirstChild() to use ** instead
of *&
1999-02-10 02:25:01 +00:00
troy%netscape.com
c85f9efd2a Changed GetParent() to use ** instead of *& 1999-02-10 01:36:30 +00:00
troy%netscape.com
b974e26cea Changed some nsIFrame member functions to use ** instead of *& for OUT
paremeters
1999-02-10 00:42:56 +00:00
troy%netscape.com
9c158de393 Added GetFrameType() member function 1999-02-09 05:44:13 +00:00
mjudge%netscape.com
d8dc98b1ba commas trailing on enum illegal even if vc50 says its ok 1999-02-02 01:16:57 +00:00
mjudge%netscape.com
cd2d3d137c keyboard navigation of selection. adding API for nsIFrame. fixing nsFrame and nstextframe to reflect the implementations of the nsIFrame API. nsRangeList implements the handlekeyevent now. 1999-02-02 00:23:40 +00:00
kipp%netscape.com
64610329f0 Cleaned up comments; removed ReplaceFrame from the API 1999-02-01 17:25:30 +00:00
mjudge%netscape.com
5ac012630e adding parameters to setselectedcontent. This will keep down overhead of the nsIFrame implementation and still not allow outsiders to talk to their presshell. so please forgive this grown method. this extra parameter will maintain the anchor and focus point after reflow 1999-01-25 23:28:23 +00:00
mjudge%netscape.com
769d4b5a86 chagnes for selection to work 1999-01-22 18:58:14 +00:00
kipp%netscape.com
7f96144059 Spanked away SizeOf methods and nsIListFilter 1999-01-16 00:00:50 +00:00
kipp%netscape.com
6302998324 Added append/insert/remove/replace methods 1999-01-15 01:28:28 +00:00
troy%netscape.com
036e6852f2 Removed the content-parent frame pointer. Now we just have the one geometric
parent
1999-01-14 05:16:23 +00:00
kipp%netscape.com
1de1edbd74 Added defines and comments indicating which parts of the frames reflow state are reserved 1999-01-09 00:11:40 +00:00
troy%netscape.com
7b5cc03059 Moved logic that deals with moving absolutely positioned frames out of the
flow to the frame construction code
1998-12-29 03:38:16 +00:00
brade%netscape.com
0dd08f1cf8 remove extra comma to reduce Macintosh compiler warnings 1998-12-21 16:40:46 +00:00
kipp%netscape.com
c29e5116c7 Revised frame Paint API 1998-12-18 15:54:23 +00:00
mjudge%netscape.com
2f5ca67ece adding in selection 1998-12-14 18:34:14 +00:00
troy%netscape.com
4f5fc0524a Added a comment about view creation 1998-12-04 06:13:18 +00:00
troy%netscape.com
2a4b2c503f Added Init() member function to nsIFrame 1998-12-03 06:31:43 +00:00
kipp%netscape.com
bffc589afc whitespace tweak 1998-11-26 18:08:27 +00:00
kipp%netscape.com
a6926809f0 Added DumpRegressionData; revised ListTag; added GetFrameName 1998-11-19 17:22:29 +00:00
joki%netscape.com
65520ba928 Modify event flow to avoid walking into trashed frames. 1998-11-19 00:43:36 +00:00
joki%netscape.com
77fd9c2652 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
peterl%netscape.com
7675978299 fixed comment 1998-11-18 02:08:30 +00:00
troy%netscape.com
527ee073f8 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
9d8145f033 Added GetAdditionalChildListName() as a way to discover additional
named child lists at runtime
1998-11-09 19:59:33 +00:00
troy%netscape.com
081c78e696 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
peterl%netscape.com
ed14dc36b1 made parent context no longer be optional on re-resolve style context method 1998-11-03 21:29:14 +00:00
peterl%netscape.com
2f5892eda7 removed pres context from get style context api
added re-resolve style method
1998-11-03 20:15:24 +00:00
kipp%netscape.com
413e835d6a Added NS_FRAME_OUTSIDE_CHILDREN bit 1998-10-30 22:04:56 +00:00
troy%netscape.com
6be0630937 Added new state flag NS_FRAME_SYNC_FRAME_AND_VIEW for controlling
whether the view is automatically positioned and sized to stay in
sync with the frame
1998-10-16 20:09:32 +00:00
troy%netscape.com
c724e3393f Rearranged member functions to better group child frame enumeration related
functions
1998-10-08 21:03:59 +00:00
troy%netscape.com
d25a9a35a2 Removed GetContentIndex() from nsIFrame 1998-10-08 20:35:16 +00:00
troy%netscape.com
da48864fc7 Moved HandlePress,HandleDrag,HandleRelease from nsIFrame to nsFrame 1998-10-08 18:21:32 +00:00
michaelp%netscape.com
9b82a28284 modified for new fontmetrics/renderingcontext. 1998-10-02 01:12:39 +00:00
troy%netscape.com
ba3c7125c2 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
peterl%netscape.com
2ee88cc63a added content changed & attribute changed to style frame construction api.
cleaned up api.
added attribute change hint.
1998-09-29 23:41:59 +00:00
troy%netscape.com
2bd6a1a377 Moved ContentReplaced() handler code to style system 1998-09-25 22:47:00 +00:00
troy%netscape.com
50795d8516 Moved ContentDeleted() document notification code to the style system which
generates the reflow command
1998-09-25 05:13:06 +00:00
troy%netscape.com
cdf9d06a40 Removed some XXX CONSTRUCTION code that was work-in-progress, but is
no longer needed
1998-09-24 03:49:45 +00:00
troy%netscape.com
4b214d1806 Changed the way nsIFrame inherits from nsISupports 1998-09-24 01:50:16 +00:00
kipp%netscape.com
5b8a340e7a Renamed margin carry in/out variables in the metrics struct 1998-09-23 02:21:53 +00:00
troy%netscape.com
62b1375f69 Removed farme enumeration member functions for indexed access, last child,
and child count
1998-09-19 03:24:26 +00:00
troy%netscape.com
6d20aa0438 Added AttributeChanged() member function for communicating attribute value
changes to the frame
1998-09-18 19:53:27 +00:00
troy%netscape.com
28c7cf540c Removed content delegates 1998-09-18 17:18:37 +00:00
pierre%netscape.com
1971412a64 initialize member variables to 0 1998-09-11 09:13:02 +00:00
troy%netscape.com
effef91cf6 Phase one of frame construction changes 1998-09-10 19:32:14 +00:00
michaelp%netscape.com
d6a0988c76 added Scrolled() method. and support to call it. fixed NS_RELEASE(rc) bug in
pres shell as reported by pierre.
1998-09-05 20:57:57 +00:00
karnaze%netscape.com
90951aa3b9 frameset/frame border resizing via mouse; NORESIZE, BORDERCOLOR 1998-09-03 01:16:27 +00:00
buster%netscape.com
89e198237d 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
rods%netscape.com
ad87b994a1 Fixed up some of the selection methods 1998-08-28 16:02:33 +00:00
michaelp%netscape.com
cccee92638 deleteframe() now takes a pres context. 1998-08-28 02:50:17 +00:00
joki%netscape.com
db560e8cac Adding new DOM stuff to handle JS event handlers 1998-07-17 04:52:12 +00:00
troy
d660868bc2 Changed API for CreateContinuingFrame and GetReflowMetrics to take
a reference to a nsIPresContext
1998-07-15 03:23:23 +00:00
troy
711c31863c Changed GetReflowMetrics() to take a reference to a nsIPresContext 1998-07-15 02:59:06 +00:00
troy
a90fe8e1de Changed Reflow() member function to take a reference to a nsIPresContext
instead of a pointer
1998-07-15 02:53:09 +00:00
kipp
7664b60bce initialize reflow metrics and reflow state to avoid downstream bugs 1998-07-10 20:26:20 +00:00
troy
6d06722267 Added some new sizing constraints 1998-07-09 20:53:37 +00:00
kipp
5bb77d7e59 Added some slots to nsReflowMetrics specifically to support collapsing css margins; it needs to go somewhere else! 1998-07-09 17:06:12 +00:00
kipp
925e12fa74 Added NS_IS_REFLOW_ERROR; updated reflow status comment to indicate which bits are reserved by nsIFrame API's 1998-06-27 22:54:58 +00:00
kipp
0352d421ad Removed obsolete justify-reflow method 1998-06-26 15:11:53 +00:00
kipp
3147b0e1a7 Assign values to reflow reason so that when printing them numerically it's easier to map the integer back to the enum 1998-06-25 15:03:37 +00:00
troy
66b6882d23 Added nsIReflowCommand interface 1998-06-09 04:51:44 +00:00
kipp
591b2ccd11 Sprinkled SizeOf methods around 1998-06-05 21:06:24 +00:00
peterl
2c0fe9653c changed GetStyleData to return const pointers to style structs
new method GetMutableStyleData to get non-const pointer
1998-06-05 05:59:34 +00:00
michaelp
9f71c8886e added support for handling transparent views to viewmanager. added
transparency query to nsIFrame.
1998-06-03 22:49:45 +00:00
troy
7a485fcc40 Changed nsReflowState structs to be linked together 1998-05-29 20:36:05 +00:00
kipp
e4431fe3a2 Added another state bit 1998-05-29 02:09:18 +00:00
troy
3ea1d2d8e3 Merged ResizeReflow() and IncrementalReflow() into one Reflow() member function 1998-05-25 17:31:49 +00:00
troy
9b54fbae32 Changed reference to reflow command to a pointer to a reflow command 1998-05-22 04:56:27 +00:00
troy
6204c78831 Changed splittable enum to be bit flags 1998-05-22 04:54:11 +00:00
troy
a4a33ecef7 Added new Reflow() member function that will eventually supersede the two
existing reflow functions: ResizeReflow() and IncrementalReflow()
1998-05-22 03:52:51 +00:00
peterl
7168f94691 Changed GetStyleData to use an enum instead of an nsID 1998-05-21 02:34:13 +00:00
kipp
98f696a9af Added more debugging hooks that use nspr logging 1998-05-20 16:22:15 +00:00
kipp
c0075966dd Flipped state value of NS_FRAME_COMPLETE with NS_FRAME_NOT_COMPLETE; added new methods WillReflow and DidReflow as well as GetFrameState and SetFrameState 1998-05-14 00:47:05 +00:00
peterl
084e36938f added style size calculation methods
made get style data const
1998-05-13 22:38:09 +00:00
troy
8f2db5dfa6 Changed enum to conform with coding standards 1998-05-12 04:38:23 +00:00
troy
5b69e1f043 Change to nsIFrame API 1998-05-12 04:17:56 +00:00
troy
71191f123b More incremental reflow work. 1998-05-11 18:38:10 +00:00
troy
b3c5708bd1 Added ContentChanged() member function 1998-05-08 04:45:37 +00:00
kipp
f8bff82f91 Changed CreateContinuingFrame to take a style context argument to reduce style context creation 1998-05-07 00:05:37 +00:00
troy
d477d86672 Frames no longet store the content index-in-parent 1998-05-05 23:56:50 +00:00
troy
b6217c70a6 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
a5c40d6b25 * Made SetStyleContext take the presentation context as a parameter
* Made DidSetStyleContext virtual, since we need to override the behavior in subclasses
1998-05-01 20:43:02 +00:00
troy
e1e6d470ff Changed IsSplittable to have three return values 1998-04-17 23:08:20 +00:00
troy
3ce8e88882 Changed nsIFrame member functions to return a nsresult 1998-04-17 01:41:24 +00:00
kipp
098bef52b4 moved to pub 1998-04-13 20:24:54 +00:00