X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bbcdf8bc7ca806d8278c7cb6d09d5590378b67d8..9869c26285dc51d13607cddaa04f65ce983653a5:/include/wx/msw/printdlg.h diff --git a/include/wx/msw/printdlg.h b/include/wx/msw/printdlg.h index cf14ef75b0..2955b89b3c 100644 --- a/include/wx/msw/printdlg.h +++ b/include/wx/msw/printdlg.h @@ -1,71 +1,125 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: printdlg.h +// Name: wx/msw/printdlg.h // Purpose: wxPrintDialog, wxPageSetupDialog classes // Author: Julian Smart // Modified by: // Created: 01/02/97 -// RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_PRINTDLG_H_ #define _WX_PRINTDLG_H_ -#ifdef __GNUG__ -#pragma interface "printdlg.h" -#endif +#if wxUSE_PRINTING_ARCHITECTURE #include "wx/dialog.h" #include "wx/cmndata.h" +#include "wx/prntbase.h" +#include "wx/printdlg.h" + +class WXDLLIMPEXP_FWD_CORE wxDC; +class WinPrinter; -/* - * wxPrinterDialog - * The common dialog for printing. - */ +//---------------------------------------------------------------------------- +// wxWindowsPrintNativeData +//---------------------------------------------------------------------------- -class WXDLLEXPORT wxDC; -class WXDLLEXPORT wxPrintDialog: public wxDialog +class WXDLLIMPEXP_CORE wxWindowsPrintNativeData: public wxPrintNativeDataBase { - DECLARE_DYNAMIC_CLASS(wxPrintDialog) - - private: - wxPrintData printData; - wxDC *printerDC; - bool destroyDC; - char *deviceName; - char *driverName; - char *portName; - wxWindow *dialogParent; - public: - wxPrintDialog(void); - wxPrintDialog(wxWindow *parent, wxPrintData* data = NULL); - ~wxPrintDialog(void); - - bool Create(wxWindow *parent, wxPrintData* data = NULL); - virtual int ShowModal(void); - - inline wxPrintData& GetPrintData(void) { return printData; } - virtual wxDC *GetPrintDC(void); +public: + wxWindowsPrintNativeData(); + virtual ~wxWindowsPrintNativeData(); + + virtual bool TransferTo( wxPrintData &data ); + virtual bool TransferFrom( const wxPrintData &data ); + + virtual bool Ok() const { return IsOk(); } + virtual bool IsOk() const; + + void InitializeDevMode(const wxString &printerName = wxEmptyString, WinPrinter* printer = NULL); + void* GetDevMode() const { return m_devMode; } + void SetDevMode(void* data) { m_devMode = data; } + void* GetDevNames() const { return m_devNames; } + void SetDevNames(void* data) { m_devNames = data; } + +private: + void* m_devMode; + void* m_devNames; + + short m_customWindowsPaperId; + +private: + DECLARE_DYNAMIC_CLASS(wxWindowsPrintNativeData) }; -class WXDLLEXPORT wxPageSetupDialog: public wxDialog +// --------------------------------------------------------------------------- +// wxWindowsPrintDialog: the MSW dialog for printing +// --------------------------------------------------------------------------- + +class WXDLLIMPEXP_CORE wxWindowsPrintDialog : public wxPrintDialogBase { - DECLARE_DYNAMIC_CLASS(wxPageSetupDialog) +public: + wxWindowsPrintDialog(wxWindow *parent, wxPrintDialogData* data = NULL); + wxWindowsPrintDialog(wxWindow *parent, wxPrintData* data); + virtual ~wxWindowsPrintDialog(); + + bool Create(wxWindow *parent, wxPrintDialogData* data = NULL); + virtual int ShowModal(); + + wxPrintDialogData& GetPrintDialogData() { return m_printDialogData; } + wxPrintData& GetPrintData() { return m_printDialogData.GetPrintData(); } + + virtual wxDC *GetPrintDC(); - private: - wxPageSetupData m_pageSetupData; - wxWindow* m_dialogParent; - public: - wxPageSetupDialog(void); - wxPageSetupDialog(wxWindow *parent, wxPageSetupData *data = NULL); - ~wxPageSetupDialog(void); +private: + wxPrintDialogData m_printDialogData; + wxPrinterDC* m_printerDC; + bool m_destroyDC; + wxWindow* m_dialogParent; - bool Create(wxWindow *parent, wxPageSetupData *data = NULL); - virtual int ShowModal(void); +private: + bool ConvertToNative( wxPrintDialogData &data ); + bool ConvertFromNative( wxPrintDialogData &data ); - inline wxPageSetupData& GetPageSetupData(void) { return m_pageSetupData; } + // holds MSW handle + void* m_printDlg; + +private: + wxDECLARE_NO_COPY_CLASS(wxWindowsPrintDialog); + DECLARE_CLASS(wxWindowsPrintDialog) }; +// --------------------------------------------------------------------------- +// wxWindowsPageSetupDialog: the MSW page setup dialog +// --------------------------------------------------------------------------- + +class WXDLLIMPEXP_CORE wxWindowsPageSetupDialog: public wxPageSetupDialogBase +{ +public: + wxWindowsPageSetupDialog(); + wxWindowsPageSetupDialog(wxWindow *parent, wxPageSetupDialogData *data = NULL); + virtual ~wxWindowsPageSetupDialog(); + + bool Create(wxWindow *parent, wxPageSetupDialogData *data = NULL); + virtual int ShowModal(); + bool ConvertToNative( wxPageSetupDialogData &data ); + bool ConvertFromNative( wxPageSetupDialogData &data ); + + virtual wxPageSetupDialogData& GetPageSetupDialogData() { return m_pageSetupData; } + +private: + wxPageSetupDialogData m_pageSetupData; + wxWindow* m_dialogParent; + + // holds MSW handle + void* m_pageDlg; + +private: + DECLARE_DYNAMIC_CLASS_NO_COPY(wxWindowsPageSetupDialog) +}; + +#endif // wxUSE_PRINTING_ARCHITECTURE + #endif // _WX_PRINTDLG_H_