Граф коммитов

36 Коммитов

Автор SHA1 Сообщение Дата
scc%netscape.com 9ac6c4fb06 making string conversions explicit 2000-04-18 07:44:58 +00:00
jfrancis%netscape.com a43e1b1c64 improved paste performance in editor (WIP) (bug 28783) set/remove inline stlye rewrite (lots of bug #s) 2000-03-24 00:13:30 +00:00
akkana%netscape.com 0b23aa43ac 22655: add API to allow specifying charset when inserting/quoting html. r=rhp
16015: Add API and implementation for delete-to-beginning (^U). r=slamm,rhp
490: Insert formatting newlines when inserting new nodes. r=rhp
2000-01-04 20:38:12 +00:00
jfrancis%netscape.com d6e95890c8 Fix for bug 21346. This is actually a major reworking of how the low level editor txns perturb selection. There is a mode now for telling the txns not to disturb the selection. There is also a fix for unlisting lists (sometimes list items got merged unintentionally when unlisting). 2000-01-04 03:09:41 +00:00
dmose%mozilla.org 142ac52eaf updated xPL license boilerplate to v1.1, a=chofmann@netscape.com,r=endico@mozilla.org 1999-11-06 03:43:54 +00:00
buster%netscape.com 38b35cdb7d some extremely minor cleanup of bugs found by ftang. Thanks, frank. 1999-10-18 21:59:19 +00:00
brade%netscape.com 5dc0db68e3 allow for txn to have id/string for get/set 1999-09-21 22:31:27 +00:00
akkana%netscape.com 8fd31a2323 Better debug prints: tell which tag we're creating 1999-09-10 22:34:18 +00:00
buster%netscape.com 784ca3f405 removed static constructors, since they're illegal in our system 1999-08-30 22:12:11 +00:00
buster%netscape.com 3bc5912284 Fixed a ton of errors where we were not handling error results correctly.
Added some comments of the form "// XXX: ERROR_HANDLING <explanation>"
wherever I saw a potential error but wasn't 100% sure of the intention of the code.
Fixed a few bugs along the way.
1999-08-19 13:30:48 +00:00
sfraser%netscape.com d73dfd8ddb Landing editor API changes. Removed nsITextEditor and nsTextEditor, split interfaces into more, non-overlapping interfaces, and other general cleanup. 1999-08-09 01:37:50 +00:00
jfrancis%netscape.com ab73427f9c default to setting selection _after_ a created element 1999-07-25 09:25:02 +00:00
mjudge%netscape.com c0b1525970 massive checkin for selection. adjusting nsIDOMSelection api and nsIFrameSelection. many "small" changes. this is not as bad as it looks. layout will not be affected other than "getter" calls for selection. and all consumers of selection should be in good shape. 1999-07-18 02:27:19 +00:00
mjudge%netscape.com 21700e5d88 checkin for carpool for multiple seleciton/ime selection and api changes 1999-07-15 18:19:20 +00:00
buster%netscape.com 481008636f fixed warnings 1999-06-28 13:44:40 +00:00
sfraser%netscape.com 7e7e1b3a66 Changed transactions not to have owning pointers to the Editor. 1999-05-28 00:13:02 +00:00
kin%netscape.com 41199b08d2 Changed all occurrences of GetUndoString() and GetRedoString() to accept nsString *. 1999-05-27 20:50:52 +00:00
buster%netscape.com 99a96a39ec 1. block transformation infrastructure is now in place. We can go ahead and implement interesting
features like set paragraph style, set list type, indent, etc.  I'm sure there's holes in my
implementation that these high level features will make obvious.

2. I've factored a lot of utility methods from several modules into nsEditor as public static methods.
This makes them easily accessable to all, and will help Joe and I remove redundant methods.

3. I changed the HTML tags to lower case, and made all string compares case-insensitive.  No, this
isn't quite the right thing to do, but we don't have atoms from layout yet.  The Right Thing is for us
to reuse those atoms.
1999-05-05 04:05:19 +00:00
buster%netscape.com ced0729237 *** empty log message *** 1999-04-20 17:39:23 +00:00
buster%netscape.com f8f342f19a vastly improved RemoveTextProperty
turned off debug output
1999-04-11 22:55:40 +00:00
buster%netscape.com 52bb18a74f As a reminder, we decided to do this based strictly content. Some support for style-based text properties is written, but not used
anywhere any more.

* Cleaned up split and join undo/redo.
* Added TypeInState, a data struct that remembers things about text properties for collapsed selections, so you can type
* Ctrl-B with an insertion point and the next character will be bold.
* Added all the logic to handle inline vs. block elements when setting text properties.
* Added some support for italic and underline as well.  Adding these things is pretty easy now.  Ctrl-B, Ctrl-I, Ctrl-U for testing bold, italic, underline.
* Added all the logic to make sure we only add style tags where they're needed, so you should never get the same style tag nested within itself, except as needed for block elements.
* Added methods for testing a node to see if a particular style is set.  This isn't 100% done yet, but with very little work we could have toolbar buttons that respond to selection changed notification that show the state of bold, italic, underline, etc. in real time.  Supports tri-state:  whole selection is bold, some of selection is bold, none of selection is bold, ...
* Fully undoable and redoable.
* Added some debug printfs to transactions and editors.  all controlled by a gNoisy static in each module.  helps me track down undo/redo problems.  if the output bugs people enough, I'll shut it off and re-enable it in my local tree.

Noticably missing:  make un-bold, make un-italic, etc.  This is coming soon.
1999-04-01 17:58:07 +00:00
buster%netscape.com 9450d290ae fixed a small bug. mRefNode may be nsnull. 1999-03-12 02:27:48 +00:00
buster%netscape.com 7ddbcd287f creation of text nodes now supported 1999-03-10 19:51:55 +00:00
mjudge%netscape.com 6497120c24 fixes for selection code, batching at correct point 1999-03-03 01:51:59 +00:00
cmanske%netscape.com e415eb79b4 Implemented nsHTMLEditor. Changed prototypes to be use NS_IMETHOD and NS_IMETHODIMP. Started table editing transactions 1999-03-02 05:30:53 +00:00
buster%netscape.com c05dfef653 added InsertElementTxn
added nsEditProperty
beginning of implementation for SetTextProperties.  Currently, it only works if the selection is entirely within a single text node.  Currently only
supports bold and italic (mapped to ctrl-b and ctrl-i for testing purposes.)
changed a bunch of interfaces to make things easier, like CreateElement now returns (as an out-param) the element created.
1999-02-24 17:24:37 +00:00
buster%netscape.com c7e7fd1131 caught up to new ScrollIntoView changes.
most transactions now properly set selection after modifying content, for Do, Undo, Redo.
lots of cleanup and minor bug fixes.
1999-02-22 15:53:31 +00:00
mcafee%netscape.com 40e8ad043a Solaris: adding do_QueryInterface() wrappers to finish scc's nsCOMPtr carpool. a=scc 1999-02-19 11:30:31 +00:00
buster%netscape.com 1b73ea36a7 Highlights:
updated to new nsCOMPtr usage
nsTextEditor::InsertBreak() implemented
  splits the text node at the caret (deletes any extended selection to force a collapsed selection.)
  inserts a <BR> which I assume we'll convert to a CR when we write to a text stream.
  undo and redo work, except for the bug noted below

More stuff:
interface cleanup
strategic debugging code added
delete selection txn sets the collapses the selection...this is just a placeholder, but I needed it for undo/redo of InsertBreak.
join and split now work for text nodes as well as interior nodes
1999-02-17 19:42:29 +00:00
buster%netscape.com d93ebdb1ac made GetIsTransient return false by default, so most transactions don't need to implement GetIsTransient
made delete and backspace do the right thing (testing hacks removed)
1999-01-22 15:40:31 +00:00
buster%netscape.com c544a4698b * added TransactionFactory. Editor no longer allocates its own transactions. This gives us an oppurtunity for a recycler.
* added DeleteSelection to editor.  Doesn't work very well yet because selection is giving me random offsets into text content.
* lots of work in the various transactions.
1999-01-21 01:51:09 +00:00
buster%netscape.com 50d5211732 added DeleteElementTxn and DeleteRangeTxn, and added merging of text insertions.
added some better error checking on all transactions.
1999-01-14 18:02:45 +00:00
buster%netscape.com 397587a596 shuffled around the responsibilities of core editing objects.
The key listener is now mostly a mapper of key events to editor actions.  Soon, this should be 100% true.
The editor builds transactions that are themselves intelligent. The editor makes very few DOM calls itself.
It relies on the transactions to do most of the actual editing.
1999-01-11 22:47:23 +00:00
buster%netscape.com 196f38742c fixed an uninitialized pointer problem
ctrl-ins appends an HR to the BODY
1999-01-08 01:41:34 +00:00
buster%netscape.com 27b37e6ffc implemented do and undo for CreateElement
the test is INS key, it adds an HR
1999-01-08 01:30:53 +00:00
buster%netscape.com 6c3a16ef91 create element transaction WIP 1999-01-07 22:36:23 +00:00