#include <stdlib.h>
#include <string.h>
+#if defined(__WXMSW__) && !defined(__WXUNIVERSAL__)
+#include "wx/msw/printdlg.h"
+#elif defined(__WXMAC__)
+#include "wx/mac/printdlg.h"
+#else
+#include "wx/generic/prntdlgg.h"
+#endif
+
#ifdef __WXMSW__
#include "wx/msw/private.h"
#include <commdlg.h>
#endif
#endif // __WXMSW__
-IMPLEMENT_CLASS(wxPrintPreviewBase, wxObject)
-
//----------------------------------------------------------------------------
// wxPrintFactory
//----------------------------------------------------------------------------
#endif
}
+wxPageSetupDialogBase *wxNativePrintFactory::CreatePageSetupDialog( wxWindow *parent,
+ wxPageSetupDialogData *data )
+{
+#if defined(__WXMSW__) && !defined(__WXUNIVERSAL__)
+ return new wxWindowsPageSetupDialog( parent, data );
+#elif defined(__WXMAC__)
+ return new wxMacPageSetupDialog( parent, data );
+#else
+ return new wxGenericPageSetupDialog( parent, data );
+#endif
+}
+
bool wxNativePrintFactory::HasPrintSetupDialog()
{
#if defined(__WXMSW__) && !defined(__WXUNIVERSAL__)
}
-wxDialog *wxNativePrintFactory::CreatePrintSetupDialog( wxWindow *parent, wxPrintData *data )
+wxDialog *wxNativePrintFactory::CreatePrintSetupDialog( wxWindow *parent,
+ wxPrintData *data )
{
#if defined(__WXMSW__) && !defined(__WXUNIVERSAL__)
+ wxUnusedVar(parent);
+ wxUnusedVar(data);
return NULL;
#elif defined(__WXMAC__)
+ wxUnusedVar(parent);
+ wxUnusedVar(data);
return NULL;
#else
// Only here do we need to provide the print setup
m_ref = 1;
}
+//----------------------------------------------------------------------------
+// wxPrintFactoryModule
+//----------------------------------------------------------------------------
+
+class wxPrintFactoryModule: public wxModule
+{
+public:
+ wxPrintFactoryModule() {}
+ bool OnInit() { return true; }
+ void OnExit() { wxPrintFactory::SetPrintFactory( NULL ); }
+
+private:
+ DECLARE_DYNAMIC_CLASS(wxPrintFactoryModule)
+};
+
+IMPLEMENT_DYNAMIC_CLASS(wxPrintFactoryModule, wxModule)
+
//----------------------------------------------------------------------------
// wxPrinterBase
//----------------------------------------------------------------------------
}
// ---------------------------------------------------------------------------
-// wxPrintDialogBase: the common dialog for printing.
+// wxPrintDialogBase: the dialog for printing.
// ---------------------------------------------------------------------------
-IMPLEMENT_ABSTRACT_CLASS(wxPrintDialogBase, wxObject)
+IMPLEMENT_ABSTRACT_CLASS(wxPrintDialogBase, wxDialog)
wxPrintDialogBase::wxPrintDialogBase(wxWindow *parent,
wxWindowID id,
const wxPoint &pos,
const wxSize &size,
long style)
- : wxDialog
- (
- parent,
- id,
- title.empty() ? wxString(_("Print")) : title,
- pos,
- size,
- style
- )
+ : wxDialog( parent, id, title.empty() ? wxString(_("Print")) : title,
+ pos, size, style )
{
}
// ---------------------------------------------------------------------------
-// wxPrintDialog: the common dialog for printing.
+// wxPrintDialog: the dialog for printing
// ---------------------------------------------------------------------------
IMPLEMENT_CLASS(wxPrintDialog, wxObject)
{
return m_pimpl->GetPrintData();
}
+
wxDC *wxPrintDialog::GetPrintDC()
{
return m_pimpl->GetPrintDC();
}
+// ---------------------------------------------------------------------------
+// wxPageSetupDialogBase: the page setup dialog
+// ---------------------------------------------------------------------------
+
+IMPLEMENT_ABSTRACT_CLASS(wxPageSetupDialogBase, wxDialog)
+
+wxPageSetupDialogBase::wxPageSetupDialogBase(wxWindow *parent,
+ wxWindowID id,
+ const wxString &title,
+ const wxPoint &pos,
+ const wxSize &size,
+ long style)
+ : wxDialog( parent, id, title.empty() ? wxString(_("Page setup")) : title,
+ pos, size, style )
+{
+}
+
+// ---------------------------------------------------------------------------
+// wxPageSetupDialog: the page setup dialog
+// ---------------------------------------------------------------------------
+
+IMPLEMENT_CLASS(wxPageSetupDialog, wxObject)
+
+wxPageSetupDialog::wxPageSetupDialog(wxWindow *parent, wxPageSetupDialogData *data )
+{
+ m_pimpl = wxPrintFactory::GetFactory()->CreatePageSetupDialog( parent, data );
+}
+
+wxPageSetupDialog::~wxPageSetupDialog()
+{
+ delete m_pimpl;
+}
+
+int wxPageSetupDialog::ShowModal()
+{
+ return m_pimpl->ShowModal();
+}
+
+wxPageSetupDialogData& wxPageSetupDialog::GetPageSetupDialogData()
+{
+ return m_pimpl->GetPageSetupDialogData();
+}
+
+// old name
+wxPageSetupDialogData& wxPageSetupDialog::GetPageSetupData()
+{
+ return m_pimpl->GetPageSetupDialogData();
+}
+
//----------------------------------------------------------------------------
// wxPrintAbortDialog
//----------------------------------------------------------------------------
* Print preview
*/
+IMPLEMENT_CLASS(wxPrintPreviewBase, wxObject)
+
wxPrintPreviewBase::wxPrintPreviewBase(wxPrintout *printout,
wxPrintout *printoutForPrinting,
wxPrintData *data)