]> git.saurik.com Git - wxWidgets.git/blame - include/wx/msw/printdlg.h
Don't create multiple parent-less top level frames in layout sample.
[wxWidgets.git] / include / wx / msw / printdlg.h
CommitLineData
2bda0e17 1/////////////////////////////////////////////////////////////////////////////
80fdcdb9 2// Name: wx/msw/printdlg.h
2bda0e17
KB
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;
6c797d8f 23class WinPrinter;
103aec29 24
8850cbd3
RR
25//----------------------------------------------------------------------------
26// wxWindowsPrintNativeData
27//----------------------------------------------------------------------------
28
53a2db12 29class WXDLLIMPEXP_CORE wxWindowsPrintNativeData: public wxPrintNativeDataBase
8850cbd3
RR
30{
31public:
32 wxWindowsPrintNativeData();
33 virtual ~wxWindowsPrintNativeData();
03647350 34
fd64de59
RR
35 virtual bool TransferTo( wxPrintData &data );
36 virtual bool TransferFrom( const wxPrintData &data );
03647350 37
b7cacb43
VZ
38 virtual bool Ok() const { return IsOk(); }
39 virtual bool IsOk() const;
03647350 40
6c797d8f 41 void InitializeDevMode(const wxString &printerName = wxEmptyString, WinPrinter* printer = NULL);
fd64de59
RR
42 void* GetDevMode() const { return m_devMode; }
43 void SetDevMode(void* data) { m_devMode = data; }
44 void* GetDevNames() const { return m_devNames; }
45 void SetDevNames(void* data) { m_devNames = data; }
03647350 46
8850cbd3 47private:
fd64de59
RR
48 void* m_devMode;
49 void* m_devNames;
8850cbd3 50
3168b4c3
JS
51 short m_customWindowsPaperId;
52
8850cbd3
RR
53private:
54 DECLARE_DYNAMIC_CLASS(wxWindowsPrintNativeData)
55};
03647350 56
103aec29 57// ---------------------------------------------------------------------------
08680429 58// wxWindowsPrintDialog: the MSW dialog for printing
103aec29
VZ
59// ---------------------------------------------------------------------------
60
53a2db12 61class WXDLLIMPEXP_CORE wxWindowsPrintDialog : public wxPrintDialogBase
2bda0e17 62{
7bcb11d3 63public:
c061373d
RR
64 wxWindowsPrintDialog(wxWindow *parent, wxPrintDialogData* data = NULL);
65 wxWindowsPrintDialog(wxWindow *parent, wxPrintData* data);
66 virtual ~wxWindowsPrintDialog();
2bda0e17 67
103aec29
VZ
68 bool Create(wxWindow *parent, wxPrintDialogData* data = NULL);
69 virtual int ShowModal();
2bda0e17 70
103aec29
VZ
71 wxPrintDialogData& GetPrintDialogData() { return m_printDialogData; }
72 wxPrintData& GetPrintData() { return m_printDialogData.GetPrintData(); }
f415cab9 73
103aec29 74 virtual wxDC *GetPrintDC();
7bcb11d3 75
93c2f401 76private:
103aec29 77 wxPrintDialogData m_printDialogData;
f415cab9 78 wxPrinterDC* m_printerDC;
103aec29
VZ
79 bool m_destroyDC;
80 wxWindow* m_dialogParent;
03647350 81
93c2f401
RR
82private:
83 bool ConvertToNative( wxPrintDialogData &data );
84 bool ConvertFromNative( wxPrintDialogData &data );
03647350 85
93c2f401
RR
86 // holds MSW handle
87 void* m_printDlg;
22f3361e 88
c061373d 89private:
c0c133e1 90 wxDECLARE_NO_COPY_CLASS(wxWindowsPrintDialog);
c061373d 91 DECLARE_CLASS(wxWindowsPrintDialog)
2bda0e17
KB
92};
93
08680429 94// ---------------------------------------------------------------------------
03647350 95// wxWindowsPageSetupDialog: the MSW page setup dialog
08680429 96// ---------------------------------------------------------------------------
2bda0e17 97
53a2db12 98class WXDLLIMPEXP_CORE wxWindowsPageSetupDialog: public wxPageSetupDialogBase
08680429 99{
103aec29 100public:
08680429
RR
101 wxWindowsPageSetupDialog();
102 wxWindowsPageSetupDialog(wxWindow *parent, wxPageSetupDialogData *data = NULL);
103 virtual ~wxWindowsPageSetupDialog();
103aec29 104
08680429 105 bool Create(wxWindow *parent, wxPageSetupDialogData *data = NULL);
103aec29 106 virtual int ShowModal();
23fba686
JS
107 bool ConvertToNative( wxPageSetupDialogData &data );
108 bool ConvertFromNative( wxPageSetupDialogData &data );
2bda0e17 109
7193abfb 110 virtual wxPageSetupDialogData& GetPageSetupDialogData() { return m_pageSetupData; }
2bda0e17 111
103aec29 112private:
08680429
RR
113 wxPageSetupDialogData m_pageSetupData;
114 wxWindow* m_dialogParent;
03647350 115
08680429
RR
116 // holds MSW handle
117 void* m_pageDlg;
22f3361e 118
08680429
RR
119private:
120 DECLARE_DYNAMIC_CLASS_NO_COPY(wxWindowsPageSetupDialog)
2bda0e17
KB
121};
122
d427503c
VZ
123#endif // wxUSE_PRINTING_ARCHITECTURE
124
2bda0e17 125#endif
bbcdf8bc 126 // _WX_PRINTDLG_H_