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

46 Коммитов

Автор SHA1 Сообщение Дата
mjudge%netscape.com d8ad0a43f1 66318 r= kin, sr=kin tested by ducarozz ,phil chofmann approved..changing APIS to be idl so we can use in embedding land... lots of string changes too to nsAStrings 2001-04-07 00:45:26 +00:00
kin%netscape.com 6501ce84d9 Fixes for bug #66308 ([embed] XPIDL'ize transaction manager)
sr=sfraser@netscape.com,mscott@netscape.com r=jfrancis@netscape.com

* nsITransaction, nsITransactionListenter, nsITransactionManager have
  been XPIDL'ized and moved into mozilla/editor/txmgr/idl. The versions
  of these interfaces in mozilla/editor/txmgr/public are being CVS removed.

* Renamed Do(), Undo(), and Redo() to DoTransaction(), UndoTransaction(),
  and RedoTransaction() to avoid reserved word problems in languages like
  JS. I did a sweep through editor and mailnews to remove these methods.

* PeekUndoStack() and PeekRedoStack() now return an AddRef'd pointer.

* Removed GetUndoString(), GetRedoString() and Write() from the
  nsITransaction interface. Neither editor or mailnews really made
  use of these methods.

* Removed Write() from the nsITransactionManager.cpp interface.

* The Transaction Manager now supports weak references.

* Added support for nsITransactionList to the TransactionManager
  to allow access to all transactions on the Undo and Redo stacks, as
  well as auto-aggregated transactions.

* Removed all references to nsITransactionDescription from txmgr and editor.

* Added nsPIEditorTransaction and made all Editor internal transactions
  inherit from it so we can distinguish between our transactions and
  ones from 3rd parties.

New files checked in:

  editor/txmgr/idl/nsITransaction.idl
  editor/txmgr/idl/nsITransactionList.idl
  editor/txmgr/idl/nsITransactionListener.idl
  editor/txmgr/idl/nsITransactionManager.idl
  editor/txmgr/src/nsITransactionList.cpp
  editor/txmgr/src/nsITransactionList.h
  editor/idl/nsPIEditorTransaction.idl

Files that were CVS removed:

  editor/txmgr/public/nsITransaction.h
  editor/txmgr/public/nsITransactionListener.h
  editor/txmgr/public/nsITransactionManager.h
  editor/txmgr/idl/nsITransactionDescription.h
  editor/base/IMECommitTxn.cpp
  editor/base/IMECommitTxn.h

Files modified:

  editor/Makefile.in
  editor/makefile.win
  editor/base/ChangeAttributeTxn.cpp
  editor/base/ChangeAttributeTxn.h
  editor/base/CreateElementTxn.cpp
  editor/base/CreateElementTxn.h
  editor/base/DeleteElementTxn.cpp
  editor/base/DeleteElementTxn.h
  editor/base/DeleteRangeTxn.cpp
  editor/base/DeleteRangeTxn.h
  editor/base/DeleteTextTxn.cpp
  editor/base/DeleteTextTxn.h
  editor/base/EditAggregateTxn.cpp
  editor/base/EditAggregateTxn.h
  editor/base/EditTxn.cpp
  editor/base/EditTxn.h
  editor/base/IMECommitTxn.cpp
  editor/base/IMECommitTxn.h
  editor/base/IMETextTxn.cpp
  editor/base/IMETextTxn.h
  editor/base/InsertElementTxn.cpp
  editor/base/InsertElementTxn.h
  editor/base/InsertTextTxn.cpp
  editor/base/InsertTextTxn.h
  editor/base/JoinElementTxn.cpp
  editor/base/JoinElementTxn.h
  editor/base/nsEditor.cpp
  editor/base/nsEditorShell.cpp
  editor/base/nsEditorShell.h
  editor/base/nsEditorTxnLog.cpp
  editor/base/nsStyleSheetTxns.cpp
  editor/base/nsStyleSheetTxns.h
  editor/base/PlaceholderTxn.cpp
  editor/base/PlaceholderTxn.h
  editor/base/SetDocTitleTxn.cpp
  editor/base/SetDocTitleTxn.h
  editor/base/SplitElementTxn.cpp
  editor/base/SplitElementTxn.h
  editor/idl/Makefile.in
  editor/idl/makefile.win
  editor/idl/MANIFEST
  editor/idl/nsIEditorShell.idl
  editor/macbuild/editor.mcp
  editor/macbuild/EditorIDL.mcp
  editor/txmgr/idl/Makefile.in
  editor/txmgr/idl/makefile.win
  editor/txmgr/idl/MANIFEST
  editor/txmgr/idl/nsITransactionManager.idl
  editor/txmgr/macbuild/txmgr.mcp
  editor/txmgr/macbuild/txmgrIDL.mcp
  editor/txmgr/public/Makefile.in
  editor/txmgr/public/makefile.win
  editor/txmgr/public/MANIFEST
  editor/txmgr/src/Makefile.in
  editor/txmgr/src/makefile.win
  editor/txmgr/src/nsTransactionItem.cpp
  editor/txmgr/src/nsTransactionItem.h
  editor/txmgr/src/nsTransactionList.cpp
  editor/txmgr/src/nsTransactionList.h
  editor/txmgr/src/nsTransactionManager.cpp
  editor/txmgr/src/nsTransactionManager.h
  editor/txmgr/src/nsTransactionManagerFactory.cpp
  editor/txmgr/src/nsTransactionStack.cpp
  editor/txmgr/src/nsTransactionStack.h
  editor/txmgr/tests/TestTXMgr.cpp
  editor/ui/composer/content/EditorCommandsDebug.js
  editor/ui/composer/content/editorOverlay.xul
  editor/ui/composer/locale/en-US/editorOverlay.dtd
  mailnews/base/src/nsMessenger.cpp
  mailnews/base/util/nsMsgTxn.cpp
  mailnews/base/util/nsMsgTxn.h
  mailnews/imap/src/nsImapMailFolder.cpp
  mailnews/imap/src/nsImapUndoTxn.cpp
  mailnews/imap/src/nsImapUndoTxn.h
  mailnews/local/src/nsLocalMailFolder.cpp
  mailnews/local/src/nsLocalUndoTxn.cpp
  mailnews/local/src/nsLocalUndoTxn.h
2001-03-09 14:23:59 +00:00
warren%netscape.com 4189314fdb Bug 47207. Backing out logging/PRINTF changes until we can fix stopwatch.h, introduce double parens, etc. 2000-10-28 22:17:53 +00:00
warren%netscape.com 6e35f97e31 Bug 47207. Changing printf to PRINTF to use new logging facility. r=valeski,sr=waterson 2000-10-27 22:43:51 +00:00
mjudge%netscape.com a2fa9edcb5 small but pervasive change to make nsIDOMSelection an xpidl interface. also broke it into 2 interfaces, nsISelection and nsISelectionPrivate. moved nsIDOMSelectionListener also to xpidl. these new idl files live in layout/base/public. r=sfraser, r=anthonyd bug 48575 2000-09-14 11:45:01 +00:00
anthonyd%netscape.com 7cda3a6d5f fix for regression, bug#45477
cant insert hrules, images, etc...
r=brade, a=granrose
2000-07-14 18:38:24 +00:00
mjudge%netscape.com cdba084e96 anthonyd: r=mjudge bug 39919 letting DOM level 2 stuff work for the editor. eliminating createelementNS and using the factory instead. 2000-07-13 23:15:41 +00:00
rbs%maths.uq.edu.au 29f1b6960b Change invalid REC-html40 to correct XHTML namespace. b:7834. a:ekrock@netscape.com 2000-06-15 09:54:41 +00:00
mjudge%netscape.com 98c38f889f bug=34896 changing use of CreateElement to CreateElementNS. this was necessary outside of ender-lite also. good change. r=jfrancis a=beppe 2000-06-07 01:18:12 +00:00
warren%netscape.com 958ed96edd Renaming nsIAllocator to nsIMemory (and nsAllocator to nsMemory). API cleanup/freeze. Bug #18433 2000-06-03 09:46:12 +00:00
scc%netscape.com 1d1960be1e making string conversions explicit 2000-04-18 07:44:58 +00:00
jfrancis%netscape.com fbbbbfcfaf 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 dca1659499 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 07fcb7e952 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 8535dda53e 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 10a59de68d some extremely minor cleanup of bugs found by ftang. Thanks, frank. 1999-10-18 21:59:19 +00:00
brade%netscape.com 19ec219fb7 allow for txn to have id/string for get/set 1999-09-21 22:31:27 +00:00
akkana%netscape.com 76f259b9e9 Better debug prints: tell which tag we're creating 1999-09-10 22:34:18 +00:00
buster%netscape.com 178df58863 removed static constructors, since they're illegal in our system 1999-08-30 22:12:11 +00:00
buster%netscape.com d3b61f6c7b 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 98818652df 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 a2564d9b74 default to setting selection _after_ a created element 1999-07-25 09:25:02 +00:00
mjudge%netscape.com 7ddf8fee55 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 795cc26dd3 checkin for carpool for multiple seleciton/ime selection and api changes 1999-07-15 18:19:20 +00:00
buster%netscape.com 1823698740 fixed warnings 1999-06-28 13:44:40 +00:00
sfraser%netscape.com 0b45173a06 Changed transactions not to have owning pointers to the Editor. 1999-05-28 00:13:02 +00:00
kin%netscape.com e667e633d4 Changed all occurrences of GetUndoString() and GetRedoString() to accept nsString *. 1999-05-27 20:50:52 +00:00
buster%netscape.com 7803f612f1 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 95adc8c308 *** empty log message *** 1999-04-20 17:39:23 +00:00
buster%netscape.com 1d5d5e333d vastly improved RemoveTextProperty
turned off debug output
1999-04-11 22:55:40 +00:00
buster%netscape.com 4c59bda1d7 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 10abab085e fixed a small bug. mRefNode may be nsnull. 1999-03-12 02:27:48 +00:00
buster%netscape.com 0c62f0bed4 creation of text nodes now supported 1999-03-10 19:51:55 +00:00
mjudge%netscape.com ae38ead5c7 fixes for selection code, batching at correct point 1999-03-03 01:51:59 +00:00
cmanske%netscape.com 7aca17a8cb 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 42654a1a8d 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 b259f714c6 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 6fad4bf023 Solaris: adding do_QueryInterface() wrappers to finish scc's nsCOMPtr carpool. a=scc 1999-02-19 11:30:31 +00:00
buster%netscape.com 061b766061 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 c80b396ad6 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 83a4e325ce * 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 92705ab193 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 10b3eb6bea 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 b3c9b491bf fixed an uninitialized pointer problem
ctrl-ins appends an HR to the BODY
1999-01-08 01:41:34 +00:00
buster%netscape.com cdabceb9ac 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 3534fc762a create element transaction WIP 1999-01-07 22:36:23 +00:00