X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/12bdd77c85888f29ed94e23ba28d31d99a522598..8e77fd8bca165aab9709649d79a7cbc6a172d4e1:/include/wx/printdlg.h diff --git a/include/wx/printdlg.h b/include/wx/printdlg.h index 32d9821515..cd21282f13 100644 --- a/include/wx/printdlg.h +++ b/include/wx/printdlg.h @@ -1,33 +1,121 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/printdlg.h +// Purpose: Base header and class for print dialogs +// Author: Julian Smart +// Modified by: +// Created: +// RCS-ID: $Id$ +// Copyright: (c) Julian Smart +// Licence: wxWindows Licence +///////////////////////////////////////////////////////////////////////////// + #ifndef _WX_PRINTDLG_H_BASE_ #define _WX_PRINTDLG_H_BASE_ -#if defined(__WXUNIVERSAL__) && (!defined(__WXMSW__) || wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW) -#include "wx/generic/prntdlgg.h" -#elif defined(__WXMSW__) -#include "wx/msw/printdlg.h" -#elif defined(__WXMOTIF__) -#include "wx/generic/prntdlgg.h" -#elif defined(__WXGTK__) -#include "wx/generic/prntdlgg.h" -#elif defined(__WXX11__) -#include "wx/generic/prntdlgg.h" -#elif defined(__WXMGL__) -#include "wx/generic/prntdlgg.h" -#elif defined(__WXMAC__) -#include "wx/mac/printdlg.h" -#elif defined(__WXPM__) -#include "wx/generic/prntdlgg.h" -#endif +#include "wx/defs.h" + +#if wxUSE_PRINTING_ARCHITECTURE + +#include "wx/event.h" +#include "wx/dialog.h" +#include "wx/intl.h" +#include "wx/cmndata.h" + + +// --------------------------------------------------------------------------- +// wxPrintDialogBase: interface for the dialog for printing +// --------------------------------------------------------------------------- + +class WXDLLIMPEXP_CORE wxPrintDialogBase : public wxDialog +{ +public: + wxPrintDialogBase() { } + wxPrintDialogBase(wxWindow *parent, + wxWindowID id = wxID_ANY, + const wxString &title = wxEmptyString, + const wxPoint &pos = wxDefaultPosition, + const wxSize &size = wxDefaultSize, + long style = wxDEFAULT_DIALOG_STYLE); + + virtual wxPrintDialogData& GetPrintDialogData() = 0; + virtual wxPrintData& GetPrintData() = 0; + virtual wxDC *GetPrintDC() = 0; + +private: + DECLARE_ABSTRACT_CLASS(wxPrintDialogBase) + wxDECLARE_NO_COPY_CLASS(wxPrintDialogBase); +}; + +// --------------------------------------------------------------------------- +// wxPrintDialog: the dialog for printing. +// --------------------------------------------------------------------------- + +class WXDLLIMPEXP_CORE wxPrintDialog : public wxObject +{ +public: + wxPrintDialog(wxWindow *parent, wxPrintDialogData* data = NULL); + wxPrintDialog(wxWindow *parent, wxPrintData* data); + virtual ~wxPrintDialog(); + + virtual int ShowModal(); + + virtual wxPrintDialogData& GetPrintDialogData(); + virtual wxPrintData& GetPrintData(); + virtual wxDC *GetPrintDC(); + +private: + wxPrintDialogBase *m_pimpl; + +private: + DECLARE_DYNAMIC_CLASS(wxPrintDialog) + wxDECLARE_NO_COPY_CLASS(wxPrintDialog); +}; + +// --------------------------------------------------------------------------- +// wxPageSetupDialogBase: interface for the page setup dialog +// --------------------------------------------------------------------------- + +class WXDLLIMPEXP_CORE wxPageSetupDialogBase: public wxDialog +{ +public: + wxPageSetupDialogBase() { } + wxPageSetupDialogBase(wxWindow *parent, + wxWindowID id = wxID_ANY, + const wxString &title = wxEmptyString, + const wxPoint &pos = wxDefaultPosition, + const wxSize &size = wxDefaultSize, + long style = wxDEFAULT_DIALOG_STYLE); + + virtual wxPageSetupDialogData& GetPageSetupDialogData() = 0; + +private: + DECLARE_ABSTRACT_CLASS(wxPageSetupDialogBase) + wxDECLARE_NO_COPY_CLASS(wxPageSetupDialogBase); +}; + +// --------------------------------------------------------------------------- +// wxPageSetupDialog: the page setup dialog +// --------------------------------------------------------------------------- + +class WXDLLIMPEXP_CORE wxPageSetupDialog: public wxObject +{ +public: + wxPageSetupDialog(wxWindow *parent, wxPageSetupDialogData *data = NULL); + virtual ~wxPageSetupDialog(); + + int ShowModal(); + wxPageSetupDialogData& GetPageSetupDialogData(); + // old name + wxPageSetupDialogData& GetPageSetupData(); -#if (defined(__WXUNIVERSAL__) && (!defined(__WXMSW__) || wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW) ) || (!defined(__WXMSW__) && !defined(__WXMAC__)) -#define wxPrintDialog wxGenericPrintDialog -#define sm_classwxPrintDialog sm_classwxGenericPrintDialog +private: + wxPageSetupDialogBase *m_pimpl; -#define wxPrintSetupDialog wxGenericPrintSetupDialog -#define sm_classwxPrintSetupDialog sm_classwxGenericPrintSetupDialog +private: + DECLARE_DYNAMIC_CLASS(wxPageSetupDialog) + wxDECLARE_NO_COPY_CLASS(wxPageSetupDialog); +}; -#define wxPageSetupDialog wxGenericPageSetupDialog -#define sm_classwxPageSetupDialog sm_classwxGenericPageSetupDialog #endif #endif