]> git.saurik.com Git - wxWidgets.git/blame - include/wx/msw/printdlg.h
Refactor owner-drawing code.
[wxWidgets.git] / include / wx / msw / printdlg.h
CommitLineData
2bda0e17
KB
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$
bbcdf8bc 8// Copyright: (c) Julian Smart
65571936 9// Licence: wxWindows licence
2bda0e17
KB
10/////////////////////////////////////////////////////////////////////////////
11
bbcdf8bc
JS
12#ifndef _WX_PRINTDLG_H_
13#define _WX_PRINTDLG_H_
2bda0e17 14
d427503c
VZ
15#if wxUSE_PRINTING_ARCHITECTURE
16
2bda0e17
KB
17#include "wx/dialog.h"
18#include "wx/cmndata.h"
8850cbd3 19#include "wx/prntbase.h"
c061373d 20#include "wx/printdlg.h"
2bda0e17 21
b5dbe15d 22class WXDLLIMPEXP_FWD_CORE wxDC;
103aec29 23
8850cbd3
RR
24//----------------------------------------------------------------------------
25// wxWindowsPrintNativeData
26//----------------------------------------------------------------------------
27
53a2db12 28class WXDLLIMPEXP_CORE wxWindowsPrintNativeData: public wxPrintNativeDataBase
8850cbd3
RR
29{
30public:
31 wxWindowsPrintNativeData();
32 virtual ~wxWindowsPrintNativeData();
03647350 33
fd64de59
RR
34 virtual bool TransferTo( wxPrintData &data );
35 virtual bool TransferFrom( const wxPrintData &data );
03647350 36
b7cacb43
VZ
37 virtual bool Ok() const { return IsOk(); }
38 virtual bool IsOk() const;
03647350 39
fd64de59
RR
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; }
03647350 44
8850cbd3 45private:
fd64de59
RR
46 void* m_devMode;
47 void* m_devNames;
8850cbd3 48
3168b4c3
JS
49 short m_customWindowsPaperId;
50
8850cbd3
RR
51private:
52 DECLARE_DYNAMIC_CLASS(wxWindowsPrintNativeData)
53};
03647350 54
103aec29 55// ---------------------------------------------------------------------------
08680429 56// wxWindowsPrintDialog: the MSW dialog for printing
103aec29
VZ
57// ---------------------------------------------------------------------------
58
53a2db12 59class WXDLLIMPEXP_CORE wxWindowsPrintDialog : public wxPrintDialogBase
2bda0e17 60{
7bcb11d3 61public:
c061373d
RR
62 wxWindowsPrintDialog(wxWindow *parent, wxPrintDialogData* data = NULL);
63 wxWindowsPrintDialog(wxWindow *parent, wxPrintData* data);
64 virtual ~wxWindowsPrintDialog();
2bda0e17 65
103aec29
VZ
66 bool Create(wxWindow *parent, wxPrintDialogData* data = NULL);
67 virtual int ShowModal();
2bda0e17 68
103aec29
VZ
69 wxPrintDialogData& GetPrintDialogData() { return m_printDialogData; }
70 wxPrintData& GetPrintData() { return m_printDialogData.GetPrintData(); }
f415cab9 71
103aec29 72 virtual wxDC *GetPrintDC();
7bcb11d3 73
93c2f401 74private:
103aec29 75 wxPrintDialogData m_printDialogData;
f415cab9 76 wxPrinterDC* m_printerDC;
103aec29
VZ
77 bool m_destroyDC;
78 wxWindow* m_dialogParent;
03647350 79
93c2f401
RR
80private:
81 bool ConvertToNative( wxPrintDialogData &data );
82 bool ConvertFromNative( wxPrintDialogData &data );
03647350 83
93c2f401
RR
84 // holds MSW handle
85 void* m_printDlg;
22f3361e 86
c061373d 87private:
c0c133e1 88 wxDECLARE_NO_COPY_CLASS(wxWindowsPrintDialog);
c061373d 89 DECLARE_CLASS(wxWindowsPrintDialog)
2bda0e17
KB
90};
91
08680429 92// ---------------------------------------------------------------------------
03647350 93// wxWindowsPageSetupDialog: the MSW page setup dialog
08680429 94// ---------------------------------------------------------------------------
2bda0e17 95
53a2db12 96class WXDLLIMPEXP_CORE wxWindowsPageSetupDialog: public wxPageSetupDialogBase
08680429 97{
103aec29 98public:
08680429
RR
99 wxWindowsPageSetupDialog();
100 wxWindowsPageSetupDialog(wxWindow *parent, wxPageSetupDialogData *data = NULL);
101 virtual ~wxWindowsPageSetupDialog();
103aec29 102
08680429 103 bool Create(wxWindow *parent, wxPageSetupDialogData *data = NULL);
103aec29 104 virtual int ShowModal();
23fba686
JS
105 bool ConvertToNative( wxPageSetupDialogData &data );
106 bool ConvertFromNative( wxPageSetupDialogData &data );
2bda0e17 107
08680429 108 virtual wxPageSetupData& GetPageSetupDialogData() { return m_pageSetupData; }
2bda0e17 109
103aec29 110private:
08680429
RR
111 wxPageSetupDialogData m_pageSetupData;
112 wxWindow* m_dialogParent;
03647350 113
08680429
RR
114 // holds MSW handle
115 void* m_pageDlg;
22f3361e 116
08680429
RR
117private:
118 DECLARE_DYNAMIC_CLASS_NO_COPY(wxWindowsPageSetupDialog)
2bda0e17
KB
119};
120
d427503c
VZ
121#endif // wxUSE_PRINTING_ARCHITECTURE
122
2bda0e17 123#endif
bbcdf8bc 124 // _WX_PRINTDLG_H_