X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/21708c73313af6d66a2c35b86073d223496f53fa..08680429a25d66e284c75f69f14fe8ca6ab15f72:/src/common/prntbase.cpp diff --git a/src/common/prntbase.cpp b/src/common/prntbase.cpp index 590624296f..6bf627c967 100644 --- a/src/common/prntbase.cpp +++ b/src/common/prntbase.cpp @@ -152,6 +152,78 @@ wxPrintDialogBase *wxNativePrintFactory::CreatePrintDialog( wxWindow *parent, #endif } +bool wxNativePrintFactory::HasPrintSetupDialog() +{ +#if defined(__WXMSW__) && !defined(__WXUNIVERSAL__) + return false; +#elif defined(__WXMAC__) + return false; +#else + // Only here do we need to provide the print setup + // dialog ourselves, the other platforms either have + // none, don't make it accessible or let you configure + // the printer from the wxPrintDialog anyway. + return true; +#endif + +} + +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 + // dialog ourselves, the other platforms either have + // none, don't make it accessible or let you configure + // the printer from the wxPrintDialog anyway. + return new wxGenericPrintSetupDialog( parent, data ); +#endif +} + +bool wxNativePrintFactory::HasOwnPrintToFile() +{ + // Only relevant for PostScript and here the + // setup dialog provides no "print to file" + // option. In the GNOME setup dialog, the + // setup dialog has its own print to file. + return false; +} + +bool wxNativePrintFactory::HasPrinterLine() +{ + // Only relevant for PostScript for now + return true; +} + +wxString wxNativePrintFactory::CreatePrinterLine() +{ + // Only relevant for PostScript for now + + // We should query "lpstat -d" here + return _("Generic PostScript"); +} + +bool wxNativePrintFactory::HasStatusLine() +{ + // Only relevant for PostScript for now + return true; +} + +wxString wxNativePrintFactory::CreateStatusLine() +{ + // Only relevant for PostScript for now + + // We should query "lpstat -r" or "lpstat -p" here + return _("Ready"); +} + wxPrintNativeDataBase *wxNativePrintFactory::CreatePrintNativeData() { #if defined(__WXMSW__) && !defined(__WXUNIVERSAL__) @@ -174,6 +246,23 @@ wxPrintNativeDataBase::wxPrintNativeDataBase() 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 //---------------------------------------------------------------------------- @@ -277,9 +366,21 @@ wxPrintDialogData& wxPrinter::GetPrintDialogData() const 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, pos, size, style ) +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 + ) { }