Back to index

lightning-sunbird  0.9+nobinonly
nsIMsgWindow.idl
Go to the documentation of this file.
00001 /* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
00002 /* ***** BEGIN LICENSE BLOCK *****
00003  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
00004  *
00005  * The contents of this file are subject to the Mozilla Public License Version
00006  * 1.1 (the "License"); you may not use this file except in compliance with
00007  * the License. You may obtain a copy of the License at
00008  * http://www.mozilla.org/MPL/
00009  *
00010  * Software distributed under the License is distributed on an "AS IS" basis,
00011  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
00012  * for the specific language governing rights and limitations under the
00013  * License.
00014  *
00015  * The Original Code is mozilla.org code.
00016  *
00017  * The Initial Developer of the Original Code is
00018  * Netscape Communications Corporation.
00019  * Portions created by the Initial Developer are Copyright (C) 1998
00020  * the Initial Developer. All Rights Reserved.
00021  *
00022  * Contributor(s):
00023  *
00024  * Alternatively, the contents of this file may be used under the terms of
00025  * either of the GNU General Public License Version 2 or later (the "GPL"),
00026  * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
00027  * in which case the provisions of the GPL or the LGPL are applicable instead
00028  * of those above. If you wish to allow use of your version of this file only
00029  * under the terms of either the GPL or the LGPL, and not to allow others to
00030  * use your version of this file under the terms of the MPL, indicate your
00031  * decision by deleting the provisions above and replace them with the notice
00032  * and other provisions required by the GPL or the LGPL. If you do not delete
00033  * the provisions above, a recipient may use your version of this file under
00034  * the terms of any one of the MPL, the GPL or the LGPL.
00035  *
00036  * ***** END LICENSE BLOCK ***** */
00037 
00038 #include "nsISupports.idl"
00039 #include "nsIMsgStatusFeedback.idl"
00040 #include "nsIMsgFolder.idl"
00041 
00042 interface nsITransactionManager;
00043 interface nsIDocShell;
00044 interface nsIDOMWindowInternal;
00045 interface nsIMsgHeaderSink;
00046 interface nsIPrompt;
00047 interface nsIAuthPrompt;
00048 
00049 /*
00050  *  This interface can be used to set data specific to a window.
00051  */
00052 
00053 /* nsIMsgMessagePaneController is used to control the visiblity of the message pane
00054    including the header overlay and the body. 
00055 */
00056 
00057 [scriptable, uuid(923DE63D-EEB9-4574-850B-322C1A4667ED)]
00058 interface nsIMsgMessagePaneController : nsISupports {
00059     void clearMsgPane();
00060 };
00061 
00062 
00063 [scriptable, uuid(BCE0AB71-11FF-428E-9EDC-69ABAD73b697)]
00064 interface nsIMsgWindow : nsISupports {
00065 
00066   attribute nsIMsgMessagePaneController messagePaneController;
00067   attribute nsIMsgStatusFeedback statusFeedback;
00068   attribute nsIMsgHeaderSink msgHeaderSink;
00069   attribute nsITransactionManager transactionManager;
00070   attribute nsIMsgFolder openFolder;
00071   attribute nsIDocShell rootDocShell;
00072   void displayHTMLInMessagePane(in wstring title, in wstring body, in boolean clearMsgHdr);
00073 
00074   readonly attribute nsIPrompt promptDialog;
00075   attribute string mailCharacterSet;
00076   // Remember the message's charaset was overridden, so it can be inherited (e.g for quoting). 
00077   attribute boolean charsetOverride;
00078 
00079   /* has a running url been stopped? If you care about checking 
00080       this flag, you need to clear it before you start your operation since 
00081       there's no convenient place to clear it.
00082   */
00083   attribute boolean stopped;
00084        
00085   void SetDOMWindow(in nsIDOMWindowInternal window);
00086   void StopUrls();
00087 
00088   void SelectFolder(in string folderUri);
00089   void SelectMessage(in string messageUri);
00090   /* when the msg window is being unloaded from the content window,
00091    * we can use this notification to force a flush on anything the 
00092    * msg window hangs on too. For some reason xpconnect is still hanging
00093    * onto the msg window even though all of our objects have let go of it
00094    * this forces a release...
00095    */
00096   void closeWindow();
00097 };
00098 
00099 [scriptable, uuid(FAD93C80-1AC6-11d4-A8F6-006097222B83)]
00100 interface nsIMsgWindowCommands : nsISupports {
00101 
00102     void SelectFolder(in string folderUri);
00103     void SelectMessage(in string messageUri);
00104 };