Commit Graph

996 Commits

Author SHA1 Message Date
mcafee%netscape.com
cbff9a4021 Adding newline at end of file for Solaris/CC 1999-02-18 12:14:59 +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
750156a8dd private interface for editor, used for common editing operations that
we don't want to expose publically.
1999-02-17 18:34:41 +00:00
danm%netscape.com
fec8319485 fixing compilation problems with new nsCOMPtr. part of the carpool. 1999-02-17 06:18:11 +00:00
mjudge%netscape.com
0f60b22018 new modifications to nsCOMPtr to explicitly change to QueryInterface 1999-02-17 01:59:56 +00:00
buster%netscape.com
3c0989c25b minor fixes and lots of comments 1999-02-15 18:25:30 +00:00
buster%netscape.com
1cd1a05857 merges text insertions again, based on new aggregate insert txn 1999-02-15 18:24:58 +00:00
sfraser%netscape.com
d5c6142412 Cause the caret to become visible in the presentation shell when instantiating an editor. 1999-02-13 04:48:09 +00:00
buster%netscape.com
0febfca71d changed deleteSelection back to not use the range 1999-02-12 19:36:18 +00:00
buster%netscape.com
16de5238df changed DeleteSelection back to using nsIDOMRange directly. 1999-02-12 18:09:38 +00:00
kipp%netscape.com
36c243cdc0 COMized nsIPresShell and nsIPresContext 1999-02-12 17:45:58 +00:00
buster%netscape.com
1ceedf5abc * the viewer test app now instantiates an nsITextEditor via nsRepository for "Editor mode"
* the TxnMgr is invoked by the editor via nsRepository
* editor.h|cpp have been renamed nsEditor.h|cpp for consistency
* editorInterfaces.h|cpp have been renamed nsEditorEventListeners.c|hpp
* added nsITextEditor.h, nsTextEditor.h|cpp.  The text editor is a placeholder for the rules unique to text
editing.  It invokes the nsIEditor to do core editing operations.
* reworked nsIEditor and related interfaces as per emerging design.
* nsEditor::BeginTransaction and EndTransaction call nsTransactionManager::BeginBatch and EndBatch.
1999-02-12 17:18:58 +00:00
akkana%netscape.com
7982a421d6 Rename nsISelection to nsIFrameSelection 1999-02-11 23:12:28 +00:00
akkana%netscape.com
eb4fd64caa Implement a new interface, nsIDOMSelection, intended to become the
external interface for selection (to be IDL-ified later).

Fix some editor bugs:
- Advance the cursor on text insert (so text is inserted in the right order)
- Make DeleteSelection in the editor call the actual selection
- Make DeleteSelection update the frames' notion of the selection
1999-01-29 18:57:56 +00:00
buster%netscape.com
666e4a3c97 fixed some UMR's due to mRefCnt being uninitialized. This fixes some memory leaks. 1999-01-28 19:45:23 +00:00
buster%netscape.com
e1f0594680 put in crude support for aggregating type-ins across selection changes.
this needs to get beefed up to handle offsets within elements, which we'll
do as soon as selection is set properly following an insertion.
1999-01-28 19:00:14 +00:00
buster%netscape.com
a0bfc18e76 fixed a minor problem with merging type-in transactions. 1999-01-28 17:19:24 +00:00
buster%netscape.com
1d6de2d02b changed nsIEditor to enable undo separately from Init
work in progress API changes to nsIEditor and nsEditor
1999-01-28 06:02:53 +00:00
buster%netscape.com
e480bffcab better delete now that selection offsets are real. 1999-01-22 19:44:46 +00:00
buster%netscape.com
77666fcdba fixed debug asserts to allow for offset=count, since offsets represent
the slots between content.
1999-01-22 19:06:27 +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
mjudge%netscape.com
465aa03ac7 fixing build bustages 1999-01-22 03:50:22 +00:00
mjudge%netscape.com
4a482f84e3 fixing build bustage 1999-01-22 03:18:51 +00:00
akkana%netscape.com
97da5a3bf6 Try a different form of casting to keep both Linux and the Mac happy 1999-01-21 21:10:12 +00:00
buster%netscape.com
ea44dd04c7 factored editor so a request (public) is separate from building the txn for that request (private)
added some debug code to transactions
1999-01-21 19:44:26 +00:00
akkana%netscape.com
0e04d56d20 Fix nsCOMPtr casting build bustage 1999-01-21 19:31:57 +00:00
buster%netscape.com
1bf76fe187 bug fixes to delete range, plus some debugging printf's 1999-01-21 02:29:52 +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
sfraser%netscape.com
f0793df5ed Reinstate buster's changes, with a fix for the nsCOMPtr problem. 1999-01-15 00:03:41 +00:00
buster%netscape.com
4ccd89d7ff backed out Merge functionality because it doesn't compile on Mac. 1999-01-14 21:52:08 +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
pinkerton%netscape.com
efe4568aec fixes for SetDOMAttribute --> SetAttribute change. 1999-01-12 18:20:58 +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
7476d737ae implemented joinNode. expect this and similar methods to move into editor.cpp 1999-01-11 19:06:37 +00:00
mcmullen%netscape.com
6387ba06a1 Remove illegal TextTxn:: within TextTxn class (this is illegal in C++ unless you have a nested class with the same name). This fixes Macintosh build bustage. 1999-01-09 02:41:35 +00:00
buster%netscape.com
9c4d3b3849 better code factoring, so split and join base methods can be reused 1999-01-09 00:24:48 +00:00
buster%netscape.com
d18aa37ef9 SplitElementTxn implementation. Do only.
test with Control-S.
1999-01-08 22:16:22 +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
buster%netscape.com
f328d2f2b1 use base class Redo 1999-01-07 17:57:57 +00:00
buster%netscape.com
f42a6d7a60 make Redo call Do by default 1999-01-07 17:57:16 +00:00
buster%netscape.com
7e8794628f Delete Text Transaction initial implementation 1999-01-07 17:56:20 +00:00
buster%netscape.com
4435c98060 support for inserting text 1999-01-07 01:02:32 +00:00
buster%netscape.com
8c25fcb097 support for removing attributes 1999-01-07 01:02:16 +00:00
buster%netscape.com
d2d19db4f0 ChangedAttributeTxn implementation
base class EditTxn implementation
1999-01-06 20:30:13 +00:00