X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6038ec8eafaf9bab7adf9af4fcc7a5af61bee00a..d8dd214c1bccfd7a7defdbbedd69aef706a8816b:/include/wx/prntbase.h diff --git a/include/wx/prntbase.h b/include/wx/prntbase.h index 95bbc62916..43376b04e7 100644 --- a/include/wx/prntbase.h +++ b/include/wx/prntbase.h @@ -12,10 +12,6 @@ #ifndef _WX_PRNTBASEH__ #define _WX_PRNTBASEH__ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "prntbase.h" -#endif - #include "wx/defs.h" #if wxUSE_PRINTING_ARCHITECTURE @@ -32,8 +28,10 @@ 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; @@ -61,21 +59,26 @@ class WXDLLEXPORT wxPrintFactory public: wxPrintFactory() {} virtual ~wxPrintFactory() {} - + virtual wxPrinterBase *CreatePrinter( wxPrintDialogData* data ) = 0; - - virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview, - wxPrintout *printout = NULL, + + virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview, + wxPrintout *printout = NULL, wxPrintDialogData *data = NULL ) = 0; - virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview, - wxPrintout *printout, + virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview, + wxPrintout *printout, wxPrintData *data ) = 0; - virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent, + virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent, wxPrintDialogData *data = NULL ) = 0; - virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent, + virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent, wxPrintData *data ) = 0; - + + virtual wxPageSetupDialogBase *CreatePageSetupDialog( wxWindow *parent, + wxPageSetupDialogData * data = NULL ) = 0; + + virtual wxDC* CreatePrinterDC( const wxPrintData& data ) = 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; @@ -89,11 +92,12 @@ public: virtual bool HasStatusLine() = 0; virtual wxString CreateStatusLine() = 0; - + virtual wxPrintNativeDataBase *CreatePrintNativeData() = 0; - + static void SetPrintFactory( wxPrintFactory *factory ); static wxPrintFactory *GetFactory(); +private: static wxPrintFactory *m_factory; }; @@ -101,19 +105,24 @@ class WXDLLEXPORT wxNativePrintFactory: public wxPrintFactory { public: virtual wxPrinterBase *CreatePrinter( wxPrintDialogData *data ); - - virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview, - wxPrintout *printout = NULL, + + virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview, + wxPrintout *printout = NULL, wxPrintDialogData *data = NULL ); - virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview, + virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview, wxPrintout *printout, wxPrintData *data ); - - virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent, + + virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent, wxPrintDialogData *data = NULL ); - virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent, + virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent, wxPrintData *data ); - + + virtual wxPageSetupDialogBase *CreatePageSetupDialog( wxWindow *parent, + wxPageSetupDialogData * data = NULL ); + + virtual wxDC* CreatePrinterDC( const wxPrintData& data ); + virtual bool HasPrintSetupDialog(); virtual wxDialog *CreatePrintSetupDialog( wxWindow *parent, wxPrintData *data ); virtual bool HasOwnPrintToFile(); @@ -121,7 +130,7 @@ public: virtual wxString CreatePrinterLine(); virtual bool HasStatusLine(); virtual wxString CreateStatusLine(); - + virtual wxPrintNativeDataBase *CreatePrintNativeData(); }; @@ -134,14 +143,15 @@ 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; - + virtual bool TransferFrom( const wxPrintData &data ) = 0; + + virtual bool Ok() const { return IsOk(); } + virtual bool IsOk() const = 0; + int m_ref; - + private: DECLARE_CLASS(wxPrintNativeDataBase) DECLARE_NO_COPY_CLASS(wxPrintNativeDataBase) @@ -207,12 +217,12 @@ 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; - + private: DECLARE_CLASS(wxPrinter) DECLARE_NO_COPY_CLASS(wxPrinter) @@ -301,15 +311,18 @@ public: const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxT("canvas")); - ~wxPreviewCanvas(); + virtual ~wxPreviewCanvas(); void OnPaint(wxPaintEvent& event); void OnChar(wxKeyEvent &event); - // Responds to colour changes void OnSysColourChanged(wxSysColourChangedEvent& event); private: +#if wxUSE_MOUSEWHEEL + void OnMouseWheel(wxMouseEvent& event); +#endif // wxUSE_MOUSEWHEEL + wxPrintPreviewBase* m_printPreview; DECLARE_CLASS(wxPreviewCanvas) @@ -332,7 +345,7 @@ public: const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, const wxString& name = wxT("frame")); - ~wxPreviewFrame(); + virtual ~wxPreviewFrame(); void OnCloseWindow(wxCloseEvent& event); virtual void Initialize(); @@ -368,8 +381,8 @@ private: #define wxPREVIEW_LAST 32 #define wxPREVIEW_GOTO 64 -#define wxPREVIEW_DEFAULT wxPREVIEW_PREVIOUS|wxPREVIEW_NEXT|wxPREVIEW_ZOOM\ - |wxPREVIEW_FIRST|wxPREVIEW_GOTO|wxPREVIEW_LAST +#define wxPREVIEW_DEFAULT (wxPREVIEW_PREVIOUS|wxPREVIEW_NEXT|wxPREVIEW_ZOOM\ + |wxPREVIEW_FIRST|wxPREVIEW_GOTO|wxPREVIEW_LAST) // Ids for controls #define wxID_PREVIEW_CLOSE 1 @@ -393,7 +406,7 @@ public: const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL, const wxString& name = wxT("panel")); - ~wxPreviewControlBar(); + virtual ~wxPreviewControlBar(); virtual void CreateButtons(); virtual void SetZoomControl(int zoom); @@ -483,11 +496,12 @@ public: virtual int GetZoom() const; virtual wxPrintDialogData& GetPrintDialogData(); - + virtual int GetMaxPage() const; virtual int GetMinPage() const; - virtual bool Ok() const; + virtual bool Ok() const { return IsOk(); } + virtual bool IsOk() const; virtual void SetOk(bool ok); /////////////////////////////////////////////////////////////////////////// @@ -560,18 +574,20 @@ public: virtual void AdjustScrollbars(wxPreviewCanvas *canvas); virtual bool RenderPage(int pageNum); virtual void SetZoom(int percent); + virtual int GetZoom() const; virtual bool Print(bool interactive); virtual void DetermineScaling(); - + virtual wxPrintDialogData& GetPrintDialogData(); - + virtual int GetMaxPage() const; virtual int GetMinPage() const; - virtual bool Ok() const; + virtual bool Ok() const { return IsOk(); } + virtual bool IsOk() const; virtual void SetOk(bool ok); - + private: wxPrintPreviewBase *m_pimpl;