]> git.saurik.com Git - wxWidgets.git/blob - include/wx/osx/carbon/private/print.h
modeling subclassing along msw, unsubclassing filedialog at end of ShowModal, fixes...
[wxWidgets.git] / include / wx / osx / carbon / private / print.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/osx/carbon/private/print.h
3 // Purpose: private implementation for printing on OS X
4 // Author: Stefan Csomor
5 // Modified by:
6 // Created: 03/02/99
7 // RCS-ID: $Id$
8 // Copyright: (c) Stefan Csomor
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_MAC_PRIVATE_PRINT_H_
13 #define _WX_MAC_PRIVATE_PRINT_H_
14
15 #include "wx/cmndata.h"
16 #include "wx/print.h"
17
18 // for PrintingManager
19 #include "ApplicationServices/ApplicationServices.h"
20
21 class WXDLLIMPEXP_CORE wxOSXPrintData : public wxPrintNativeDataBase
22 {
23 public:
24 wxOSXPrintData();
25 virtual ~wxOSXPrintData();
26
27 virtual bool TransferTo( wxPrintData &data );
28 virtual bool TransferFrom( const wxPrintData &data );
29
30 virtual bool IsOk() const ;
31
32 virtual void TransferFrom( wxPageSetupDialogData * );
33 virtual void TransferTo( wxPageSetupDialogData * );
34
35 virtual void TransferFrom( wxPrintDialogData * );
36 virtual void TransferTo( wxPrintDialogData * );
37
38 PMPrintSession GetPrintSession() { return m_macPrintSession; }
39 PMPageFormat GetPageFormat() { return m_macPageFormat; }
40 PMPrintSettings GetPrintSettings() { return m_macPrintSettings; }
41 protected :
42 virtual void TransferPrinterNameFrom( const wxPrintData &data );
43 virtual void TransferPaperInfoFrom( const wxPrintData &data );
44 virtual void TransferResolutionFrom( const wxPrintData &data );
45
46 virtual void TransferPrinterNameTo( wxPrintData &data );
47 virtual void TransferPaperInfoTo( wxPrintData &data );
48 virtual void TransferResolutionTo( wxPrintData &data );
49
50
51 virtual void UpdateFromPMState();
52 virtual void UpdateToPMState();
53
54 PMPrintSession m_macPrintSession ;
55 PMPageFormat m_macPageFormat ;
56 PMPrintSettings m_macPrintSettings ;
57 PMPaper m_macPaper;
58 private:
59 DECLARE_DYNAMIC_CLASS(wxOSXPrintData)
60 } ;
61
62 WXDLLIMPEXP_CORE wxPrintNativeDataBase* wxOSXCreatePrintData();
63
64 #if wxOSX_USE_CARBON
65 class WXDLLIMPEXP_CORE wxOSXCarbonPrintData : public wxOSXPrintData
66 {
67 public:
68 wxOSXCarbonPrintData();
69 virtual ~wxOSXCarbonPrintData();
70 private:
71 DECLARE_DYNAMIC_CLASS(wxOSXCarbonPrintData)
72 } ;
73 #endif
74
75 #if wxOSX_USE_COCOA
76 class WXDLLIMPEXP_CORE wxOSXCocoaPrintData : public wxOSXPrintData
77 {
78 public:
79 wxOSXCocoaPrintData();
80 virtual ~wxOSXCocoaPrintData();
81
82 WX_NSPrintInfo GetNSPrintInfo() { return m_macPrintInfo; }
83 protected:
84 virtual void UpdateFromPMState();
85 virtual void UpdateToPMState();
86
87 WX_NSPrintInfo m_macPrintInfo;
88 private:
89 DECLARE_DYNAMIC_CLASS(wxOSXCocoaPrintData)
90 } ;
91 #endif
92
93 #endif // _WX_MAC_PRIVATE_PRINT_H_