/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsISupports.idl" interface nsIArray; interface nsIDOMNode; [scriptable, uuid(fdf23301-4a94-11d3-9ce4-9960496c41bc)] interface nsIEditorMailSupport : nsISupports { /** Paste the text in the OS clipboard at the cursor position, * as a quotation (whose representation is dependant on the editor type), * replacing the selected text (if any). * @param aSelectionType Text or html? */ void pasteAsQuotation(in long aSelectionType); /** Insert a string as quoted text * (whose representation is dependant on the editor type), * replacing the selected text (if any). * @param aQuotedText The actual text to be quoted * @return The node which was inserted */ nsIDOMNode insertAsQuotation(in AString aQuotedText); /** * Inserts a plaintext string at the current location, * with special processing for lines beginning with ">", * which will be treated as mail quotes and inserted * as plaintext quoted blocks. * If the selection is not collapsed, the selection is deleted * and the insertion takes place at the resulting collapsed selection. * * @param aString the string to be inserted */ void insertTextWithQuotations(in DOMString aStringToInsert); /** Paste a string as quoted text, * whose representation is dependant on the editor type, * replacing the selected text (if any) * @param aCitation The "mid" URL of the source message * @param aSelectionType Text or html? */ void pasteAsCitedQuotation(in AString aCitation, in long aSelectionType); /** Insert a string as quoted text * (whose representation is dependant on the editor type), * replacing the selected text (if any), * including, if possible, a "cite" attribute. * @param aQuotedText The actual text to be quoted * @param aCitation The "mid" URL of the source message * @param aInsertHTML Insert as html? (vs plaintext) * @return The node which was inserted */ nsIDOMNode insertAsCitedQuotation(in AString aQuotedText, in AString aCitation, in boolean aInsertHTML); /** * Rewrap the selected part of the document, re-quoting if necessary. * @param aRespectNewlines Try to maintain newlines in the original? */ void rewrap(in boolean aRespectNewlines); /** * Strip any citations in the selected part of the document. */ void stripCites(); /** * Get a list of IMG and OBJECT tags in the current document. */ nsIArray getEmbeddedObjects(); };