]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/print.h
Fixed typo in wxFileName::GetHumanReadableSize docs.
[wxWidgets.git] / interface / wx / print.h
index 8ad4c4512b404b2c7a1c5a6a01df77a0dd5df0d0..fa934e885931fb5a059ded2b01a838aa7407c3c7 100644 (file)
@@ -3,12 +3,11 @@
 // Purpose:     interface of wxPreviewControlBar
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
     @class wxPreviewControlBar
-    @wxheader{print.h}
 
     This is the default implementation of the preview control bar, a panel
     with buttons and a zoom control.
@@ -56,29 +55,29 @@ public:
     /**
         Destructor.
     */
-    ~wxPreviewControlBar();
+    virtual ~wxPreviewControlBar();
 
     /**
         Creates buttons, according to value of the button style flags.
 
         @todo which flags??
     */
-    void CreateButtons();
+    virtual void CreateButtons();
 
     /**
         Gets the print preview object associated with the control bar.
     */
-    wxPrintPreview* GetPrintPreview();
+    virtual wxPrintPreviewBase* GetPrintPreview() const;
 
     /**
         Gets the current zoom setting in percent.
     */
-    int GetZoomControl();
+    virtual int GetZoomControl();
 
     /**
         Sets the zoom control.
     */
-    void SetZoomControl(int percent);
+    virtual void SetZoomControl(int percent);
 
 };
 
@@ -86,7 +85,6 @@ public:
 
 /**
     @class wxPreviewCanvas
-    @wxheader{print.h}
 
     A preview canvas is the default canvas used by the print preview
     system to display the preview.
@@ -111,7 +109,7 @@ public:
     /**
         Destructor.
     */
-    ~wxPreviewCanvas();
+    virtual ~wxPreviewCanvas();
 
     /**
         Calls wxPrintPreview::PaintPage() to refresh the canvas.
@@ -123,7 +121,6 @@ public:
 
 /**
     @class wxPreviewFrame
-    @wxheader{print.h}
 
     This class provides the default method of managing the print preview interface.
     Member functions may be overridden to replace functionality, or the
@@ -143,17 +140,17 @@ public:
         Pass a print preview object plus other normal frame arguments.
         The print preview object will be destroyed by the frame when it closes.
     */
-    wxPreviewFrame(wxPrintPreview* preview, wxWindow* parent,
-                   const wxString& title,
+    wxPreviewFrame(wxPrintPreviewBase* preview, wxWindow* parent,
+                   const wxString& title = "Print Preview",
                    const wxPoint& pos = wxDefaultPosition,
-                   const wxSize& size size = wxDefaultSize,
+                   const wxSize& size = wxDefaultSize,
                    long style = wxDEFAULT_FRAME_STYLE,
-                   const wxString& name = "frame");
+                   const wxString& name = wxFrameNameStr);
 
     /**
         Destructor.
     */
-    ~wxPreviewFrame();
+    virtual ~wxPreviewFrame();
 
     /**
         Creates a wxPreviewCanvas.
@@ -161,7 +158,7 @@ public:
         Override this function to allow a user-defined preview canvas object
         to be created.
     */
-    void CreateCanvas();
+    virtual void CreateCanvas();
 
     /**
         Creates a wxPreviewControlBar.
@@ -169,7 +166,7 @@ public:
         Override this function to allow a user-defined preview control bar object
         to be created.
     */
-    void CreateControlBar();
+    virtual void CreateControlBar();
 
     /**
         Creates the preview canvas and control bar, and calls wxWindow::MakeModal(@true)
@@ -177,7 +174,7 @@ public:
 
         This function should be called by the application prior to showing the frame.
     */
-    void Initialize();
+    virtual void Initialize();
 
     /**
         Enables the other frames in the application, and deletes the print preview
@@ -191,7 +188,6 @@ public:
 
 /**
     @class wxPrintPreview
-    @wxheader{print.h}
 
     Objects of this class manage the print preview process. The object is passed
     a wxPrintout object, and the wxPrintPreview object itself is passed to
@@ -235,8 +231,8 @@ public:
         Use IsOk() to check whether the wxPrintPreview object was created correctly.
     */
     wxPrintPreview(wxPrintout* printout,
-                   wxPrintout* printoutForPrinting,
-                   wxPrintData* data = NULL);
+                   wxPrintout* printoutForPrinting = NULL,
+                   wxPrintDialogData* data = NULL);
 
     /**
         Destructor.
@@ -249,40 +245,40 @@ public:
     /**
         Gets the preview window used for displaying the print preview image.
     */
-    wxPreviewCanvas* GetCanvas();
+    virtual wxPreviewCanvas* GetCanvas() const;
 
     /**
         Gets the page currently being previewed.
     */
-    int GetCurrentPage();
+    virtual int GetCurrentPage() const;
 
     /**
         Gets the frame used for displaying the print preview canvas
         and control bar.
     */
-    wxFrame* GetFrame();
+    virtual wxFrame* GetFrame() const;
 
     /**
         Returns the maximum page number.
     */
-    int GetMaxPage();
+    virtual int GetMaxPage() const;
 
     /**
         Returns the minimum page number.
     */
-    int GetMinPage();
+    virtual int GetMinPage() const;
 
     /**
         Gets the preview printout object associated with the wxPrintPreview object.
     */
-    wxPrintout* GetPrintout();
+    virtual wxPrintout* GetPrintout() const;
 
     /**
         Gets the printout object to be used for printing from within the preview
         interface,
         or @NULL if none exists.
     */
-    wxPrintout* GetPrintoutForPrinting();
+    virtual wxPrintout* GetPrintoutForPrinting() const;
 
     /**
         Returns @true if the wxPrintPreview is valid, @false otherwise.
@@ -290,7 +286,7 @@ public:
         It could return @false if there was a problem initializing the printer
         device context (current printer not set, for example).
     */
-    bool IsOk();
+    virtual bool IsOk() const;
 
     /**
         This refreshes the preview window with the preview image.
@@ -299,7 +295,7 @@ public:
         The implementation simply blits the preview bitmap onto
         the canvas, creating a new preview bitmap if none exists.
     */
-    bool PaintPage(wxPreviewCanvas* canvas, wxDC dc);
+    virtual bool PaintPage(wxPreviewCanvas* canvas, wxDC& dc);
 
     /**
         Invokes the print process using the second wxPrintout object
@@ -310,45 +306,44 @@ public:
         Returns @false in case of error -- call wxPrinter::GetLastError()
         to get detailed information about the kind of the error.
     */
-    bool Print(bool prompt);
+    virtual bool Print(bool prompt);
 
     /**
         Renders a page into a wxMemoryDC. Used internally by wxPrintPreview.
     */
-    bool RenderPage(int pageNum);
+    virtual bool RenderPage(int pageNum);
 
     /**
         Sets the window to be used for displaying the print preview image.
     */
-    void SetCanvas(wxPreviewCanvas* window);
+    virtual void SetCanvas(wxPreviewCanvas* window);
 
     /**
         Sets the current page to be previewed.
     */
-    void SetCurrentPage(int pageNum);
+    virtual bool SetCurrentPage(int pageNum);
 
     /**
         Sets the frame to be used for displaying the print preview canvas
         and control bar.
     */
-    void SetFrame(wxFrame* frame);
+    virtual void SetFrame(wxFrame* frame);
 
     /**
         Associates a printout object with the wxPrintPreview object.
     */
-    void SetPrintout(wxPrintout* printout);
+    virtual void SetPrintout(wxPrintout* printout);
 
     /**
         Sets the percentage preview zoom, and refreshes the preview canvas accordingly.
     */
-    void SetZoom(int percent);
+    virtual void SetZoom(int percent);
 };
 
 
 
 /**
     @class wxPrinter
-    @wxheader{print.h}
 
     This class represents the Windows or PostScript printer, and is the vehicle
     through which printing may be launched by an application.
@@ -378,12 +373,12 @@ public:
     /**
         Creates the default printing abort window, with a cancel button.
     */
-    void CreateAbortWindow(wxWindow* parent, wxPrintout* printout);
+    virtual wxWindow* CreateAbortWindow(wxWindow* parent, wxPrintout* printout);
 
     /**
         Returns @true if the user has aborted the print job.
     */
-    bool GetAbort();
+    bool GetAbort() const;
 
     /**
         Return last error. Valid after calling Print(), PrintDialog() or
@@ -405,7 +400,7 @@ public:
         Returns the @ref overview_printing_printdata "print data" associated with
         the printer object.
     */
-    wxPrintDialogData& GetPrintDialogData();
+    virtual wxPrintDialogData& GetPrintDialogData() const;
 
     /**
         Starts the printing process. Provide a parent window, a user-defined wxPrintout
@@ -416,8 +411,8 @@ public:
         context (current printer not set, for example) or the user cancelled printing.
         Call GetLastError() to get detailed information about the kind of the error.
     */
-    bool Print(wxWindow* parent, wxPrintout* printout,
-               bool prompt = true);
+    virtual bool Print(wxWindow* parent, wxPrintout* printout,
+                       bool prompt = true);
 
     /**
         Invokes the print dialog.
@@ -429,13 +424,13 @@ public:
         @remarks
         The application must delete this device context to avoid a memory leak.
     */
-    wxDC* PrintDialog(wxWindow* parent);
+    virtual wxDC* PrintDialog(wxWindow* parent);
 
     /**
         Default error-reporting function.
     */
-    void ReportError(wxWindow* parent, wxPrintout* printout,
-                     const wxString& message);
+    virtual void ReportError(wxWindow* parent, wxPrintout* printout,
+                             const wxString& message);
 
     /**
         Invokes the print setup dialog.
@@ -444,14 +439,13 @@ public:
         The setup dialog is obsolete from Windows 95, though retained
         for backward compatibility.
     */
-    bool Setup(wxWindow* parent);
+    virtual bool Setup(wxWindow* parent);
 };
 
 
 
 /**
     @class wxPrintout
-    @wxheader{print.h}
 
     This class encapsulates the functionality of printing out an application document.
 
@@ -496,7 +490,7 @@ public:
     /**
         Destructor.
     */
-    ~wxPrintout();
+    virtual ~wxPrintout();
 
     /**
         Set the user scale and device origin of the wxDC associated with this wxPrintout
@@ -550,7 +544,7 @@ public:
         This will be a wxPrinterDC if printing under Windows or Mac, a wxPostScriptDC
         if printing on other platforms, and a wxMemoryDC if previewing.
     */
-    wxDC* GetDC();
+    wxDC* GetDC() const;
 
     /**
         Return the rectangle corresponding to the page margins specified by the given
@@ -560,7 +554,7 @@ public:
         The page margins are specified with respect to the edges of the paper on all
         platforms.
     */
-    wxRect GetLogicalPageMarginsRect(const wxPageSetupDialogData& pageSetupData);
+    wxRect GetLogicalPageMarginsRect(const wxPageSetupDialogData& pageSetupData) const;
 
     /**
         Return the rectangle corresponding to the page in the associated wxDC 's
@@ -570,13 +564,13 @@ public:
         On other platforms and PostScript printing, this will be the full paper
         rectangle.
     */
-    wxRect GetLogicalPageRect();
+    wxRect GetLogicalPageRect() const;
 
     /**
         Return the rectangle corresponding to the paper in the associated wxDC 's
         logical coordinates for the current user scale and device origin.
     */
-    wxRect GetLogicalPaperRect();
+    wxRect GetLogicalPaperRect() const;
 
     /**
         Returns the number of pixels per logical inch of the printer device context.
@@ -592,8 +586,13 @@ public:
         @beginWxPythonOnly
         This method returns the output-only parameters as a tuple.
         @endWxPythonOnly
+
+        @beginWxPerlOnly
+        In wxPerl this method takes no arguments and returns a
+        2-element list (w, h).
+        @endWxPerlOnly
     */
-    void GetPPIPrinter(int* w, int* h);
+    void GetPPIPrinter(int* w, int* h) const;
 
     /**
         Returns the number of pixels per logical inch of the screen device context.
@@ -607,8 +606,13 @@ public:
         @beginWxPythonOnly
         This method returns the output-only parameters as a tuple.
         @endWxPythonOnly
+
+        @beginWxPerlOnly
+        In wxPerl this method takes no arguments and returns a
+        2-element list (w, h).
+        @endWxPerlOnly
     */
-    void GetPPIScreen(int* w, int* h);
+    void GetPPIScreen(int* w, int* h) const;
 
     /**
         Called by the framework to obtain information from the application about minimum
@@ -627,8 +631,8 @@ public:
         four integers.
         @endWxPythonOnly
     */
-    void GetPageInfo(int* minPage, int* maxPage, int* pageFrom,
-                     int* pageTo);
+    virtual void GetPageInfo(int* minPage, int* maxPage, int* pageFrom,
+                             int* pageTo);
 
     /**
         Returns the size of the printer page in millimetres.
@@ -636,8 +640,13 @@ public:
         @beginWxPythonOnly
         This method returns the output-only parameters as a tuple.
         @endWxPythonOnly
+
+        @beginWxPerlOnly
+        In wxPerl this method takes no arguments and returns a
+        2-element list (w, h).
+        @endWxPerlOnly
     */
-    void GetPageSizeMM(int* w, int* h);
+    void GetPageSizeMM(int* w, int* h) const;
 
     /**
         Returns the size of the printer page in pixels, called the page rectangle.
@@ -652,8 +661,13 @@ public:
         @beginWxPythonOnly
         This method returns the output-only parameters as a tuple.
         @endWxPythonOnly
+
+        @beginWxPerlOnly
+        In wxPerl this method takes no arguments and returns a
+        2-element list (w, h).
+        @endWxPerlOnly
     */
-    void GetPageSizePixels(int* w, int* h);
+    void GetPageSizePixels(int* w, int* h) const;
 
     /**
         Returns the rectangle that corresponds to the entire paper in pixels, called the
@@ -674,14 +688,14 @@ public:
         area were printable, so this function will return the same rectangle as the page
         rectangle.
     */
-    wxRect GetPaperRectPixels();
+    wxRect GetPaperRectPixels() const;
 
     /**
         Returns the title of the printout.
 
         @todo the python note here was wrong
     */
-    wxString GetTitle();
+    virtual wxString GetTitle() const;
 
     /**
         Should be overridden to return @true if the document has this page, or @false
@@ -690,12 +704,29 @@ public:
         Returning @false signifies the end of the document. By default,
         HasPage behaves as if the document has only one page.
     */
-    bool HasPage(int pageNum);
+    virtual bool HasPage(int pageNum);
 
     /**
         Returns @true if the printout is currently being used for previewing.
+
+        @see GetPreview()
     */
-    bool IsPreview();
+    virtual bool IsPreview() const;
+
+    /**
+        Returns the associated preview object if any.
+
+        If this printout object is used for previewing, returns the associated
+        wxPrintPreview. Otherwise returns @NULL.
+
+        The returned pointer is not owned by the printout and must not be
+        deleted.
+
+        @see IsPreview()
+
+        @since 2.9.1.
+     */
+    wxPrintPreview *GetPreview() const;
 
     /**
         Set the user scale and device origin of the wxDC associated with this wxPrintout
@@ -763,7 +794,7 @@ public:
          be called by using the method <tt>base_OnBeginDocument(startPage, endPage)</tt>.
         @endWxPythonOnly
     */
-    bool OnBeginDocument(int startPage, int endPage);
+    virtual bool OnBeginDocument(int startPage, int endPage);
 
     /**
         Called by the framework at the start of printing.
@@ -771,7 +802,7 @@ public:
         OnBeginPrinting() is called once for every print job
         (regardless of how many copies are being printed).
     */
-    void OnBeginPrinting();
+    virtual void OnBeginPrinting();
 
     /**
         Called by the framework at the end of document printing.
@@ -782,7 +813,7 @@ public:
         The base OnEndDocument() must be called from within the overridden function,
         since it calls wxDC::EndDoc().
     */
-    void OnEndDocument();
+    virtual void OnEndDocument();
 
     /**
         Called by the framework at the end of printing.
@@ -790,7 +821,7 @@ public:
         OnEndPrinting is called once for every print job
         (regardless of how many copies are being printed).
     */
-    void OnEndPrinting();
+    virtual void OnEndPrinting();
 
     /**
         Called once by the framework before any other demands are made of the
@@ -799,13 +830,13 @@ public:
         This gives the object an opportunity to calculate the number of pages
         in the document, for example.
     */
-    void OnPreparePrinting();
+    virtual void OnPreparePrinting();
 
     /**
         Called by the framework when a page should be printed. Returning @false cancels
         the print job.
     */
-    bool OnPrintPage(int pageNum);
+    virtual bool OnPrintPage(int pageNum) = 0;
 
     /**
         Set the device origin of the associated wxDC so that the current logical point