Test PostScript printing in the print sample if it is compiled in.

Just use wxUSE_POSTSCRIPT instead of wxTEST_POSTSCRIPT_IN_MSW and also do it
under all platforms, not just MSW.

See #1244.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73628 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2013-03-09 15:08:21 +00:00
parent 63e1921d0b
commit ccb2be5b12
2 changed files with 11 additions and 13 deletions

View File

@@ -25,10 +25,6 @@
#error "You must set wxUSE_PRINTING_ARCHITECTURE to 1 in setup.h, and recompile the library." #error "You must set wxUSE_PRINTING_ARCHITECTURE to 1 in setup.h, and recompile the library."
#endif #endif
// Set this to 1 if you want to test PostScript printing under MSW.
// However, you'll also need to edit src/msw/makefile.nt.
#define wxTEST_POSTSCRIPT_IN_MSW 0
#include <ctype.h> #include <ctype.h>
#include "wx/metafile.h" #include "wx/metafile.h"
#include "wx/print.h" #include "wx/print.h"
@@ -36,7 +32,7 @@
#include "wx/image.h" #include "wx/image.h"
#include "wx/accel.h" #include "wx/accel.h"
#if wxTEST_POSTSCRIPT_IN_MSW #if wxUSE_POSTSCRIPT
#include "wx/generic/printps.h" #include "wx/generic/printps.h"
#include "wx/generic/prntdlgg.h" #include "wx/generic/prntdlgg.h"
#endif #endif
@@ -277,7 +273,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(wxID_PREVIEW, MyFrame::OnPrintPreview) EVT_MENU(wxID_PREVIEW, MyFrame::OnPrintPreview)
EVT_MENU(WXPRINT_PAGE_SETUP, MyFrame::OnPageSetup) EVT_MENU(WXPRINT_PAGE_SETUP, MyFrame::OnPageSetup)
EVT_MENU(wxID_ABOUT, MyFrame::OnPrintAbout) EVT_MENU(wxID_ABOUT, MyFrame::OnPrintAbout)
#if defined(__WXMSW__) &&wxTEST_POSTSCRIPT_IN_MSW #if wxUSE_POSTSCRIPT
EVT_MENU(WXPRINT_PRINT_PS, MyFrame::OnPrintPS) EVT_MENU(WXPRINT_PRINT_PS, MyFrame::OnPrintPS)
EVT_MENU(WXPRINT_PREVIEW_PS, MyFrame::OnPrintPreviewPS) EVT_MENU(WXPRINT_PREVIEW_PS, MyFrame::OnPrintPreviewPS)
EVT_MENU(WXPRINT_PAGE_SETUP_PS, MyFrame::OnPageSetupPS) EVT_MENU(WXPRINT_PAGE_SETUP_PS, MyFrame::OnPageSetupPS)
@@ -331,7 +327,7 @@ MyFrame::MyFrame(wxFrame *frame, const wxString&title, const wxPoint&pos, const
SetAcceleratorTable(accel); SetAcceleratorTable(accel);
#endif #endif
#if defined(__WXMSW__) &&wxTEST_POSTSCRIPT_IN_MSW #if wxUSE_POSTSCRIPT
file_menu->AppendSeparator(); file_menu->AppendSeparator();
file_menu->Append(WXPRINT_PRINT_PS, wxT("Print PostScript..."), wxT("Print (PostScript)")); file_menu->Append(WXPRINT_PRINT_PS, wxT("Print PostScript..."), wxT("Print (PostScript)"));
file_menu->Append(WXPRINT_PAGE_SETUP_PS, wxT("Page Setup PostScript..."), wxT("Page setup (PostScript)")); file_menu->Append(WXPRINT_PAGE_SETUP_PS, wxT("Page Setup PostScript..."), wxT("Page setup (PostScript)"));
@@ -425,21 +421,23 @@ void MyFrame::OnPageSetup(wxCommandEvent& WXUNUSED(event))
(*g_pageSetupData) = pageSetupDialog.GetPageSetupDialogData(); (*g_pageSetupData) = pageSetupDialog.GetPageSetupDialogData();
} }
#if defined(__WXMSW__) && wxTEST_POSTSCRIPT_IN_MSW #if wxUSE_POSTSCRIPT
void MyFrame::OnPrintPS(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnPrintPS(wxCommandEvent& WXUNUSED(event))
{ {
wxPostScriptPrinter printer(g_printData); wxPrintDialogData printDialogData(* g_printData);
MyPrintout printout(wxT("My printout"));
wxPostScriptPrinter printer(&printDialogData);
MyPrintout printout(this, wxT("My printout"));
printer.Print(this, &printout, true/*prompt*/); printer.Print(this, &printout, true/*prompt*/);
(*g_printData) = printer.GetPrintData(); (*g_printData) = printer.GetPrintDialogData().GetPrintData();
} }
void MyFrame::OnPrintPreviewPS(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnPrintPreviewPS(wxCommandEvent& WXUNUSED(event))
{ {
// Pass two printout objects: for preview, and possible printing. // Pass two printout objects: for preview, and possible printing.
wxPrintDialogData printDialogData(* g_printData); wxPrintDialogData printDialogData(* g_printData);
wxPrintPreview *preview = new wxPrintPreview(new MyPrintout, new MyPrintout, &printDialogData); wxPrintPreview *preview = new wxPrintPreview(new MyPrintout(this), new MyPrintout(this), &printDialogData);
wxPreviewFrame *frame = wxPreviewFrame *frame =
new wxPreviewFrame(preview, this, wxT("Demo Print Preview"), wxPoint(100, 100), wxSize(600, 650)); new wxPreviewFrame(preview, this, wxT("Demo Print Preview"), wxPoint(100, 100), wxSize(600, 650));
frame->Centre(wxBOTH); frame->Centre(wxBOTH);

View File

@@ -49,7 +49,7 @@ public:
void OnPrint(wxCommandEvent& event); void OnPrint(wxCommandEvent& event);
void OnPrintPreview(wxCommandEvent& event); void OnPrintPreview(wxCommandEvent& event);
void OnPageSetup(wxCommandEvent& event); void OnPageSetup(wxCommandEvent& event);
#if defined(__WXMSW__) && wxTEST_POSTSCRIPT_IN_MSW #if wxUSE_POSTSCRIPT
void OnPrintPS(wxCommandEvent& event); void OnPrintPS(wxCommandEvent& event);
void OnPrintPreviewPS(wxCommandEvent& event); void OnPrintPreviewPS(wxCommandEvent& event);
void OnPageSetupPS(wxCommandEvent& event); void OnPageSetupPS(wxCommandEvent& event);