1///////////////////////////////////////////////////////////////////////////// 2// Name: printdlg.h 3// Purpose: wxPrintDialog, wxPageSetupDialog classes 4// Author: Julian Smart 5// Modified by: 6// Created: 01/02/97 7// RCS-ID: $Id: printdlg.h 49804 2007-11-10 01:09:42Z VZ $ 8// Copyright: (c) Julian Smart 9// Licence: wxWindows licence 10///////////////////////////////////////////////////////////////////////////// 11 12#ifndef _WX_PRINTDLG_H_ 13#define _WX_PRINTDLG_H_ 14 15#if wxUSE_PRINTING_ARCHITECTURE 16 17#include "wx/dialog.h" 18#include "wx/cmndata.h" 19#include "wx/prntbase.h" 20#include "wx/printdlg.h" 21 22class WXDLLIMPEXP_FWD_CORE wxDC; 23 24//---------------------------------------------------------------------------- 25// wxWindowsPrintNativeData 26//---------------------------------------------------------------------------- 27 28class WXDLLEXPORT wxWindowsPrintNativeData: public wxPrintNativeDataBase 29{ 30public: 31 wxWindowsPrintNativeData(); 32 virtual ~wxWindowsPrintNativeData(); 33 34 virtual bool TransferTo( wxPrintData &data ); 35 virtual bool TransferFrom( const wxPrintData &data ); 36 37 virtual bool Ok() const { return IsOk(); } 38 virtual bool IsOk() const; 39 40 void* GetDevMode() const { return m_devMode; } 41 void SetDevMode(void* data) { m_devMode = data; } 42 void* GetDevNames() const { return m_devNames; } 43 void SetDevNames(void* data) { m_devNames = data; } 44 45private: 46 void* m_devMode; 47 void* m_devNames; 48 49 short m_customWindowsPaperId; 50 51private: 52 DECLARE_DYNAMIC_CLASS(wxWindowsPrintNativeData) 53}; 54 55// --------------------------------------------------------------------------- 56// wxWindowsPrintDialog: the MSW dialog for printing 57// --------------------------------------------------------------------------- 58 59class WXDLLEXPORT wxWindowsPrintDialog : public wxPrintDialogBase 60{ 61public: 62 wxWindowsPrintDialog(wxWindow *parent, wxPrintDialogData* data = NULL); 63 wxWindowsPrintDialog(wxWindow *parent, wxPrintData* data); 64 virtual ~wxWindowsPrintDialog(); 65 66 bool Create(wxWindow *parent, wxPrintDialogData* data = NULL); 67 virtual int ShowModal(); 68 69 wxPrintDialogData& GetPrintDialogData() { return m_printDialogData; } 70 wxPrintData& GetPrintData() { return m_printDialogData.GetPrintData(); } 71 72 virtual wxDC *GetPrintDC(); 73 74private: 75 wxPrintDialogData m_printDialogData; 76 wxPrinterDC* m_printerDC; 77 bool m_destroyDC; 78 wxWindow* m_dialogParent; 79 80private: 81 bool ConvertToNative( wxPrintDialogData &data ); 82 bool ConvertFromNative( wxPrintDialogData &data ); 83 84 // holds MSW handle 85 void* m_printDlg; 86 87private: 88 DECLARE_NO_COPY_CLASS(wxWindowsPrintDialog) 89 DECLARE_CLASS(wxWindowsPrintDialog) 90}; 91 92// --------------------------------------------------------------------------- 93// wxWindowsPageSetupDialog: the MSW page setup dialog 94// --------------------------------------------------------------------------- 95 96class WXDLLEXPORT wxWindowsPageSetupDialog: public wxPageSetupDialogBase 97{ 98public: 99 wxWindowsPageSetupDialog(); 100 wxWindowsPageSetupDialog(wxWindow *parent, wxPageSetupDialogData *data = NULL); 101 virtual ~wxWindowsPageSetupDialog(); 102 103 bool Create(wxWindow *parent, wxPageSetupDialogData *data = NULL); 104 virtual int ShowModal(); 105 bool ConvertToNative( wxPageSetupDialogData &data ); 106 bool ConvertFromNative( wxPageSetupDialogData &data ); 107 108 virtual wxPageSetupData& GetPageSetupDialogData() { return m_pageSetupData; } 109 110private: 111 wxPageSetupDialogData m_pageSetupData; 112 wxWindow* m_dialogParent; 113 114 // holds MSW handle 115 void* m_pageDlg; 116 117private: 118 DECLARE_DYNAMIC_CLASS_NO_COPY(wxWindowsPageSetupDialog) 119}; 120 121#endif // wxUSE_PRINTING_ARCHITECTURE 122 123#endif 124 // _WX_PRINTDLG_H_ 125