Mozilla/mozilla/mailnews/base/src/nsMsgPrintEngine.h
rods%netscape.com 20b4083174 1) Removes the arg of nsIDOMWindow in the nsIWebBrowserPrint calls
2) Adds a couple of new methods and an attr to nsIWebBrowserPrint (navigate, is frameset, & exitPP)
3) Removes all but one method from nsIContentViewerFile.idl/h the remaining call is for print regression testing
4) Removes the "static" implementation of nsIContentViewerFile.h
5) Fixed up nsIContentViewerFile.idl and turned it back on so it is now generating the header file
6) Removed all uses of nsIContentViewerFile.h except for the WebCrawler (uses it for Printing Regression testing)
7) nsDocumentViewer.cpp now implements nsIWebBrowserPrint.idl this makes it easier to add new print functionality in one place
8) You can now ask an instance of the ContentViewer for a nsIWebBrowserPrint to do printing (it retruns the nsIWebBrowserPrint interface implemented by the nsDocumentViewer)
9) Anybody who was using nsIContentViewerFile to print will now use nsIWebBrowserPrint
10) You can now do a "GetInterface()" on a GlobalWindow for a nsIWebBrowserPrint
11) The browser UI now uses the GetInterface on the GlobalWindow to get a nsIWebBrowserPrint object to do printing and this can be used for all printing functionality
Bug 120622 r=dcone sr=waterson


git-svn-id: svn://10.0.0.236/trunk@113419 18797224-902f-48f8-a5cc-f745e15eee43
2002-02-01 14:52:11 +00:00

81 lines
2.5 KiB
C++

/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "MPL"); you may not use this file
* except in compliance with the MPL. You may obtain a copy of
* the MPL at http://www.mozilla.org/MPL/
*
* Software distributed under the MPL is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the MPL for the specific language governing
* rights and limitations under the MPL.
*
* The Original Code is XMLterm.
*
* The Initial Developer of the Original Code is Ramalingam Saravanan.
* Portions created by Ramalingam Saravanan <svn@xmlterm.org> are
* Copyright (C) 1999 Ramalingam Saravanan. All Rights Reserved.
*
* Contributor(s):
*/
// nsMsgPrintEngine.h: declaration of nsMsgPrintEngine class
// implementing mozISimpleContainer,
// which provides a DocShell container for use in simple programs
// using the layout engine
#include "nscore.h"
#include "nsCOMPtr.h"
#include "nsIDocShell.h"
#include "nsVoidArray.h"
#include "nsIDocShell.h"
#include "nsIMsgPrintEngine.h"
#include "nsIScriptGlobalObject.h"
#include "nsIStreamListener.h"
#include "nsIWebProgressListener.h"
#include "nsIMsgStatusFeedback.h"
#include "nsIStringBundle.h"
#include "nsIWebBrowserPrint.h"
#include "nsIWebProgressListener.h"
#include "nsWeakReference.h"
#include "nsIPrintSettings.h"
class nsMsgPrintEngine : public nsIMsgPrintEngine,
public nsIWebProgressListener,
public nsSupportsWeakReference {
public:
nsMsgPrintEngine();
virtual ~nsMsgPrintEngine();
// nsISupports
NS_DECL_ISUPPORTS
// nsIMsgPrintEngine interface
NS_DECL_NSIMSGPRINTENGINE
// For nsIWebProgressListener
NS_DECL_NSIWEBPROGRESSLISTENER
protected:
NS_IMETHOD FireThatLoadOperation(nsString *uri);
NS_IMETHOD StartNextPrintOperation();
void InitializeDisplayCharset();
void SetupObserver();
nsresult SetStatusMessage(PRUnichar *aMsgString);
PRUnichar *GetString(const PRUnichar *aStringName);
nsCOMPtr<nsIDocShell> mDocShell;
nsCOMPtr<nsIDOMWindowInternal> mWindow;
PRInt32 mURICount;
nsStringArray mURIArray;
PRInt32 mCurrentlyPrintingURI;
nsCOMPtr<nsIContentViewer> mContentViewer;
nsCOMPtr<nsIStringBundle> mStringBundle; // String bundles...
nsCOMPtr<nsIMsgStatusFeedback> mFeedback; // Tell the user something why don't ya'
nsCOMPtr<nsIWebBrowserPrint> mWebBrowserPrint;
nsCOMPtr<nsIPrintSettings> mPrintSettings;
};