X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d427503c3696486ef84cd0e5081884ccd8d6b434..099d4217df87a8b84e514c3c31550d21a8d2b8c2:/include/wx/prntbase.h diff --git a/include/wx/prntbase.h b/include/wx/prntbase.h index 98e4ce8f0a..d8357cb11b 100644 --- a/include/wx/prntbase.h +++ b/include/wx/prntbase.h @@ -12,7 +12,7 @@ #ifndef _WX_PRNTBASEH__ #define _WX_PRNTBASEH__ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(__APPLE__) #pragma interface "prntbase.h" #endif @@ -38,24 +38,33 @@ class WXDLLEXPORT wxPreviewCanvas; class WXDLLEXPORT wxPreviewControlBar; class WXDLLEXPORT wxPreviewFrame; + +enum wxPrinterError +{ + wxPRINTER_NO_ERROR = 0, + wxPRINTER_CANCELLED, + wxPRINTER_ERROR +}; + + /* * Represents the printer: manages printing a wxPrintout object */ class WXDLLEXPORT wxPrinterBase: public wxObject { - DECLARE_CLASS(wxPrinterBase) - public: wxPrinterBase(wxPrintDialogData *data = (wxPrintDialogData *) NULL); virtual ~wxPrinterBase(); virtual wxWindow *CreateAbortWindow(wxWindow *parent, wxPrintout *printout); - virtual void ReportError(wxWindow *parent, wxPrintout *printout, char *message); + virtual void ReportError(wxWindow *parent, wxPrintout *printout, const wxString& message); wxPrintDialogData& GetPrintDialogData() const { return (wxPrintDialogData&) m_printDialogData; } bool GetAbort() const { return sm_abortIt; } + + static wxPrinterError GetLastError() { return sm_lastError; } /////////////////////////////////////////////////////////////////////////// // OVERRIDES @@ -67,10 +76,15 @@ public: protected: wxPrintDialogData m_printDialogData; wxPrintout* m_currentPrintout; + + static wxPrinterError sm_lastError; + public: static wxWindow* sm_abortWindow; static bool sm_abortIt; +private: + DECLARE_CLASS(wxPrinterBase) }; /* @@ -83,10 +97,8 @@ public: class WXDLLEXPORT wxPrintout: public wxObject { -DECLARE_ABSTRACT_CLASS(wxPrintout) - public: - wxPrintout(const wxString& title = "Printout"); + wxPrintout(const wxString& title = wxT("Printout")); virtual ~wxPrintout(); virtual bool OnBeginDocument(int startPage, int endPage); @@ -135,6 +147,9 @@ private: int m_PPIPrinterY; bool m_isPreview; + +private: + DECLARE_ABSTRACT_CLASS(wxPrintout) }; /* @@ -144,15 +159,13 @@ private: class WXDLLEXPORT wxPreviewCanvas: public wxScrolledWindow { - DECLARE_CLASS(wxPreviewCanvas) - public: wxPreviewCanvas(wxPrintPreviewBase *preview, wxWindow *parent, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, - const wxString& name = "canvas"); + const wxString& name = wxT("canvas")); ~wxPreviewCanvas(); void OnPaint(wxPaintEvent& event); @@ -163,6 +176,7 @@ public: private: wxPrintPreviewBase* m_printPreview; + DECLARE_CLASS(wxPreviewCanvas) DECLARE_EVENT_TABLE() }; @@ -173,29 +187,27 @@ private: class WXDLLEXPORT wxPreviewFrame: public wxFrame { - DECLARE_CLASS(wxPreviewFrame) - public: wxPreviewFrame(wxPrintPreviewBase *preview, wxFrame *parent, - const wxString& title = "Print Preview", + const wxString& title = wxT("Print Preview"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, - const wxString& name = "frame"); + const wxString& name = wxT("frame")); ~wxPreviewFrame(); void OnCloseWindow(wxCloseEvent& event); virtual void Initialize(); virtual void CreateCanvas(); virtual void CreateControlBar(); - protected: wxWindow* m_previewCanvas; wxPreviewControlBar* m_controlBar; wxPrintPreviewBase* m_printPreview; private: + DECLARE_CLASS(wxPreviewFrame) DECLARE_EVENT_TABLE() }; @@ -210,8 +222,12 @@ private: #define wxPREVIEW_PREVIOUS 2 #define wxPREVIEW_NEXT 4 #define wxPREVIEW_ZOOM 8 +#define wxPREVIEW_FIRST 16 +#define wxPREVIEW_LAST 32 +#define wxPREVIEW_GOTO 64 -#define wxPREVIEW_DEFAULT wxPREVIEW_PREVIOUS|wxPREVIEW_NEXT|wxPREVIEW_ZOOM +#define wxPREVIEW_DEFAULT wxPREVIEW_PREVIOUS|wxPREVIEW_NEXT|wxPREVIEW_ZOOM\ + |wxPREVIEW_FIRST|wxPREVIEW_GOTO|wxPREVIEW_LAST // Ids for controls #define wxID_PREVIEW_CLOSE 1 @@ -219,6 +235,9 @@ private: #define wxID_PREVIEW_PREVIOUS 3 #define wxID_PREVIEW_PRINT 4 #define wxID_PREVIEW_ZOOM 5 +#define wxID_PREVIEW_FIRST 6 +#define wxID_PREVIEW_LAST 7 +#define wxID_PREVIEW_GOTO 8 class WXDLLEXPORT wxPreviewControlBar: public wxPanel { @@ -231,7 +250,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, - const wxString& name = "panel"); + const wxString& name = wxT("panel")); ~wxPreviewControlBar(); virtual void CreateButtons(); @@ -242,8 +261,17 @@ public: void OnPrint(wxCommandEvent& event); void OnWindowClose(wxCommandEvent& event); - void OnNext(wxCommandEvent& event); - void OnPrevious(wxCommandEvent& event); + void OnNext(); + void OnPrevious(); + void OnFirst(); + void OnLast(); + void OnGoto(); + void OnNextButton(wxCommandEvent & WXUNUSED(event)) { OnNext(); } + void OnPreviousButton(wxCommandEvent & WXUNUSED(event)) { OnPrevious(); } + void OnFirstButton(wxCommandEvent & WXUNUSED(event)) { OnFirst(); } + void OnLastButton(wxCommandEvent & WXUNUSED(event)) { OnLast(); } + void OnGotoButton(wxCommandEvent & WXUNUSED(event)) { OnGoto(); } + void OnChar(wxKeyEvent &event); void OnZoom(wxCommandEvent& event); void OnPaint(wxPaintEvent& event); @@ -254,6 +282,9 @@ protected: wxButton* m_previousPageButton; wxButton* m_printButton; wxChoice* m_zoomControl; + wxButton* m_firstPageButton; + wxButton* m_lastPageButton; + wxButton* m_gotoPageButton; long m_buttonFlags; private: @@ -342,6 +373,7 @@ protected: int m_maxPage; bool m_isOk; + bool m_printingPrepared; // Called OnPreparePrinting? private: void Init(wxPrintout *printout, wxPrintout *printoutForPrinting); @@ -359,7 +391,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, - const wxString& name = "dialog") + const wxString& name = wxT("dialog")) : wxDialog(parent, -1, title, pos, size, style, name) { }