streamlining printing support, adding printing support on osx-cocoa

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58164 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2009-01-17 08:46:00 +00:00
parent 2c2fafe9c8
commit c347101b66
5 changed files with 291 additions and 251 deletions

View File

@@ -1,6 +1,6 @@
/////////////////////////////////////////////////////////////////////////////
// Name: wx/mac/carbon/private/print.h
// Purpose: private implementation for printing on MacOS
// Name: wx/osx/carbon/private/print.h
// Purpose: private implementation for printing on OS X
// Author: Stefan Csomor
// Modified by:
// Created: 03/02/99
@@ -14,32 +14,71 @@
#include "wx/cmndata.h"
#include "wx/print.h"
// for PrintingManager
#include "ApplicationServices/ApplicationServices.h"
class WXDLLIMPEXP_CORE wxMacCarbonPrintData : public wxPrintNativeDataBase
class WXDLLIMPEXP_CORE wxOSXPrintData : public wxPrintNativeDataBase
{
public :
wxMacCarbonPrintData() ;
virtual ~wxMacCarbonPrintData() ;
public:
wxOSXPrintData();
virtual ~wxOSXPrintData();
virtual bool TransferTo( wxPrintData &data );
virtual bool TransferFrom( const wxPrintData &data );
virtual bool IsOk() const ;
virtual void TransferFrom( wxPageSetupDialogData * ) ;
virtual void TransferTo( wxPageSetupDialogData * ) ;
virtual void TransferFrom( wxPageSetupDialogData * );
virtual void TransferTo( wxPageSetupDialogData * );
virtual void TransferFrom( wxPrintDialogData * );
virtual void TransferTo( wxPrintDialogData * );
PMPrintSession GetPrintSession() { return m_macPrintSession; }
PMPageFormat GetPageFormat() { return m_macPageFormat; }
PMPrintSettings GetPrintSettings() { return m_macPrintSettings; }
protected :
virtual void UpdateFromPMState();
virtual void UpdateToPMState();
virtual void TransferFrom( wxPrintDialogData * ) ;
virtual void TransferTo( wxPrintDialogData * ) ;
private :
virtual void ValidateOrCreate() ;
public :
PMPrintSession m_macPrintSession ;
PMPageFormat m_macPageFormat ;
PMPrintSettings m_macPrintSettings ;
PMPaper m_macPaper;
private:
DECLARE_DYNAMIC_CLASS(wxMacCarbonPrintData)
DECLARE_DYNAMIC_CLASS(wxOSXPrintData)
} ;
WXDLLIMPEXP_CORE wxPrintNativeDataBase* wxOSXCreatePrintData();
#if wxOSX_USE_CARBON
class WXDLLIMPEXP_CORE wxOSXCarbonPrintData : public wxOSXPrintData
{
public:
wxOSXCarbonPrintData();
virtual ~wxOSXCarbonPrintData();
private:
DECLARE_DYNAMIC_CLASS(wxOSXCarbonPrintData)
} ;
#endif
#if wxOSX_USE_COCOA
class WXDLLIMPEXP_CORE wxOSXCocoaPrintData : public wxOSXPrintData
{
public:
wxOSXCocoaPrintData();
virtual ~wxOSXCocoaPrintData();
WX_NSPrintInfo GetNSPrintInfo() { return m_macPrintInfo; }
protected:
virtual void UpdateFromPMState();
virtual void UpdateToPMState();
WX_NSPrintInfo m_macPrintInfo;
private:
DECLARE_DYNAMIC_CLASS(wxOSXCocoaPrintData)
} ;
#endif
#endif // _WX_MAC_PRIVATE_PRINT_H_