X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/af49c4b8a2d3553e733e71c7dd3911881f4c1a2a..b4e0b521e0878a495c570af3d68b40c82b4a92b3:/include/wx/prntbase.h diff --git a/include/wx/prntbase.h b/include/wx/prntbase.h index 688a957481..7e5810d95c 100644 --- a/include/wx/prntbase.h +++ b/include/wx/prntbase.h @@ -5,14 +5,14 @@ // Modified by: // Created: 01/02/97 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Markus Holzem +// Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_PRNTBASEH__ #define _WX_PRNTBASEH__ -#if defined(__GNUG__) && !defined(__APPLE__) +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "prntbase.h" #endif @@ -53,8 +53,6 @@ enum wxPrinterError class WXDLLEXPORT wxPrinterBase: public wxObject { - DECLARE_CLASS(wxPrinterBase) - public: wxPrinterBase(wxPrintDialogData *data = (wxPrintDialogData *) NULL); virtual ~wxPrinterBase(); @@ -65,26 +63,29 @@ public: wxPrintDialogData& GetPrintDialogData() const { return (wxPrintDialogData&) m_printDialogData; } bool GetAbort() const { return sm_abortIt; } - + static wxPrinterError GetLastError() { return sm_lastError; } /////////////////////////////////////////////////////////////////////////// // OVERRIDES virtual bool Setup(wxWindow *parent) = 0; - virtual bool Print(wxWindow *parent, wxPrintout *printout, bool prompt = TRUE) = 0; + virtual bool Print(wxWindow *parent, wxPrintout *printout, bool prompt = true) = 0; virtual wxDC* PrintDialog(wxWindow *parent) = 0; protected: wxPrintDialogData m_printDialogData; wxPrintout* m_currentPrintout; - + static wxPrinterError sm_lastError; - + public: static wxWindow* sm_abortWindow; static bool sm_abortIt; +private: + DECLARE_CLASS(wxPrinterBase) + DECLARE_NO_COPY_CLASS(wxPrinterBase) }; /* @@ -97,10 +98,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); @@ -149,6 +148,10 @@ private: int m_PPIPrinterY; bool m_isPreview; + +private: + DECLARE_ABSTRACT_CLASS(wxPrintout) + DECLARE_NO_COPY_CLASS(wxPrintout) }; /* @@ -158,18 +161,17 @@ 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); + void OnChar(wxKeyEvent &event); // Responds to colour changes void OnSysColourChanged(wxSysColourChangedEvent& event); @@ -177,7 +179,9 @@ public: private: wxPrintPreviewBase* m_printPreview; + DECLARE_CLASS(wxPreviewCanvas) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxPreviewCanvas) }; /* @@ -187,29 +191,33 @@ private: class WXDLLEXPORT wxPreviewFrame: public wxFrame { - DECLARE_CLASS(wxPreviewFrame) - public: wxPreviewFrame(wxPrintPreviewBase *preview, - wxFrame *parent, - const wxString& title = "Print Preview", + wxWindow *parent, + 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(); + + inline wxPreviewControlBar* GetControlBar() const { return m_controlBar; } + protected: - wxWindow* m_previewCanvas; + wxPreviewCanvas* m_previewCanvas; wxPreviewControlBar* m_controlBar; wxPrintPreviewBase* m_printPreview; + wxWindowDisabler* m_windowDisabler; private: + DECLARE_CLASS(wxPreviewFrame) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxPreviewFrame) }; /* @@ -250,8 +258,8 @@ public: wxWindow *parent, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - long style = 0, - const wxString& name = "panel"); + long style = wxTAB_TRAVERSAL, + const wxString& name = wxT("panel")); ~wxPreviewControlBar(); virtual void CreateButtons(); @@ -260,19 +268,19 @@ public: virtual wxPrintPreviewBase *GetPrintPreview() const { return m_printPreview; } - void OnPrint(wxCommandEvent& event); void OnWindowClose(wxCommandEvent& event); void OnNext(); void OnPrevious(); void OnFirst(); void OnLast(); void OnGoto(); + void OnPrint(); + void OnPrintButton(wxCommandEvent& WXUNUSED(event)) { OnPrint(); } 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); @@ -290,6 +298,7 @@ protected: private: DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxPreviewControlBar) }; /* @@ -318,16 +327,19 @@ public: wxPrintout *GetPrintoutForPrinting() const { return m_printPrintout; }; void SetFrame(wxFrame *frame) { m_previewFrame = frame; }; - void SetCanvas(wxWindow *canvas) { m_previewCanvas = canvas; }; + void SetCanvas(wxPreviewCanvas *canvas) { m_previewCanvas = canvas; }; virtual wxFrame *GetFrame() const { return m_previewFrame; } - virtual wxWindow *GetCanvas() const { return m_previewCanvas; } + virtual wxPreviewCanvas *GetCanvas() const { return m_previewCanvas; } // The preview canvas should call this from OnPaint - virtual bool PaintPage(wxWindow *canvas, wxDC& dc); + virtual bool PaintPage(wxPreviewCanvas *canvas, wxDC& dc); // This draws a blank page onto the preview canvas - virtual bool DrawBlankPage(wxWindow *canvas, wxDC& dc); + virtual bool DrawBlankPage(wxPreviewCanvas *canvas, wxDC& dc); + + // Adjusts the scrollbars for the current scale + virtual void AdjustScrollbars(wxPreviewCanvas *canvas); // This is called by wxPrintPreview to render a page into a wxMemoryDC. virtual bool RenderPage(int pageNum); @@ -358,7 +370,7 @@ public: protected: wxPrintDialogData m_printDialogData; - wxWindow* m_previewCanvas; + wxPreviewCanvas* m_previewCanvas; wxFrame* m_previewFrame; wxBitmap* m_previewBitmap; wxPrintout* m_previewPrintout; @@ -378,6 +390,8 @@ protected: private: void Init(wxPrintout *printout, wxPrintout *printoutForPrinting); + + DECLARE_NO_COPY_CLASS(wxPrintPreviewBase) }; /* @@ -392,8 +406,8 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, - const wxString& name = "dialog") - : wxDialog(parent, -1, title, pos, size, style, name) + const wxString& name = wxT("dialog")) + : wxDialog(parent, wxID_ANY, title, pos, size, style, name) { } @@ -401,6 +415,7 @@ public: private: DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxPrintAbortDialog) }; #endif // wxUSE_PRINTING_ARCHITECTURE