X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c061373dc5ba0ed5e3670af0698154302f1fec2c..4b412d238281008e248bcdebeae4baf4b67191e7:/include/wx/prntbase.h diff --git a/include/wx/prntbase.h b/include/wx/prntbase.h index f567b1bec1..3307ba26af 100644 --- a/include/wx/prntbase.h +++ b/include/wx/prntbase.h @@ -32,13 +32,16 @@ class WXDLLEXPORT wxButton; class WXDLLEXPORT wxChoice; class WXDLLEXPORT wxPrintout; class WXDLLEXPORT wxPrinterBase; -class WXDLLEXPORT wxPrintDialog; class WXDLLEXPORT wxPrintDialogBase; +class WXDLLEXPORT wxPrintDialog; +class WXDLLEXPORT wxPageSetupDialogBase; +class WXDLLEXPORT wxPageSetupDialog; class WXDLLEXPORT wxPrintPreviewBase; class WXDLLEXPORT wxPreviewCanvas; class WXDLLEXPORT wxPreviewControlBar; class WXDLLEXPORT wxPreviewFrame; class WXDLLEXPORT wxPrintFactory; +class WXDLLEXPORT wxPrintNativeDataBase; //---------------------------------------------------------------------------- // error consts @@ -61,9 +64,6 @@ public: wxPrintFactory() {} virtual ~wxPrintFactory() {} - virtual bool HasPageSetupDialog() = 0; - virtual bool HasPrintSetupDialog() = 0; - virtual wxPrinterBase *CreatePrinter( wxPrintDialogData* data ) = 0; virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview, @@ -77,6 +77,25 @@ public: wxPrintDialogData *data = NULL ) = 0; virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent, wxPrintData *data ) = 0; + + virtual wxPageSetupDialogBase *CreatePageSetupDialog( wxWindow *parent, + wxPageSetupDialogData * data = NULL ) = 0; + + // What to do and what to show in the wxPrintDialog + // a) Use the generic print setup dialog or a native one? + virtual bool HasPrintSetupDialog() = 0; + virtual wxDialog *CreatePrintSetupDialog( wxWindow *parent, wxPrintData *data ) = 0; + // b) Provide the "print to file" option ourselves or via print setup? + virtual bool HasOwnPrintToFile() = 0; + // c) Show current printer + virtual bool HasPrinterLine() = 0; + virtual wxString CreatePrinterLine() = 0; + // d) Show Status line for current printer? + virtual bool HasStatusLine() = 0; + virtual wxString CreateStatusLine() = 0; + + + virtual wxPrintNativeDataBase *CreatePrintNativeData() = 0; static void SetPrintFactory( wxPrintFactory *factory ); static wxPrintFactory *GetFactory(); @@ -86,11 +105,6 @@ public: class WXDLLEXPORT wxNativePrintFactory: public wxPrintFactory { public: - virtual bool HasPageSetupDialog() - { return true; } - virtual bool HasPrintSetupDialog() - { return true; } - virtual wxPrinterBase *CreatePrinter( wxPrintDialogData *data ); virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview, @@ -104,6 +118,41 @@ public: wxPrintDialogData *data = NULL ); virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent, wxPrintData *data ); + + virtual wxPageSetupDialogBase *CreatePageSetupDialog( wxWindow *parent, + wxPageSetupDialogData * data = NULL ); + + virtual bool HasPrintSetupDialog(); + virtual wxDialog *CreatePrintSetupDialog( wxWindow *parent, wxPrintData *data ); + virtual bool HasOwnPrintToFile(); + virtual bool HasPrinterLine(); + virtual wxString CreatePrinterLine(); + virtual bool HasStatusLine(); + virtual wxString CreateStatusLine(); + + 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) }; //----------------------------------------------------------------------------