196 Commits

Author SHA1 Message Date
mjudge%netscape.com
4c7a925272 Fixing mac issue with selection dragging not working when above or below single line text. aka URL. mac has a different preference now. this may be done with look and feel object later. hyatt,cmanske(19191)
git-svn-id: svn://10.0.0.236/trunk@54354 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-24 01:10:22 +00:00
mjudge%netscape.com
43a63010d1 small fixes for BR frames getting correct offset. also one case of textframe not returning proper location (simply a missed change of a regressed call in PeekOffset) nsCaret was also too stringent on the limitation of text frames as the only frames to get the caret position. these were reviewed by a few people and i just dont remember. r=simon,cmanske,akkana and hyatt?
git-svn-id: svn://10.0.0.236/trunk@54299 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 20:30:21 +00:00
dmose%mozilla.org
92d791b7b0 updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@52908 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:40:37 +00:00
kipp%netscape.com
b20b0d0a0e r=vidur; bug=17372; found a case where a trailing shy character on a line would trigger an infinite loop iff the shy character was the only piece of text after a text frame had been continued
git-svn-id: svn://10.0.0.236/trunk@52791 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 19:34:36 +00:00
kipp%netscape.com
941b74b495 r=troy; fixed bugs 2636 and 17636 - line layout issues for some more edge cases (nobr's with floaters in them) and handling of nbsp
git-svn-id: svn://10.0.0.236/trunk@52548 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 15:44:57 +00:00
troy%netscape.com
3513334988 Moved a bunch of stuff out to a nsIFrameDebug interface
git-svn-id: svn://10.0.0.236/trunk@52427 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-01 22:12:45 +00:00
kipp%netscape.com
c6c74d8fe2 r=ftang (someday); fixed bug 17130 - the problem was that nbsp's were being mapped into spaces by the text-transformer which is normally good, but for the purposes of line-breaking look-ahead was bad. I added code to revert the post-transformed spaces into nbsp's before using the line-breaker
git-svn-id: svn://10.0.0.236/trunk@52390 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-01 15:36:02 +00:00
kin%netscape.com
5fae6982e3 Fix for bug #16176: [DOGFOOD] need to annotate line frames with whitespace trim
layout/base/src/nsCaret.cpp
        - Modified DrawCaretWithContext so that we only
          adjust the caret position if we are within the
          frame's bounds.

    layout/html/base/src/nsTextFrame.cpp
        - Modified GetPointFromOffset() to add the width
          of a space if the offset is after a trailing space
          and it was trimmed off the frame.

r=sfraser@netscape.com


git-svn-id: svn://10.0.0.236/trunk@52206 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-29 13:43:11 +00:00
troy%netscape.com
bd46e7911f Changed SetView/GetView to take an additional argument which is the
pres context


git-svn-id: svn://10.0.0.236/trunk@51822 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-26 04:44:41 +00:00
ftang%netscape.com
80f773ac31 fix not enough gap between IME selection problem. r=erik
git-svn-id: svn://10.0.0.236/trunk@51752 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-25 22:18:41 +00:00
troy%netscape.com
d79892b99d Changed nsTextFrame to be derived from nsFrame instead of nsSplittableFrame.
nsTextFrame now has only a next-in-flow pointer and no prev-in-flow pointer.
Subclass nsContinuingTextFrame is used for continuing text frames; it has a
prev-in-flow pointer. This saves 4 bytes


git-svn-id: svn://10.0.0.236/trunk@51664 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-23 23:19:14 +00:00
mjudge%netscape.com
64c9150aab massive checkin for underlying implementation of key handling from javascript and home/end breakage and.. selecting around NON-text frames. like arrowing around an image for example. 16636,16655 and another i cannot find. r=kin r=hyatt a=me
git-svn-id: svn://10.0.0.236/trunk@51467 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-22 00:19:18 +00:00
ftang%netscape.com
908e81fe11 change the input method highligh code from 2 style to 4 styles. r=mjudge
git-svn-id: svn://10.0.0.236/trunk@51427 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-21 22:01:18 +00:00
kipp%netscape.com
c54e23defe r=troy; Optimize append text reflows to only reflow the new part of the text
git-svn-id: svn://10.0.0.236/trunk@51400 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-21 20:46:05 +00:00
kipp%netscape.com
bbbab95269 update to new nsTextTransformer api
git-svn-id: svn://10.0.0.236/trunk@51206 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-19 23:01:58 +00:00
kipp%netscape.com
66125fa907 r=troy; revised nsITextContent api to simplify it and the consumers; this is done as prep work for bug 9101
git-svn-id: svn://10.0.0.236/trunk@50895 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-15 23:36:07 +00:00
mjudge%netscape.com
dcd63f4da3 bugs 15547,15645,13665,13277,5761, r=akkana,kin,hyatt. fixing selection bugs, keyboard navigation, triple clicking and drag scrolling.
git-svn-id: svn://10.0.0.236/trunk@50536 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-13 01:15:26 +00:00
kipp%netscape.com
b7194daf71 r=kin,troy; Fixed reflow bug with optimization logic to avoid measuring text (no bug #)
git-svn-id: svn://10.0.0.236/trunk@50512 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-12 23:29:01 +00:00
troy%netscape.com
69fbd973a0 Fix for blocker #15839. r=kipp@netscape.com,kin@netscape.com
Typing into a text area wasn't working properly. Problem was that when the text
changed we were reflowing the text frames with a resize reflow command and
we thought we could optimize the reflow. So I changed ContentChanged() to
mark each text frame dirty so we would know not to do the optimization


git-svn-id: svn://10.0.0.236/trunk@50261 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-08 22:04:31 +00:00
mjudge%netscape.com
007d73a460 fixing optimizations for table selection as well as making sure all flags are turned on/off for text frames when one frame is selected..
git-svn-id: svn://10.0.0.236/trunk@49352 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-29 20:36:00 +00:00
kin%netscape.com
1806b9519b 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().


git-svn-id: svn://10.0.0.236/trunk@49313 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-29 20:04:05 +00:00
mjudge%netscape.com
12908f2dd0 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
git-svn-id: svn://10.0.0.236/trunk@49076 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-25 23:33:02 +00:00
mjudge%netscape.com
b8eaf7bac4 tweaked word left and word right again. got double click working on edge cases! yeah
git-svn-id: svn://10.0.0.236/trunk@48829 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-22 07:09:41 +00:00
mjudge%netscape.com
e27650740e approved by Dagley. fixes for CTRL_LEFT and CTRL_RIGHT navigation and wrapping
git-svn-id: svn://10.0.0.236/trunk@48797 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-22 05:56:44 +00:00
mjudge%netscape.com
807d5be104 fixes for line/frame traversal. now we use more common code inside nsFrame rather than nsTextFrame specific code all the time.
git-svn-id: svn://10.0.0.236/trunk@48778 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-22 04:12:23 +00:00
kipp%netscape.com
ffbaac75aa Whoops, left some noise on
git-svn-id: svn://10.0.0.236/trunk@48687 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-22 00:41:13 +00:00
kipp%netscape.com
16349cdbd1 Fixed various bugs including part of 14486 and 14427; cleaned up the usage of stack based buffers to avoid future issues
git-svn-id: svn://10.0.0.236/trunk@48686 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-22 00:40:56 +00:00
mjudge%netscape.com
124711cde1 changes to selection code to stop a never ending loop
git-svn-id: svn://10.0.0.236/trunk@48665 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-21 22:58:14 +00:00
kipp%netscape.com
a1c8b975ba Bring TrimTrailingWhiteSpace back to life after troy's changes
git-svn-id: svn://10.0.0.236/trunk@48435 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-21 00:12:50 +00:00
mjudge%netscape.com
179e58ff5f checking in fixes for selection around nodes where get primary frame will not lead to the discovery of all frames
git-svn-id: svn://10.0.0.236/trunk@48406 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-20 21:47:37 +00:00
troy%netscape.com
9a25e04f8b Optimized Reflow() some more. In the case where we're not measuring text but
we need to peek ahead and so we need to know the length of the last word, if
there's only one word in the text run then we can avoid measuring


git-svn-id: svn://10.0.0.236/trunk@48240 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-19 04:42:54 +00:00
troy%netscape.com
545ba4350f Backed out some changes that aren't needed and were fixed with a change
to the frame construction code


git-svn-id: svn://10.0.0.236/trunk@48233 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-19 00:59:38 +00:00
troy%netscape.com
28ffdcaf30 Optimized reflow to skip measuring of the text for a resize reflow (when
possible)


git-svn-id: svn://10.0.0.236/trunk@48189 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-18 16:22:34 +00:00
alecf%netscape.com
ca2cea5ccd fix a bunch of null-derefing problems when accessing http://webmail.netscape.com/ and add some assertions when these things happen
git-svn-id: svn://10.0.0.236/trunk@48133 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-18 01:00:43 +00:00
alecf%netscape.com
ee585f6ea5 fix dereferencing error on slashdot.org
git-svn-id: svn://10.0.0.236/trunk@48130 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-18 00:48:51 +00:00
kipp%netscape.com
b19648bac9 Fixed a glitch in word-breaking look ahead that was using the wrong content to compute the next fragments width (whoops!)
git-svn-id: svn://10.0.0.236/trunk@48049 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-17 23:14:47 +00:00
troy%netscape.com
590a741dbd Minor changes to reduce the amount of unnecessary ref counting and speed
things up a little


git-svn-id: svn://10.0.0.236/trunk@47864 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-16 23:31:59 +00:00
mjudge%netscape.com
f48fd77b70 changes for bug fixes for dogfood. finding frames left and right should find the correct frame and not give up so easily. nsTextFrame needed to change getpositionslowly.
git-svn-id: svn://10.0.0.236/trunk@47495 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-15 01:57:50 +00:00
mjudge%netscape.com
8462665913 content iter not initing properly for reuse. text frame not selecting slowly properly, bad bounds checking :(. rangelist now traversing each node in a spaniter with a normal iter to make SURE we get all the children!
git-svn-id: svn://10.0.0.236/trunk@47447 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-14 23:16:22 +00:00
mjudge%netscape.com
139d6944f4 fixes for selection. up/down arrow behavior and also extending selection. all should be in peek offset ect. Also adding in a slight change to the hack (which should go away soon) that will stop the editor from scrolling when up/down left/right ect are clicked. when key events go in this code will be removed
git-svn-id: svn://10.0.0.236/trunk@47183 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-13 22:19:31 +00:00
mjudge%netscape.com
ad8dd5373b fixes for crasher in tree
git-svn-id: svn://10.0.0.236/trunk@46898 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-11 00:18:02 +00:00
mjudge%netscape.com
a29a744b14 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.
git-svn-id: svn://10.0.0.236/trunk@46783 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-10 18:29:37 +00:00
mjudge%netscape.com
3a2b08f57b 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.
git-svn-id: svn://10.0.0.236/trunk@46251 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-07 23:40:17 +00:00
ftang%netscape.com
c09727aebc fix bug 13063 12881
git-svn-id: svn://10.0.0.236/trunk@45955 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-03 22:46:16 +00:00
mjudge%netscape.com
d9a3b1a319 new selection code for dead areas. this is much better, trust me. the block frame now will look at its best line and look for a spot to select. if it finds another block frame now, it will continue the process in a while loop. each time looking for best x and y area. this reuses the code located in GetNextPrevLine.
git-svn-id: svn://10.0.0.236/trunk@45529 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-01 21:40:16 +00:00
kipp%netscape.com
eea3ab916a Updated SizeOf methods to not waste space when doing a non-debug build
git-svn-id: svn://10.0.0.236/trunk@45397 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-01 01:02:16 +00:00
kipp%netscape.com
c9002f20df Reimplemented SizeOf methods in some of the frame classes; partial rework of first-line handling snapshot
git-svn-id: svn://10.0.0.236/trunk@45274 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-31 03:09:40 +00:00
mjudge%netscape.com
72808fb95e 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 :)
git-svn-id: svn://10.0.0.236/trunk@44364 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-24 21:51:47 +00:00
ftang%netscape.com
bed550f28d implement word jump for non Ascii
git-svn-id: svn://10.0.0.236/trunk@43559 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-19 06:06:57 +00:00
ftang%netscape.com
d4536e263f tune performance by elimate unnecessary reference to nsIWordBreaker in nsTexTransformer. Add NS_PRECONDITION code into nsTextTransformer to make code better
git-svn-id: svn://10.0.0.236/trunk@42948 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-10 07:23:56 +00:00