+wxWindow *wxPrinter::CreateAbortWindow(wxWindow *parent, wxPrintout *printout)
+{
+ return m_pimpl->CreateAbortWindow( parent, printout );
+}
+
+void wxPrinter::ReportError(wxWindow *parent, wxPrintout *printout, const wxString& message)
+{
+ m_pimpl->ReportError( parent, printout, message );
+}
+
+bool wxPrinter::Setup(wxWindow *parent)
+{
+ return m_pimpl->Setup( parent );
+}
+
+bool wxPrinter::Print(wxWindow *parent, wxPrintout *printout, bool prompt)
+{
+ return m_pimpl->Print( parent, printout, prompt );
+}
+
+wxDC* wxPrinter::PrintDialog(wxWindow *parent)
+{
+ return m_pimpl->PrintDialog( parent );
+}
+
+wxPrintDialogData& wxPrinter::GetPrintDialogData() const
+{
+ return m_pimpl->GetPrintDialogData();
+}
+
+// ---------------------------------------------------------------------------
+// wxPrintDialogBase: the common dialog for printing.
+// ---------------------------------------------------------------------------
+
+IMPLEMENT_ABSTRACT_CLASS(wxPrintDialogBase, wxObject)
+
+wxPrintDialogBase::wxPrintDialogBase(wxWindow *parent,
+ wxWindowID id,
+ const wxString &title,
+ const wxPoint &pos,
+ const wxSize &size,
+ long style)
+ : wxDialog
+ (
+ parent,
+ id,
+ title.empty() ? wxString(_("Print")) : title,
+ pos,
+ size,
+ style
+ )
+{
+}
+
+// ---------------------------------------------------------------------------
+// wxPrintDialog: the common dialog for printing.
+// ---------------------------------------------------------------------------
+
+IMPLEMENT_CLASS(wxPrintDialog, wxObject)
+
+wxPrintDialog::wxPrintDialog(wxWindow *parent, wxPrintDialogData* data)
+{
+ m_pimpl = wxPrintFactory::GetFactory()->CreatePrintDialog( parent, data );
+}
+
+wxPrintDialog::wxPrintDialog(wxWindow *parent, wxPrintData* data)
+{
+ m_pimpl = wxPrintFactory::GetFactory()->CreatePrintDialog( parent, data );
+}
+
+wxPrintDialog::~wxPrintDialog()
+{
+ delete m_pimpl;
+}
+
+int wxPrintDialog::ShowModal()
+{
+ return m_pimpl->ShowModal();
+}
+
+wxPrintDialogData& wxPrintDialog::GetPrintDialogData()
+{
+ return m_pimpl->GetPrintDialogData();
+}
+
+wxPrintData& wxPrintDialog::GetPrintData()
+{
+ return m_pimpl->GetPrintData();
+}
+wxDC *wxPrintDialog::GetPrintDC()
+{
+ return m_pimpl->GetPrintDC();
+}
+
+//----------------------------------------------------------------------------
+// wxPrintAbortDialog
+//----------------------------------------------------------------------------
+
+BEGIN_EVENT_TABLE(wxPrintAbortDialog, wxDialog)
+ EVT_BUTTON(wxID_CANCEL, wxPrintAbortDialog::OnCancel)
+END_EVENT_TABLE()
+
+void wxPrintAbortDialog::OnCancel(wxCommandEvent& WXUNUSED(event))
+{
+ wxPrinterBase::sm_abortIt = true;
+ wxPrinterBase::sm_abortWindow->Show(false);
+ wxPrinterBase::sm_abortWindow->Close(true);
+ wxPrinterBase::sm_abortWindow = (wxWindow *) NULL;
+}
+
+//----------------------------------------------------------------------------
+// wxPrintout
+//----------------------------------------------------------------------------
+
+IMPLEMENT_ABSTRACT_CLASS(wxPrintout, wxObject)
+