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

309 Коммитов

Автор SHA1 Сообщение Дата
jfrancis%netscape.com 70c5b10ce6 SplitNodeDeep() now emits an out param that tells you what the effective split offset was. This routine no longer splits text nodes unless it has to; ie, if the original offset was at the beginning or end of the text node, no split occurs in it. 1999-08-09 21:45:52 +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
tague%netscape.com 58316bd322 Added support for replies from private DOM text events. See bug #4826 1999-08-06 02:32:13 +00:00
sfraser%netscape.com bbeffd28f0 Fix the document state listener mechanism so that you can install listeners after the editor has been created, and still get their 'document creation' notification called. 1999-08-03 06:53:45 +00:00
buster%netscape.com c05df307b2 added a missing break that was leading to an assert in NotifyDocumentListeners 1999-08-03 06:05:29 +00:00
warren%netscape.com 5f088dfe9e Fixing Simon's stuff. 1999-08-03 01:57:26 +00:00
sfraser%netscape.com dd24fdb884 Make the nsIDocumentStateListener interface more useful, with doc creation and destruction notifiers. 1999-08-03 00:58:38 +00:00
buster%netscape.com e0138bce18 enabled string bundles, now that NECKO has landed
selection and caret are not displayed at Init time any more.  This is done on Focus now.
1999-08-02 13:51:50 +00:00
cmanske%netscape.com 0fef13e963 Fixed lots of XUL (adjust for new titledbutton changes and XPMenus). Added initial table properties support and unit test for nsITableLayout methods. Removed unused InsertLink and InsertImage methods. Added lots of comments for interface methods. 1999-08-01 22:37:58 +00:00
akkana%netscape.com 2a0454f835 10525: Only handle plaintext paste in base and text editors 1999-07-30 23:46:18 +00:00
sfraser%netscape.com 6c31c915dd Implement support for nsIDocumentStateListeners. 1999-07-28 02:55:40 +00:00
buster%netscape.com cc49e3182a Clean-up
1) fixed unit tests
2) fixed a bunch of leaks having to do with using enumerators.  Thanks for noticing these, Simon.
3) fixed a tiny problem in nsTextEditRules::WillDoAction().
This method was overly aggressive in checking input args, sel can be null for some operations.
1999-07-25 18:14:44 +00:00
cmanske%netscape.com db6e5788b8 Fixed insert element bugs. Added message if no misspelled words. Changed 'More Atrributes' to 'Advanced Edit' in dialogs. Improved generic message dialog. Added remove link button to link dialog 1999-07-24 20:27:53 +00:00
cmanske%netscape.com 16ff2d941c Fixed bugs relating to insert element 1999-07-23 00:52:17 +00:00
sfraser%netscape.com 5f74f88c68 Turn on selection for all documents that are being edited. This enables selection in GFX ender widgets. 1999-07-23 00:11:00 +00:00
sfraser%netscape.com f4d8e41aad #ifdef out loading the string bundle, because it causes onEndDocumentLoad handlers to fire, which is very bad. 1999-07-22 23:52:08 +00:00
tague%netscape.com 27e1b6498d Fixed bug #10242 - crash when typing space after IME composition 1999-07-22 23:13:59 +00:00
tao%netscape.com 0d92312a0a Adopt new str res api prototype. 1999-07-22 04:41:11 +00:00
jfrancis%netscape.com 2ec53e1f90 assorted work to expose nav html dtd to the editor 1999-07-19 22:49:21 +00:00
akkana%netscape.com a0beec3a1a Fix paste html; remove some unneeded inclusions 1999-07-19 19:37:08 +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
buster%netscape.com dca6c49edd replaced IID's with CID's where they were appropriate, and removed lots of
NS_DEFINE_IID macros in favor of GetCID() wherever I could.
plus some minor bug fixes.
1999-07-15 19:13:46 +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
sfraser%netscape.com ee9108dff0 Document modification count maintenance. 1999-07-14 22:29:39 +00:00
akkana%netscape.com a3fb11b98f Restructure the editor output routines to allow passing in
a mime type and a flag argument.  Also fix the following bugs:
9746: get rid of bogus empty <style> in head.
8143: save wrap column in editor shell in case it's set before the
      editor is created.
9470, 9488: allow explicit specification of formatted output.
1999-07-14 18:54:29 +00:00
cmanske%netscape.com f85acd993e Generic message dialog, fix insert element-related bugs, initial personal dictionary dialog, other editor bugs 1999-07-14 15:24:33 +00:00
rods%netscape.com 96b1b0347f Fixed up paste code to help support HTML paste 1999-07-09 19:43:59 +00:00
kin%netscape.com bc437183b9 Fix for bug #7495: [PP]Undo on Linux shows intermediate steps.
Modified Undo() and Redo() to call Begin/EndUpdateViewBatch().
1999-07-06 23:02:12 +00:00
cmanske%netscape.com 7e87a94450 Changes to editor XUL dialogs to accomodate new window-as-box changes 1999-07-02 22:52:34 +00:00
sfraser%netscape.com fecb23a8fd Added transactions for applying and removing style sheets 1999-07-02 03:57:50 +00:00
warren%netscape.com 3e3429dbf5 Fixed NewURL for necko. 1999-07-01 21:48:46 +00:00
buster%netscape.com 894d0f0085 minor bug fixes 1999-07-01 20:46:59 +00:00
kin%netscape.com 3b5b4d3b48 Added ApplyStyleSheet() method to the various editor interfaces. 1999-07-01 19:32:35 +00:00
buster%netscape.com 7bc9bfc2b0 0. possible fix for Sun build bustage.
1. IsEditable is much less hacky.  It basically says:
  1. if the node is a special bogus text node, it's not editable
  2. if the node is a text node with only newlines, then it's not editable
  3. if the node has no frame associated with it, then it is not editable
  4. otherwise, it is editable.
As part of this, I had to make IsEditable non-static.  This had some cascading effects on static methods that called
IsEditable, which likewise had to be made non-static.

2. SetTextProperties now works when the endpoints are leaf nodes (like images), not just text.  Charlie, you should
put this through some stress cases.
1999-07-01 18:42:28 +00:00
scc%netscape.com f79508bc68 |nsISupports::GetIID()| --> |nsCOMTypeInfo<nsISupports>::GetIID()| 1999-06-29 21:01:31 +00:00
tague%netscape.com 353d857fed Added clause and selection support for Input Methods. Fixes bug #8639, #8459, #6989, #7824 1999-06-29 20:31:22 +00:00
buster%netscape.com 96d97515ac implemented most of max length handling 1999-06-25 22:57:26 +00:00
mcafee%netscape.com 663392c33d Adding comment for BeOS. 1999-06-25 14:26:21 +00:00
jfrancis%netscape.com 7e6d227982 these are not the droids you are looking for 1999-06-25 10:36:54 +00:00
jfrancis%netscape.com 0db5edf4c8 improvement of editing rules for insert list, indent, outdent, and change alignment 1999-06-25 09:33:02 +00:00
cmanske%netscape.com ea7bde4716 Expanded nsIEditPropery to include all (I hope) HTML tags 1999-06-25 03:18:42 +00:00
buster%netscape.com 6eaba5847c added nsIEditProperty::img 1999-06-24 23:34:41 +00:00
cmanske%netscape.com aaa2213d4c Fixed GetBodyElement. Changed editor test doc to not use CSS for background. Initial code to edit element properties when double-clicking on element. 1999-06-24 20:59:45 +00:00
warren%netscape.com 1f76168d21 Renamed nsIURL to nsIURI in preperation for necko. More NECKO ifdefs too. 1999-06-23 03:29:44 +00:00
akkana%netscape.com 41d7f80962 Use deep first/last child for Beginning/EndOfDocument methods 1999-06-22 21:42:44 +00:00
jfrancis%netscape.com f66290066f turn off link following in the editor 1999-06-21 07:49:03 +00:00
valeski%netscape.com e23b3c673c NECKO ifdef (ifdef'd _off_ by default) this checkin should not impact anything. checkin approved. If someone runs into a problem, call me at 303.546.0061. 1999-06-18 17:34:08 +00:00
jfrancis%netscape.com 657c148e9e bug 8303; rvd kin; aprvd buster; aprvd chofmann 1999-06-16 21:38:04 +00:00
akkana%netscape.com 62144999f4 8283: Fix crash because selectin wasn't initialized. r=sfraser/a=leaf 1999-06-16 21:02:25 +00:00
jfrancis%netscape.com 41074bcccd editor rules framework for {make list, indent, outdent, change alignment} 1999-06-16 05:02:43 +00:00
kin%netscape.com e3bf912523 * Added StartLogging() and StopLogging() methods to nsIEditor,
nsIHTMLEditor, nsITextEditor, and nsIEditorShell and enabled
  the "Start Log" and "End Log" menu items in the editor test bed.

* Modified makefiles for Unix and Win32 to turn on  Editor API Logging.

* Added action argument to the DeleteSelection() method in nsIEditorShell.

* Modified nsJSTxnLog to use nsJSEditorLog when writing it's output.
1999-06-14 20:02:46 +00:00
buster%netscape.com f9ffc2238d changed the way nsEditProperty is used. Right now, it's our placeholder
for HTML and CSS atoms, since we can't get these from layout yet.  The old
use assumed one editor, but as we know many editors can exist simultaneously.
Now, the editors share a singleton which is fetched from a factory method,
saving memory and allocation overhead.
1999-06-12 21:15:14 +00:00
sfraser%netscape.com 0f307500ed Add factory for EditorShell, and fix case of GetMonitor call. 1999-06-11 19:01:07 +00:00
akkana%netscape.com 87633c23c7 Implement InsertHTML.
Also, some minor fixes, like warning removal and addition of error checking
in files which needed it.
1999-06-10 21:31:42 +00:00
kin%netscape.com b5f80cce0c First pass checkin of the JavaScript editor logging mechanism. All changes are
ifdef'd with ENABLE_JS_EDITOR_LOG.
1999-06-10 19:41:40 +00:00
cmanske%netscape.com e351151970 Fixed fingers-to-quick checkin error 1999-06-09 02:28:47 +00:00
cmanske%netscape.com c56d124f5b Moved destination of editor string bundle file to editor's chrome directory 1999-06-09 02:26:48 +00:00
cmanske%netscape.com c624b316cb Added support for prefs and string bundles for editor, various bug fixes, preliminary Horizontal Line dialog work 1999-06-09 01:27:08 +00:00
buster%netscape.com 6a3429ddc2 * Added nsAutoSelectionReset, a tiny class that resets the selection to what it was before a block transformation.
* Added some code to restore selection after RemoveTextProperty.
* Made a tiny change to the way the editor holds onto the transaction manager, so client (like the ender text control) can
turn undo on and off effectively
* Fixed a bug in IsNodeInline that was causing GetBlockParent to return the wrong parent node (and who knows what
other mischief) where atom compares were being done on strings of different case, for <B>, "b" vs. "B".  The DOM
method nsIDOMElement::GetTagName forced the returned tag name to upper case.  I don't know how long that has
been true, but I assume it's a fairly recent change (or something on our side related to it changed recently) or this method
never would have worked.  I also found a few cases of nsString::Equals that I changed to EqualsIgnoreCase
* Made some general improvements to the interaction between editors and rules, so that the aCancel out param is always
intialized, and all rules with Will... are matched with a Did... call.  Added Will/DidSetTextProperty() and
Will/DidRemoveTextProperty().  This helps enable plain text mode.  Added a skeleton for max length support in text editor.
* fixed some warnings.
1999-06-08 06:04:51 +00:00
briano%netscape.com 8699ea0019 Handle the (Unix) platform-specific DLL naming conventions properly. 1999-06-04 22:17:30 +00:00
jfrancis%netscape.com 965cc90b46 fixing a comment 1999-06-03 05:58:38 +00:00
kin%netscape.com ae5b3d673c Fixed double addref in EnableUndo() that was causing us to leak the transaction manager on destruction of the editor. 1999-05-28 21:49:24 +00:00
jfrancis%netscape.com 38b9a7c369 cleanup util function duplication 1999-05-28 21:17:30 +00:00
sfraser%netscape.com f538ed4757 Removed obsolete IID definitions, use GetIID() instead. 1999-05-28 00:20:41 +00:00
sfraser%netscape.com 2239a8a64e Add unit test call to nsIEditor, and implement it in nsText- and nsHTMLEditors. 1999-05-27 04:10:04 +00:00
akkana%netscape.com d2c4947c26 Insert / Paste as Quotation. 1999-05-27 00:08:15 +00:00
cmanske%netscape.com a152976669 Continued UI work: Spell checker fixes, toolbar improvements, popup menus implemented for paragraph style, font face and color, setting font color test UI, etc. 1999-05-26 21:40:51 +00:00
kin%netscape.com 819e65af00 Disabled HACKForceRedraw() calls. Added calls to nsIViewManager::BeginUpdateViewBatch() and nsIViewManager::EndUpdateViewBatch(). 1999-05-26 21:18:12 +00:00
akkana%netscape.com c25fa13fd9 6773: an nsresult was being checked before it was initialized. Appv'd chofmann 1999-05-20 01:48:12 +00:00
kin%netscape.com 26a02881cd Fix for bug #4796: UMR: nsEditor::JoinNodesImpl(). 1999-05-17 18:59:40 +00:00
kin%netscape.com c8136e6dbe Commented out all calls to HACKForceRedraw(). We now call it from
nsEditor::EndTransaction().
1999-05-17 13:31:56 +00:00
jfrancis%netscape.com aaecdca8fb insert list and indent work 1999-05-17 12:22:31 +00:00
mjudge%netscape.com b4419648ae adding in selection ability for images in editor only 1999-05-17 00:21:50 +00:00
akkana%netscape.com b12ce1b2cf 5786: Cut shouldn't do anything when selection is collapsed 1999-05-14 19:24:10 +00:00
rods%netscape.com e4ee930f8c removed reference to nsIDataFlavor and merged nsITransferable and nsIGenericTransferable 1999-05-13 21:53:57 +00:00
sfraser%netscape.com 389fa2053b Fix misplaced ) 1999-05-13 04:42:11 +00:00
tague%netscape.com dce36849c6 Added work around for #5912 1999-05-12 23:23:14 +00:00
sfraser%netscape.com 9897e27ec2 Added file opening functionality 1999-05-12 22:24:47 +00:00
akkana%netscape.com b0b172cff8 Add test for IsDataFlavorSupported for xpfe folks to fix bug 6289 1999-05-11 23:34:40 +00:00
rods%netscape.com 52fabe8f5c Removed static IID defs and am now using GetIID from the interface 1999-05-07 19:39:58 +00:00
dp%netscape.com b5707f7a96 Converting stray UnregisterFactory calls to UnregisterComponent 1999-05-06 01:37:04 +00:00
akkana%netscape.com 1f3151a20d - Rename iDirection enum to ECollapsedSelectionAction
- Initial implementation of Insert HTML
1999-05-05 23:27:17 +00:00
waterson%netscape.com dc4863fc21 Fix nsCOMPtr bustage. 1999-05-05 05:56:58 +00:00
buster%netscape.com cadc514e1d added a param to GetPriorNode and GetNextNode to tell these methods whether to use or skip
non-editable content.
added some comments, turned off some debugging flags.
1999-05-05 04:51:54 +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
tague%netscape.com 83e78f89e5 Fixed bug #5527 (Editor is not able to accumulate successive Japanese input) 1999-05-03 22:57:48 +00:00
sfraser%netscape.com 3b2d7aef50 Memory leak fixes for bug 5870. r mjudge, a chofmann. 1999-05-03 22:26:07 +00:00
mjudge%netscape.com f9a664a948 ok done Simon reviewed 5870. choffman approved for M5 1999-05-03 21:52:19 +00:00
kostello%netscape.com 860a8b9cfa Changed:
nsI*Editor::OutputText(nsString& aOutputString);
nsI*Editor::OutputHTML(nsString& aOutputString);

These methods always returns back a Unicode version of whatever is in the content model. It is the
responsibility of the caller then to call whatever converter is required to convert to the appropriate
charset.

Added:

nsI*Editor::OutputText(nsIOutputStream* aOutputStream, nsString* aCharsetOverride = nsnull)
nsI*Editor::OutputHTML(nsIOutputStream* aOutputStream, nsString* aCharsetOverride = nsnull)

These methods output the the current content model to aOutputStream. The document is encoded using the
document defined charset or if the user passes in a non-null value for aCharsetOverride then this
encoding overrides the encoding used by the document.
1999-05-03 18:48:39 +00:00
mjudge%netscape.com b77df20b6e FIXING M5 BUGS: making weak links to stop extra addreff to presshell. fixing xul to set editor doc type to "content" 1999-04-29 20:21:04 +00:00
kin%netscape.com 6aa1c4b270 Modified nsIEditActionListener to have Will*() and Do*() methods. Added
nsIEditActionListener support to nsEditor.cpp and nsEditor.h.
1999-04-27 17:14:28 +00:00
rods%netscape.com 4f4cf854ea Switch Paste support over to nsCOMPtr 1999-04-23 14:41:32 +00:00
mcafee%netscape.com 8c94674b00 Removing NEW_CLIPBOARD_SUPPORT ifdef. 1999-04-22 05:41:51 +00:00
cmanske%netscape.com 6228e33112 Added simple dialogs for insert link and restructured ui source directories 1999-04-21 18:53:55 +00:00
rods%netscape.com 333dab2402 Added additional comments for Paste 1999-04-19 19:35:55 +00:00
rods%netscape.com c514b25e3b Switched over to new nsIGenericTransferable 1999-04-17 13:51:42 +00:00
sfraser%netscape.com a497442a45 Adapt to fixed selection interface 1999-04-15 20:20:12 +00:00
buster%netscape.com 033ffdd7ed * beginnings of font handling. WIP, I did a big merge today and I'm checking in to synch up, not to announce new functionality here.
* added TextEditorTest.cpp, a unit test module for nsTextEditor.  It's use is actually commented out since my checkin is happening so late due
to all-day build bustage, and I don't have a Mac handy to verify.  With someone's Mac help tomorrow, I can turn it on.
* some minor bug fixes to property handling
1999-04-15 06:06:33 +00:00
sfraser%netscape.com f0acea2009 Updated to conform to new IDL-ized selection interfaces. 1999-04-13 01:33:32 +00:00
akkana%netscape.com ee178adf4a turn off annoying debug print 1999-04-12 22:37:20 +00:00
buster%netscape.com f8f342f19a vastly improved RemoveTextProperty
turned off debug output
1999-04-11 22:55:40 +00:00
mjudge%netscape.com 0f03b6a5f0 adding batch changes around editor BeginTransaction. bug 4593 1999-04-08 01:28:33 +00:00
akkana%netscape.com 84380c250e 4661: Fix win32 crasher inserting an image. Approved by chofmann.
Split nsEditor::DeleteSelectionAndCreateNode into two parts,
so that routines like InsertImage which need to set attributes
on the new node before inserting into the tree can do so.
This is somewhat temporary, since the current method isn't undo-able;
undo will be implemented after M4.
1999-04-08 00:46:10 +00:00
mcafee%netscape.com 616c553b24 Finishing clipboard ifdef so we can remove the old clipboard. 1999-04-07 03:56:07 +00:00
rods%netscape.com ac37096cb3 Commented out the NEW_CLIPBOARD_SUPPORT 1999-04-07 01:35:49 +00:00
rods%netscape.com 46393b489c Turning on new clipboard support 1999-04-06 23:05:59 +00:00
buster%netscape.com 16027c9454 implemented simple cases of RemoveTextProperty. other cases are no-op'd now.
added aFirst out param to GetTextProperty, so the caller can know if the first character has the property in the case of aAny=true and aAll=false.
fixed a bunch of places where result was being used incorrectly as a return val from do_QueryInterface
some minor undo/redo fixes to split and join of interior nodes.
1999-04-04 18:01:35 +00:00
mcafee%netscape.com 6b79f86be1 Initializing some variables, protecting a null reference. 1999-04-02 01:34:05 +00:00
sfraser%netscape.com a84dcaa401 Call the new presshell->SetCaretEnabled() call to show the caret when editing. 1999-04-02 00:01:31 +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
rods%netscape.com 6eb99d23f2 Fixed up new ifdef'ed clipboard support 1999-04-01 14:28:13 +00:00
rods%netscape.com 00af88c97a Minor changes to call to new clipboard 1999-03-26 15:49:28 +00:00
mcafee%netscape.com 2813616d59 Renamed GetTransferable() to GetData() 1999-03-25 23:39:03 +00:00
mcafee%netscape.com dd87f3c4fb initializing a variable to zero. 1999-03-24 09:08:24 +00:00
mcafee%netscape.com f75b5055fd Checking for null references on clipboard, trans (gtk/unix). 1999-03-24 01:43:46 +00:00
rods%netscape.com cb5eefe915 Added code for switching over Clipboard support to new classes
At the moment the are ifdef'ed out
1999-03-23 15:45:58 +00:00
buster%netscape.com a6b14ae03b I fixed the content twiddling part of bug 3778. Mike has a fix for the display part of it in his tree, but determined the risk didn't
justify the benefit.  This is partly true because he and I would have had to integrate tonight before checking in, which we thought
presented some additional risk.  In any event, this bug is fixed for all cases except when the user hits enter at the end of the
document.  That is the only case in text editing when the selection will not render correctly.

Some related problems got fixed as a side benefit of my code changes.  I filed bug 3896.
1999-03-17 06:13:46 +00:00
buster%netscape.com 53b3380a59 fixed join.
made a special case for typing with BR as the selection (as after an InsertBreak.)
made DEL and BACKSPACE at the beginning and end of a text node
fixes bugs 3742 and 3756 (with permission from choff and gkostello)
1999-03-16 16:38:09 +00:00
buster%netscape.com 6ce58013c8 added WillUndo, DidUndo, WillRedo, DidRedo and some supporting code so
the text edit rule object can maintain it's own state more efficiently and correctly.
1999-03-15 05:08:30 +00:00
buster%netscape.com d5932338f7 added PlaceholderTxn. This is an aggregate transaction that sits on the undo stack
and merges in subsequent transactions indiscriminately until it's told to stop.
It also gives the last transaction in its child list a chance to merge the
next transaction.
All this is in support of complex transactions that result in text insertion
being able to collapse into a single undoable event.
Also improved tracking of bogus content node used when document is empty.
1999-03-15 00:57:32 +00:00
kostello%netscape.com ce8451f01d Add HACKForceRedraw() to force a redraw until the drawing
problems are solved in Gecko
1999-03-14 00:31:35 +00:00
buster%netscape.com 458de90002 InsertBreak now works at the beginning of a line. Plus a trivial bug fix. 1999-03-13 05:31:22 +00:00
buster%netscape.com b615bb95b3 deleting the last editable object in a document now causes a bogus placeholder <P>&nbsp;</P> to be added to the document. This node has the
attribute MOZ_EDITOR_BOGUS_NODE set to TRUE.  this solves the problem of when you do a SelectAll then a DEL, you don't have a cursor
or any way to set selection in the document. You do still have the problem that the nbsp is pretty narrow and the frame containing it is hard to hit
with the mouse.  We really need the "set selection to frame nearest the mouse down point" operation.

the intent is for all inserts to look for this node, and if found delete it before the insert.  likewise, all deletes will be no-ops if this node is found.
1999-03-12 02:28:24 +00:00
akkana%netscape.com a293292ac6 Change the reference to the global selection mgr to fix windows build 1999-03-11 00:08:10 +00:00
akkana%netscape.com 174aeed3d2 Comment out debug prints 1999-03-10 22:50:51 +00:00
akkana%netscape.com 57638ea34c Implement editor cut/copy/paste 1999-03-10 22:46:15 +00:00
sfraser%netscape.com 697f88d422 Add Cut, Copy and Paste to editor interfaces and classes, with a stub implemenatioon in nsEditor. 1999-03-10 21:29:41 +00:00
kin%netscape.com 806301a0b5 Changed all occurences of NS_TRANSACTION_MANAGER_FACTORY_CID
and kCTransactionManagerFactoryCID to NS_TRANSACTIONMANAGER_CID
and kCTransactionManagerCID.
1999-03-10 21:27:02 +00:00
buster%netscape.com 7b37b68fb8 Implemented SelectAll.
Added nsEditor::DoInitialInsert() for doing first insert into an empty document.  Try typing into <html><body></body></html>
Added some smarts to DeleteSelectionAndCreateNode() so it only splits the selected node when appropriate (when the selection is not at offset 0 or max)

CreateElementTxn now creates text nodes as well as DOM elements
1999-03-10 19:48:13 +00:00
cmanske%netscape.com 714238a1d4 2nd try to get it right in get editor factory method 1999-03-09 23:06:16 +00:00
cmanske%netscape.com a4506026a7 Fixed editor registration and startup problems 1999-03-09 22:52:24 +00:00
warren%netscape.com 44568143d6 Backed out the nsService template stuff. 1999-03-09 11:49:41 +00:00
warren%netscape.com 4b2d56fbaa nsRepository -> nsIComponentManager changes. 1999-03-09 09:44:27 +00:00
cmanske%netscape.com f2098f2965 Fixed editor classes to do autoregistration correctly and moved target directory to bin/components 1999-03-08 22:46:33 +00:00
cmanske%netscape.com 072ec2c507 Changed editor classes to inherited model. Fixed lots of destructor warnings. 1999-03-05 21:05:35 +00:00
scc%netscape.com 2ec0a397ea rename |IID()| --> |GetIID()| 1999-03-03 19:48:57 +00:00
mjudge%netscape.com 6497120c24 fixes for selection code, batching at correct point 1999-03-03 01:51:59 +00:00
scc%netscape.com b81fb21272 fixed for nsCOMPtr: no construction or assignment from raw COM interface pointers 1999-03-02 22:27:46 +00:00
buster%netscape.com 5333e448a3 implemented GetTextProperty -- only works for bold and italic now,
trivial to add more properties
finished first cut at SetTextProperty.  This triggers lots of crashes in
range/selection code where we're holding onto a stale frame pointer (at
least, that's my best guess.)
synched with Charlie's change-o-rama
added an assert in DeleteTextTxn::Init() checking aNumCharsToDelete vs.
0
  NS_ASSERTION(0!=aNumCharsToDelete, "bad arg, numCharsToDelete");
if the number of chars to delete is 0, we shouldn't be creating a
transaction at all.  I had never seen this condition arise before
Charlie's checkin, I don't know if he introduced it or if it was a
latent bug I just never tripped over before.
1999-03-02 07:52:41 +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
ebina%netscape.com 1b377a9c65 Changing RegisterFactory to use the new API. 1999-02-26 15:59:52 +00:00
warren%netscape.com 44cae3cd3f Changes for RDF component registration using nsRepository. Also changed args to NSGetFactory and friends. 1999-02-26 10:17:14 +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
warren%netscape.com 01dd4f0ed6 Cleaned up nsICollection and nsIEnumerator. Broke out nsIBidirectionalEnumerator. Added ISupportsArray enumerator. Cleaned nsISupportsArray. 1999-02-23 08:10:24 +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
mjudge%netscape.com 8ea394c9ee depricating the ScrollIntoView call. dont need it. the selection modification assures us of scrolling to view after batching. 1999-02-21 03:48:52 +00:00
buster%netscape.com 8efe480686 beginning work on ScrollToFrame 1999-02-20 21:29:27 +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
mcafee%netscape.com 0d9d97bf4f Adding do_QueryInterface() wrapper for Solaris, this is the other part of scc's nsCOMPtr carpool 1999-02-18 23:18:56 +00:00
buster%netscape.com d968e97e64 work in progress 1999-02-18 23:01:06 +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
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
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