X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e81e3883b9dcfbc57ac66dc2ab8b9da443b8561a..a39490aee6e3105ced79e3b595db130f414a46bf:/include/wx/prntbase.h diff --git a/include/wx/prntbase.h b/include/wx/prntbase.h index 05a2284cf3..5e65d6119b 100644 --- a/include/wx/prntbase.h +++ b/include/wx/prntbase.h @@ -33,11 +33,13 @@ class WXDLLEXPORT wxChoice; class WXDLLEXPORT wxPrintout; class WXDLLEXPORT wxPrinterBase; class WXDLLEXPORT wxPrintDialog; +class WXDLLEXPORT wxPrintDialogBase; class WXDLLEXPORT wxPrintPreviewBase; class WXDLLEXPORT wxPreviewCanvas; class WXDLLEXPORT wxPreviewControlBar; class WXDLLEXPORT wxPreviewFrame; class WXDLLEXPORT wxPrintFactory; +class WXDLLEXPORT wxPrintNativeDataBase; //---------------------------------------------------------------------------- // error consts @@ -64,12 +66,20 @@ public: virtual bool HasPrintSetupDialog() = 0; virtual wxPrinterBase *CreatePrinter( wxPrintDialogData* data ) = 0; + virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview, wxPrintout *printout = NULL, wxPrintDialogData *data = NULL ) = 0; virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview, wxPrintout *printout, wxPrintData *data ) = 0; + + virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent, + wxPrintDialogData *data = NULL ) = 0; + virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent, + wxPrintData *data ) = 0; + + virtual wxPrintNativeDataBase *CreatePrintNativeData() = 0; static void SetPrintFactory( wxPrintFactory *factory ); static wxPrintFactory *GetFactory(); @@ -85,12 +95,42 @@ public: { return true; } virtual wxPrinterBase *CreatePrinter( wxPrintDialogData *data ); + virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview, wxPrintout *printout = NULL, wxPrintDialogData *data = NULL ); virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview, wxPrintout *printout, wxPrintData *data ); + + virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent, + wxPrintDialogData *data = NULL ); + virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent, + wxPrintData *data ); + + virtual wxPrintNativeDataBase *CreatePrintNativeData(); +}; + +//---------------------------------------------------------------------------- +// wxPrintNativeDataBase +//---------------------------------------------------------------------------- + +class WXDLLEXPORT wxPrintNativeDataBase: public wxObject +{ +public: + wxPrintNativeDataBase(); + virtual ~wxPrintNativeDataBase() {} + + virtual bool TransferTo( wxPrintData &data ) = 0; + virtual bool TransferFrom( const wxPrintData &data ) = 0; + + virtual bool Ok() const = 0; + + int m_ref; + +private: + DECLARE_CLASS(wxPrintNativeDataBase) + DECLARE_NO_COPY_CLASS(wxPrintNativeDataBase) }; //---------------------------------------------------------------------------- @@ -110,8 +150,7 @@ public: virtual wxWindow *CreateAbortWindow(wxWindow *parent, wxPrintout *printout); virtual void ReportError(wxWindow *parent, wxPrintout *printout, const wxString& message); - wxPrintDialogData& GetPrintDialogData() const - { return (wxPrintDialogData&) m_printDialogData; } + virtual wxPrintDialogData& GetPrintDialogData() const; bool GetAbort() const { return sm_abortIt; } static wxPrinterError GetLastError() { return sm_lastError; } @@ -154,6 +193,8 @@ public: virtual bool Setup(wxWindow *parent); virtual bool Print(wxWindow *parent, wxPrintout *printout, bool prompt = true); virtual wxDC* PrintDialog(wxWindow *parent); + + virtual wxPrintDialogData& GetPrintDialogData() const; protected: wxPrinterBase *m_pimpl;