]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/printps.cpp
[ 1509599 ] 'Split pickers page in widgets sample' with more icons and rebaking.
[wxWidgets.git] / src / generic / printps.cpp
index 3ded1231013735774e6f850ab43cc3d48df43249..18653aa45d3a03c71cdd8295fb1571390299d132 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        printps.cpp
+// Name:        src/generic/printps.cpp
 // Purpose:     Postscript print/preview framework
 // Author:      Julian Smart
 // Modified by:
@@ -9,18 +9,6 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-// ============================================================================
-// declarations
-// ============================================================================
-
-// ----------------------------------------------------------------------------
-// headers
-// ----------------------------------------------------------------------------
-
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma implementation "printps.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
     #pragma hdrstop
 #endif
 
-#include "wx/defs.h"
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
 
 #if wxUSE_PRINTING_ARCHITECTURE && wxUSE_POSTSCRIPT && (!defined(__WXMSW__) || wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW)
 
     #include "wx/intl.h"
     #include "wx/progdlg.h"
     #include "wx/log.h"
+    #include "wx/dcprint.h"
 #endif
 
 #include "wx/generic/printps.h"
-#include "wx/dcprint.h"
 #include "wx/printdlg.h"
 #include "wx/generic/prntdlgg.h"
 #include "wx/generic/progdlgg.h"
@@ -152,12 +146,12 @@ bool wxPostScriptPrinter::Print(wxWindow *parent, wxPrintout *printout, bool pro
     // set by the user
     m_printDialogData.SetMinPage(minPage);
     m_printDialogData.SetMaxPage(maxPage);
-    
+
     if (m_printDialogData.GetFromPage() < minPage)
         m_printDialogData.SetFromPage( minPage );
     if (m_printDialogData.GetToPage() > maxPage)
         m_printDialogData.SetToPage( maxPage );
-    
+
     int
        pagesPerCopy = m_printDialogData.GetToPage()-m_printDialogData.GetFromPage()+1,
        totalPages = pagesPerCopy * m_printDialogData.GetNoCopies(),
@@ -237,13 +231,13 @@ bool wxPostScriptPrinter::Print(wxWindow *parent, wxPrintout *printout, bool pro
 wxDC* wxPostScriptPrinter::PrintDialog(wxWindow *parent)
 {
     wxDC* dc = (wxDC*) NULL;
-    
+
     wxGenericPrintDialog dialog( parent, &m_printDialogData );
     if (dialog.ShowModal() == wxID_OK)
     {
         dc = dialog.GetPrintDC();
         m_printDialogData = dialog.GetPrintDialogData();
-        
+
         if (dc == NULL)
             sm_lastError = wxPRINTER_ERROR;
         else
@@ -255,7 +249,7 @@ wxDC* wxPostScriptPrinter::PrintDialog(wxWindow *parent)
     return dc;
 }
 
-bool wxPostScriptPrinter::Setup(wxWindow *parent)
+bool wxPostScriptPrinter::Setup(wxWindow *WXUNUSED(parent))
 {
 #if 0
     wxGenericPrintDialog* dialog = new wxGenericPrintDialog(parent, & m_printDialogData);
@@ -269,11 +263,11 @@ bool wxPostScriptPrinter::Setup(wxWindow *parent)
     }
 
     dialog->Destroy();
-    
+
     return (ret == wxID_OK);
 #endif
 
-    return wxID_CANCEL;
+    return false;
 }
 
 // ----------------------------------------------------------------------------
@@ -311,7 +305,16 @@ bool wxPostScriptPrintPreview::Print(bool interactive)
 {
     if (!m_printPrintout)
         return false;
+
+    // Assume that on Unix, the preview may use the PostScript
+    // (generic) version, but printing using the native system is required.
+    // TODO: make a generic print preview class from which wxPostScriptPrintPreview
+    // is derived.
+#ifdef __UNIX__
+    wxPrinter printer(& m_printDialogData);
+#else
     wxPostScriptPrinter printer(& m_printDialogData);
+#endif
     return printer.Print(m_previewFrame, m_printPrintout, interactive);
 }