X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2bda0e173844e8e0f8acf4e8ad8b5c26e5c6fe5d..39b61aa3eb950489f880fbe2024d3b5bc82a11f5:/include/wx/msw/printdlg.h diff --git a/include/wx/msw/printdlg.h b/include/wx/msw/printdlg.h index ba5af57c5e..868ed30f76 100644 --- a/include/wx/msw/printdlg.h +++ b/include/wx/msw/printdlg.h @@ -5,67 +5,120 @@ // Modified by: // Created: 01/02/97 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Markus Holzem -// Licence: wxWindows license +// Copyright: (c) Julian Smart +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifndef __PRINTDLGH__ -#define __PRINTDLGH__ +#ifndef _WX_PRINTDLG_H_ +#define _WX_PRINTDLG_H_ -#ifdef __GNUG__ -#pragma interface "printdlg.h" -#endif +#if wxUSE_PRINTING_ARCHITECTURE #include "wx/dialog.h" #include "wx/cmndata.h" - -/* - * wxPrinterDialog - * The common dialog for printing. - */ +#include "wx/prntbase.h" +#include "wx/printdlg.h" class WXDLLEXPORT wxDC; -class WXDLLEXPORT wxPrintDialog: public wxDialog + +//---------------------------------------------------------------------------- +// wxWindowsPrintNativeData +//---------------------------------------------------------------------------- + +class WXDLLEXPORT wxWindowsPrintNativeData: public wxPrintNativeDataBase { - DECLARE_DYNAMIC_CLASS(wxPrintDialog) - - private: - wxPrintData printData; - wxDC *printerDC; - bool destroyDC; - char *deviceName; - char *driverName; - char *portName; - wxWindow *dialogParent; - public: - wxPrintDialog(void); - wxPrintDialog(wxWindow *parent, wxPrintData* data = NULL); - ~wxPrintDialog(void); - - bool Create(wxWindow *parent, wxPrintData* data = NULL); - virtual int ShowModal(void); - - inline wxPrintData& GetPrintData(void) { return printData; } - virtual wxDC *GetPrintDC(void); +public: + wxWindowsPrintNativeData(); + virtual ~wxWindowsPrintNativeData(); + + virtual bool TransferTo( wxPrintData &data ); + virtual bool TransferFrom( const wxPrintData &data ); + + virtual bool Ok() const { return IsOk(); } + virtual bool IsOk() const; + + void* GetDevMode() const { return m_devMode; } + void SetDevMode(void* data) { m_devMode = data; } + void* GetDevNames() const { return m_devNames; } + void SetDevNames(void* data) { m_devNames = data; } + +private: + void* m_devMode; + void* m_devNames; + + short m_customWindowsPaperId; + +private: + DECLARE_DYNAMIC_CLASS(wxWindowsPrintNativeData) }; + +// --------------------------------------------------------------------------- +// wxWindowsPrintDialog: the MSW dialog for printing +// --------------------------------------------------------------------------- -class WXDLLEXPORT wxPageSetupDialog: public wxDialog +class WXDLLEXPORT wxWindowsPrintDialog : public wxPrintDialogBase { - DECLARE_DYNAMIC_CLASS(wxPageSetupDialog) +public: + wxWindowsPrintDialog(wxWindow *parent, wxPrintDialogData* data = NULL); + wxWindowsPrintDialog(wxWindow *parent, wxPrintData* data); + virtual ~wxWindowsPrintDialog(); + + bool Create(wxWindow *parent, wxPrintDialogData* data = NULL); + virtual int ShowModal(); - private: - wxPageSetupData m_pageSetupData; - wxWindow* m_dialogParent; - public: - wxPageSetupDialog(void); - wxPageSetupDialog(wxWindow *parent, wxPageSetupData *data = NULL); - ~wxPageSetupDialog(void); + wxPrintDialogData& GetPrintDialogData() { return m_printDialogData; } + wxPrintData& GetPrintData() { return m_printDialogData.GetPrintData(); } - bool Create(wxWindow *parent, wxPageSetupData *data = NULL); - virtual int ShowModal(void); + virtual wxDC *GetPrintDC(); - inline wxPageSetupData& GetPageSetupData(void) { return m_pageSetupData; } +private: + wxPrintDialogData m_printDialogData; + wxPrinterDC* m_printerDC; + bool m_destroyDC; + wxWindow* m_dialogParent; + +private: + bool ConvertToNative( wxPrintDialogData &data ); + bool ConvertFromNative( wxPrintDialogData &data ); + + // holds MSW handle + void* m_printDlg; + +private: + DECLARE_NO_COPY_CLASS(wxWindowsPrintDialog) + DECLARE_CLASS(wxWindowsPrintDialog) }; +// --------------------------------------------------------------------------- +// wxWindowsPageSetupDialog: the MSW page setup dialog +// --------------------------------------------------------------------------- + +class WXDLLEXPORT wxWindowsPageSetupDialog: public wxPageSetupDialogBase +{ +public: + wxWindowsPageSetupDialog(); + wxWindowsPageSetupDialog(wxWindow *parent, wxPageSetupDialogData *data = NULL); + virtual ~wxWindowsPageSetupDialog(); + + bool Create(wxWindow *parent, wxPageSetupDialogData *data = NULL); + virtual int ShowModal(); + bool ConvertToNative( wxPageSetupDialogData &data ); + bool ConvertFromNative( wxPageSetupDialogData &data ); + + virtual wxPageSetupData& GetPageSetupDialogData() { return m_pageSetupData; } + +private: + wxPageSetupDialogData m_pageSetupData; + wxWindow* m_dialogParent; + + // holds MSW handle + void* m_pageDlg; + +private: + DECLARE_DYNAMIC_CLASS_NO_COPY(wxWindowsPageSetupDialog) +}; + +#endif // wxUSE_PRINTING_ARCHITECTURE + #endif - // __PRINTDLGH__ + // _WX_PRINTDLG_H_