Began work on print dialogs. Now wxPrintDialog
is a pimpl implementation of the native dialog classes, which are created in wxPrintFactory. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
|
||||
#include "wx/dialog.h"
|
||||
#include "wx/cmndata.h"
|
||||
#include "wx/printdlg.h"
|
||||
|
||||
#if wxUSE_POSTSCRIPT
|
||||
#include "wx/dcps.h"
|
||||
@@ -76,7 +77,7 @@ enum
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#if wxUSE_POSTSCRIPT
|
||||
class WXDLLEXPORT wxGenericPrintDialog : public wxDialog
|
||||
class WXDLLEXPORT wxGenericPrintDialog : public wxPrintDialogBase
|
||||
{
|
||||
public:
|
||||
wxGenericPrintDialog(wxWindow *parent,
|
||||
|
@@ -20,6 +20,7 @@
|
||||
|
||||
#include "wx/dialog.h"
|
||||
#include "wx/cmndata.h"
|
||||
#include "wx/printdlg.h"
|
||||
|
||||
/*
|
||||
* wxPrinterDialog
|
||||
@@ -27,28 +28,29 @@
|
||||
*/
|
||||
|
||||
class WXDLLEXPORT wxDC;
|
||||
class WXDLLEXPORT wxPrintDialog: public wxDialog
|
||||
class WXDLLEXPORT wxMacPrintDialog: public wxPrintDialogBase
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxPrintDialog)
|
||||
|
||||
public:
|
||||
wxPrintDialog();
|
||||
wxPrintDialog(wxWindow *parent, wxPrintDialogData* data = NULL);
|
||||
wxPrintDialog(wxWindow *parent, wxPrintData* data );
|
||||
~wxPrintDialog();
|
||||
public:
|
||||
wxMacPrintDialog();
|
||||
wxMacPrintDialog(wxWindow *parent, wxPrintDialogData* data = NULL);
|
||||
wxMacPrintDialog(wxWindow *parent, wxPrintData* data );
|
||||
~wxMacPrintDialog();
|
||||
|
||||
bool Create(wxWindow *parent, wxPrintDialogData* data = NULL);
|
||||
virtual int ShowModal();
|
||||
virtual int ShowModal();
|
||||
|
||||
wxPrintDialogData& GetPrintDialogData() { return m_printDialogData; }
|
||||
wxPrintData& GetPrintData() { return m_printDialogData.GetPrintData(); }
|
||||
virtual wxDC *GetPrintDC();
|
||||
virtual wxPrintDialogData& GetPrintDialogData() { return m_printDialogData; }
|
||||
virtual wxPrintData& GetPrintData() { return m_printDialogData.GetPrintData(); }
|
||||
virtual wxDC *GetPrintDC();
|
||||
|
||||
private:
|
||||
wxPrintDialogData m_printDialogData;
|
||||
wxDC* m_printerDC;
|
||||
bool m_destroyDC;
|
||||
wxWindow* m_dialogParent;
|
||||
private:
|
||||
wxPrintDialogData m_printDialogData;
|
||||
wxDC* m_printerDC;
|
||||
bool m_destroyDC;
|
||||
wxWindow* m_dialogParent;
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS(wxPrintDialog)
|
||||
};
|
||||
|
||||
class WXDLLEXPORT wxPageSetupDialog: public wxDialog
|
||||
|
@@ -20,6 +20,7 @@
|
||||
|
||||
#include "wx/dialog.h"
|
||||
#include "wx/cmndata.h"
|
||||
#include "wx/printdlg.h"
|
||||
|
||||
class WXDLLEXPORT wxDC;
|
||||
|
||||
@@ -27,15 +28,12 @@ class WXDLLEXPORT wxDC;
|
||||
// wxPrinterDialog: the common dialog for printing.
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxPrintDialog : public wxDialog
|
||||
class WXDLLEXPORT wxWindowsPrintDialog : public wxPrintDialogBase
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxPrintDialog)
|
||||
|
||||
public:
|
||||
wxPrintDialog();
|
||||
wxPrintDialog(wxWindow *parent, wxPrintDialogData* data = NULL);
|
||||
wxPrintDialog(wxWindow *parent, wxPrintData* data);
|
||||
virtual ~wxPrintDialog();
|
||||
wxWindowsPrintDialog(wxWindow *parent, wxPrintDialogData* data = NULL);
|
||||
wxWindowsPrintDialog(wxWindow *parent, wxPrintData* data);
|
||||
virtual ~wxWindowsPrintDialog();
|
||||
|
||||
bool Create(wxWindow *parent, wxPrintDialogData* data = NULL);
|
||||
virtual int ShowModal();
|
||||
@@ -44,13 +42,14 @@ public:
|
||||
wxPrintData& GetPrintData() { return m_printDialogData.GetPrintData(); }
|
||||
virtual wxDC *GetPrintDC();
|
||||
|
||||
private:
|
||||
wxPrintDialogData m_printDialogData;
|
||||
wxDC* m_printerDC;
|
||||
bool m_destroyDC;
|
||||
wxWindow* m_dialogParent;
|
||||
|
||||
DECLARE_NO_COPY_CLASS(wxPrintDialog)
|
||||
private:
|
||||
DECLARE_NO_COPY_CLASS(wxWindowsPrintDialog)
|
||||
DECLARE_CLASS(wxWindowsPrintDialog)
|
||||
};
|
||||
|
||||
class WXDLLEXPORT wxPageSetupDialog: public wxDialog
|
||||
|
@@ -1,6 +1,71 @@
|
||||
#ifndef _WX_PRINTDLG_H_BASE_
|
||||
#define _WX_PRINTDLG_H_BASE_
|
||||
|
||||
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
|
||||
#pragma interface "printdlg.h"
|
||||
#endif
|
||||
|
||||
#include "wx/defs.h"
|
||||
|
||||
#if wxUSE_PRINTING_ARCHITECTURE
|
||||
|
||||
#include "wx/event.h"
|
||||
#include "wx/dialog.h"
|
||||
#include "wx/intl.h"
|
||||
#include "wx/cmndata.h"
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// wxPrintDialogBase: interface for the common dialog for printing.
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxPrintDialogBase : public wxDialog
|
||||
{
|
||||
public:
|
||||
wxPrintDialogBase() { }
|
||||
wxPrintDialogBase(wxWindow *parent, wxWindowID id = -1, const wxString &title = _("Print"),
|
||||
const wxPoint &pos = wxDefaultPosition,
|
||||
const wxSize &size = wxDefaultSize,
|
||||
long style = wxDEFAULT_DIALOG_STYLE );
|
||||
|
||||
virtual int ShowModal() = 0;
|
||||
|
||||
virtual wxPrintDialogData& GetPrintDialogData() = 0;
|
||||
virtual wxPrintData& GetPrintData() = 0;
|
||||
virtual wxDC *GetPrintDC() = 0;
|
||||
|
||||
private:
|
||||
DECLARE_ABSTRACT_CLASS(wxPrintDialogBase)
|
||||
DECLARE_NO_COPY_CLASS(wxPrintDialogBase)
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// wxPrintDialog: the common dialog for printing.
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxPrintDialog : public wxObject
|
||||
{
|
||||
public:
|
||||
wxPrintDialog(wxWindow *parent, wxPrintDialogData* data = NULL);
|
||||
wxPrintDialog(wxWindow *parent, wxPrintData* data);
|
||||
~wxPrintDialog();
|
||||
|
||||
virtual int ShowModal();
|
||||
|
||||
virtual wxPrintDialogData& GetPrintDialogData();
|
||||
virtual wxPrintData& GetPrintData();
|
||||
virtual wxDC *GetPrintDC();
|
||||
|
||||
private:
|
||||
wxPrintDialogBase *m_pimpl;
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS(wxPrintDialog)
|
||||
DECLARE_NO_COPY_CLASS(wxPrintDialog)
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(__WXUNIVERSAL__) && (!defined(__WXMSW__) || wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW)
|
||||
#include "wx/generic/prntdlgg.h"
|
||||
#elif defined(__WXMSW__)
|
||||
@@ -20,10 +85,7 @@
|
||||
#endif
|
||||
|
||||
#if (defined(__WXUNIVERSAL__) && (!defined(__WXMSW__) || wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW) ) || (!defined(__WXMSW__) && !defined(__WXMAC__))
|
||||
#define wxPrintDialog wxGenericPrintDialog
|
||||
|
||||
#define wxPrintSetupDialog wxGenericPrintSetupDialog
|
||||
|
||||
#define wxPageSetupDialog wxGenericPageSetupDialog
|
||||
#endif
|
||||
|
||||
|
@@ -33,6 +33,7 @@ class WXDLLEXPORT wxChoice;
|
||||
class WXDLLEXPORT wxPrintout;
|
||||
class WXDLLEXPORT wxPrinterBase;
|
||||
class WXDLLEXPORT wxPrintDialog;
|
||||
class WXDLLEXPORT wxPrintDialogBase;
|
||||
class WXDLLEXPORT wxPrintPreviewBase;
|
||||
class WXDLLEXPORT wxPreviewCanvas;
|
||||
class WXDLLEXPORT wxPreviewControlBar;
|
||||
@@ -64,12 +65,18 @@ public:
|
||||
virtual bool HasPrintSetupDialog() = 0;
|
||||
|
||||
virtual wxPrinterBase *CreatePrinter( wxPrintDialogData* data ) = 0;
|
||||
|
||||
virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview,
|
||||
wxPrintout *printout = NULL,
|
||||
wxPrintDialogData *data = NULL ) = 0;
|
||||
virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview,
|
||||
wxPrintout *printout,
|
||||
wxPrintData *data ) = 0;
|
||||
|
||||
virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent,
|
||||
wxPrintDialogData *data = NULL ) = 0;
|
||||
virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent,
|
||||
wxPrintData *data ) = 0;
|
||||
|
||||
static void SetPrintFactory( wxPrintFactory *factory );
|
||||
static wxPrintFactory *GetFactory();
|
||||
@@ -85,12 +92,18 @@ public:
|
||||
{ return true; }
|
||||
|
||||
virtual wxPrinterBase *CreatePrinter( wxPrintDialogData *data );
|
||||
|
||||
virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview,
|
||||
wxPrintout *printout = NULL,
|
||||
wxPrintDialogData *data = NULL );
|
||||
virtual wxPrintPreviewBase *CreatePrintPreview( wxPrintout *preview,
|
||||
wxPrintout *printout,
|
||||
wxPrintData *data );
|
||||
|
||||
virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent,
|
||||
wxPrintDialogData *data = NULL );
|
||||
virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent,
|
||||
wxPrintData *data );
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
@@ -110,8 +123,7 @@ public:
|
||||
virtual wxWindow *CreateAbortWindow(wxWindow *parent, wxPrintout *printout);
|
||||
virtual void ReportError(wxWindow *parent, wxPrintout *printout, const wxString& message);
|
||||
|
||||
wxPrintDialogData& GetPrintDialogData() const
|
||||
{ return (wxPrintDialogData&) m_printDialogData; }
|
||||
virtual wxPrintDialogData& GetPrintDialogData() const;
|
||||
bool GetAbort() const { return sm_abortIt; }
|
||||
|
||||
static wxPrinterError GetLastError() { return sm_lastError; }
|
||||
@@ -154,6 +166,8 @@ public:
|
||||
virtual bool Setup(wxWindow *parent);
|
||||
virtual bool Print(wxWindow *parent, wxPrintout *printout, bool prompt = true);
|
||||
virtual wxDC* PrintDialog(wxWindow *parent);
|
||||
|
||||
virtual wxPrintDialogData& GetPrintDialogData() const;
|
||||
|
||||
protected:
|
||||
wxPrinterBase *m_pimpl;
|
||||
|
Reference in New Issue
Block a user