wxWidgets/include/wx/msw/printdlg.h
Robert Roebling aa96f01c02 Add PrivData() field to wxPrintData since MSW's printer
sometimes seem to save data in an extra field. The
    original author of the patch chose to save it in char*
    so I kept that, although void* would probably be correct.
    The patch is against 2.4.2 and the code has been reshuffled
    since then so that the patch had to be redone entirely.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32443 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-28 01:51:59 +00:00

125 lines
3.7 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: printdlg.h
// Purpose: wxPrintDialog, wxPageSetupDialog classes
// Author: Julian Smart
// Modified by:
// Created: 01/02/97
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_PRINTDLG_H_
#define _WX_PRINTDLG_H_
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface "printdlg.h"
#endif
#if wxUSE_PRINTING_ARCHITECTURE
#include "wx/dialog.h"
#include "wx/cmndata.h"
#include "wx/prntbase.h"
#include "wx/printdlg.h"
class WXDLLEXPORT wxDC;
//----------------------------------------------------------------------------
// wxWindowsPrintNativeData
//----------------------------------------------------------------------------
class WXDLLEXPORT wxWindowsPrintNativeData: public wxPrintNativeDataBase
{
public:
wxWindowsPrintNativeData();
virtual ~wxWindowsPrintNativeData();
virtual bool TransferTo( wxPrintData &data );
virtual bool TransferFrom( const wxPrintData &data );
virtual bool Ok() 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;
private:
DECLARE_DYNAMIC_CLASS(wxWindowsPrintNativeData)
};
// ---------------------------------------------------------------------------
// wxWindowsPrintDialog: the MSW dialog for printing
// ---------------------------------------------------------------------------
class WXDLLEXPORT wxWindowsPrintDialog : public wxPrintDialogBase
{
public:
wxWindowsPrintDialog(wxWindow *parent, wxPrintDialogData* data = NULL);
wxWindowsPrintDialog(wxWindow *parent, wxPrintData* data);
virtual ~wxWindowsPrintDialog();
bool Create(wxWindow *parent, wxPrintDialogData* data = NULL);
virtual int ShowModal();
wxPrintDialogData& GetPrintDialogData() { return m_printDialogData; }
wxPrintData& GetPrintData() { return m_printDialogData.GetPrintData(); }
virtual wxDC *GetPrintDC();
private:
wxPrintDialogData m_printDialogData;
wxDC* 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
// _WX_PRINTDLG_H_