X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c061373dc5ba0ed5e3670af0698154302f1fec2c..51623cc53f350935337e57930eaaf1afe9a48c3b:/include/wx/msw/printdlg.h diff --git a/include/wx/msw/printdlg.h b/include/wx/msw/printdlg.h index a9104dc3eb..9f2330f071 100644 --- a/include/wx/msw/printdlg.h +++ b/include/wx/msw/printdlg.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: printdlg.h +// Name: wx/msw/printdlg.h // Purpose: wxPrintDialog, wxPageSetupDialog classes // Author: Julian Smart // Modified by: @@ -12,23 +12,53 @@ #ifndef _WX_PRINTDLG_H_ #define _WX_PRINTDLG_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#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 WXDLLEXPORT wxDC; +class WXDLLIMPEXP_FWD_CORE wxDC; +class WinPrinter; + +//---------------------------------------------------------------------------- +// wxWindowsPrintNativeData +//---------------------------------------------------------------------------- + +class WXDLLIMPEXP_CORE wxWindowsPrintNativeData: public wxPrintNativeDataBase +{ +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) +}; // --------------------------------------------------------------------------- -// wxPrinterDialog: the common dialog for printing. +// wxWindowsPrintDialog: the MSW dialog for printing // --------------------------------------------------------------------------- -class WXDLLEXPORT wxWindowsPrintDialog : public wxPrintDialogBase +class WXDLLIMPEXP_CORE wxWindowsPrintDialog : public wxPrintDialogBase { public: wxWindowsPrintDialog(wxWindow *parent, wxPrintDialogData* data = NULL); @@ -40,37 +70,54 @@ public: wxPrintDialogData& GetPrintDialogData() { return m_printDialogData; } wxPrintData& GetPrintData() { return m_printDialogData.GetPrintData(); } + virtual wxDC *GetPrintDC(); +private: wxPrintDialogData m_printDialogData; - wxDC* m_printerDC; + wxPrinterDC* m_printerDC; bool m_destroyDC; wxWindow* m_dialogParent; private: - DECLARE_NO_COPY_CLASS(wxWindowsPrintDialog) + bool ConvertToNative( wxPrintDialogData &data ); + bool ConvertFromNative( wxPrintDialogData &data ); + + // holds MSW handle + void* m_printDlg; + +private: + wxDECLARE_NO_COPY_CLASS(wxWindowsPrintDialog); DECLARE_CLASS(wxWindowsPrintDialog) }; -class WXDLLEXPORT wxPageSetupDialog: public wxDialog -{ - DECLARE_DYNAMIC_CLASS(wxPageSetupDialog) +// --------------------------------------------------------------------------- +// wxWindowsPageSetupDialog: the MSW page setup dialog +// --------------------------------------------------------------------------- +class WXDLLIMPEXP_CORE wxWindowsPageSetupDialog: public wxPageSetupDialogBase +{ public: - wxPageSetupDialog(); - wxPageSetupDialog(wxWindow *parent, wxPageSetupData *data = NULL); - virtual ~wxPageSetupDialog(); + wxWindowsPageSetupDialog(); + wxWindowsPageSetupDialog(wxWindow *parent, wxPageSetupDialogData *data = NULL); + virtual ~wxWindowsPageSetupDialog(); - bool Create(wxWindow *parent, wxPageSetupData *data = NULL); + bool Create(wxWindow *parent, wxPageSetupDialogData *data = NULL); virtual int ShowModal(); + bool ConvertToNative( wxPageSetupDialogData &data ); + bool ConvertFromNative( wxPageSetupDialogData &data ); - wxPageSetupData& GetPageSetupData() { return m_pageSetupData; } + virtual wxPageSetupDialogData& GetPageSetupDialogData() { return m_pageSetupData; } private: - wxPageSetupData m_pageSetupData; - wxWindow* m_dialogParent; + wxPageSetupDialogData m_pageSetupData; + wxWindow* m_dialogParent; + + // holds MSW handle + void* m_pageDlg; - DECLARE_NO_COPY_CLASS(wxPageSetupDialog) +private: + DECLARE_DYNAMIC_CLASS_NO_COPY(wxWindowsPageSetupDialog) }; #endif // wxUSE_PRINTING_ARCHITECTURE