]> git.saurik.com Git - wxWidgets.git/commitdiff
Removed all deprecated printing code.
authorRobert Roebling <robert@roebling.de>
Sat, 17 Aug 2002 16:29:05 +0000 (16:29 +0000)
committerRobert Roebling <robert@roebling.de>
Sat, 17 Aug 2002 16:29:05 +0000 (16:29 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/cmndata.h
include/wx/generic/dcpsg.h
samples/dialogs/dialogs.cpp
samples/printing/printing.cpp
samples/text/text.cpp
src/common/cmndata.cpp
src/generic/dcpsg.cpp
src/generic/prntdlgg.cpp
src/html/htmprint.cpp

index 7e7e16ce55e49b8f08163b5fa32f46c75a6deb52..61f5a204bdae31d108061fd2c7acd4c98248c89d 100644 (file)
 #include "wx/colour.h"
 #include "wx/gdicmn.h"
 
-#if (defined(__WXMOTIF__) || defined(__WXMGL__) || defined(__WXX11__) || defined(__WXGTK__) || defined(__WXPM__) || defined(__WXMAC__)) && wxUSE_POSTSCRIPT
-class WXDLLEXPORT wxPrintSetupData;
-#endif
-
 class WXDLLEXPORT wxColourData: public wxObject
 {
-    DECLARE_DYNAMIC_CLASS(wxColourData)
 public:
     wxColourData();
     wxColourData(const wxColourData& data);
@@ -49,11 +44,13 @@ public:
     wxColour        dataColour;
     wxColour        custColours[16];
     bool            chooseFull;
+    
+private:
+    DECLARE_DYNAMIC_CLASS(wxColourData)
 };
 
 class WXDLLEXPORT wxFontData: public wxObject
 {
-    DECLARE_DYNAMIC_CLASS(wxFontData)
 public:
     wxFontData();
     ~wxFontData();
@@ -130,6 +127,9 @@ public:
 private:
     wxFontEncoding       m_encoding;
     wxNativeEncodingInfo m_encodingInfo;
+    
+private:
+    DECLARE_DYNAMIC_CLASS(wxFontData)
 };
 
 #if wxUSE_PRINTING_ARCHITECTURE
@@ -140,8 +140,7 @@ private:
 
 class WXDLLEXPORT wxPrintData: public wxObject
 {
-    DECLARE_DYNAMIC_CLASS(wxPrintData)
-
+public:
     wxPrintData();
     wxPrintData(const wxPrintData& printData);
     ~wxPrintData();
@@ -199,11 +198,6 @@ class WXDLLEXPORT wxPrintData: public wxObject
 
     void operator=(const wxPrintData& data);
 
-    // For compatibility
-#if (defined(__WXMOTIF__) || defined(__WXMGL__) || defined(__WXX11__) || defined(__WXGTK__) || defined(__WXPM__) || defined(__WXMAC__)) && wxUSE_POSTSCRIPT
-    void operator=(const wxPrintSetupData& setupData);
-#endif
-
 #if defined(__WXMSW__)
     // Convert to/from the DEVMODE structure
     void ConvertToNative();
@@ -227,7 +221,6 @@ public:
 #endif
 
 private:
-
     int             m_printNoCopies;
     int             m_printOrientation;
     bool            m_printCollate;
@@ -251,6 +244,9 @@ private:
     long            m_printerTranslateX;
     long            m_printerTranslateY;
     wxPrintMode     m_printMode;
+    
+private:
+    DECLARE_DYNAMIC_CLASS(wxPrintData)
 };
 
 /*
@@ -262,8 +258,7 @@ private:
 
 class WXDLLEXPORT wxPrintDialogData: public wxObject
 {
-    DECLARE_DYNAMIC_CLASS(wxPrintDialogData)
-
+public:
     wxPrintDialogData();
     wxPrintDialogData(const wxPrintDialogData& dialogData);
     wxPrintDialogData(const wxPrintData& printData);
@@ -317,8 +312,8 @@ class WXDLLEXPORT wxPrintDialogData: public wxObject
     void SetOwnerWindow(wxWindow* win);
     void* GetNativeData() const { return m_printDlgData; }
 #elif defined(__WXMAC__)
-  void ConvertToNative();
-  void ConvertFromNative();
+    void ConvertToNative();
+    void ConvertFromNative();
 #endif
 
 #ifdef __WXMSW__
@@ -326,7 +321,6 @@ class WXDLLEXPORT wxPrintDialogData: public wxObject
 #endif
 
 private:
-
     int             m_printFromPage;
     int             m_printToPage;
     int             m_printMinPage;
@@ -341,8 +335,10 @@ private:
     bool            m_printEnableHelp;
     bool            m_printEnablePrintToFile;
     bool            m_printSetupDialog;
-
     wxPrintData     m_printData;
+
+private:    
+    DECLARE_DYNAMIC_CLASS(wxPrintDialogData)
 };
 
 /*
@@ -354,8 +350,6 @@ private:
 
 class WXDLLEXPORT wxPageSetupDialogData: public wxObject
 {
-    DECLARE_DYNAMIC_CLASS(wxPageSetupDialogData)
-
 public:
     wxPageSetupDialogData();
     wxPageSetupDialogData(const wxPageSetupDialogData& dialogData);
@@ -409,8 +403,8 @@ public:
     void SetOwnerWindow(wxWindow* win);
     void* GetNativeData() const { return m_pageSetupData; }
 #elif defined(__WXMAC__)
-  void ConvertToNative();
-  void ConvertFromNative();
+    void ConvertToNative();
+    void ConvertFromNative();
 #endif
 
     // Use paper size defined in this object to set the wxPrintData
@@ -431,14 +425,11 @@ public:
 #endif
 
 private:
-
     wxSize          m_paperSize; // The dimensions selected by the user (on return, same as in wxPrintData?)
     wxPoint         m_minMarginTopLeft;
     wxPoint         m_minMarginBottomRight;
     wxPoint         m_marginTopLeft;
     wxPoint         m_marginBottomRight;
-
-    // Flags
     bool            m_defaultMinMargins;
     bool            m_enableMargins;
     bool            m_enableOrientation;
@@ -446,8 +437,10 @@ private:
     bool            m_enablePrinter;
     bool            m_getDefaultInfo; // Equiv. to PSD_RETURNDEFAULT
     bool            m_enableHelp;
-
     wxPrintData     m_printData;
+    
+private:
+    DECLARE_DYNAMIC_CLASS(wxPageSetupDialogData)
 };
 
 #endif // wxUSE_PRINTING_ARCHITECTURE
index 049af7267fe259cdb1987272681c94ec0a8e3f81..e35809d16c59a00c49e75a8a5219c8b58d77ee2a 100644 (file)
@@ -37,28 +37,16 @@ class wxPostScriptDC;
 
 class WXDLLEXPORT wxPostScriptDC: public wxDC
 {
-  DECLARE_DYNAMIC_CLASS(wxPostScriptDC)
-
 public:
-
   wxPostScriptDC();
 
-  // Deprecated constructor
-  wxPostScriptDC(const wxString& output, bool interactive = TRUE, wxWindow *parent = (wxWindow *) NULL);
-
   // Recommended constructor
   wxPostScriptDC(const wxPrintData& printData);
 
   ~wxPostScriptDC();
 
-  // Deprecated
-  bool Create(const wxString& output, bool interactive = TRUE, wxWindow *parent = (wxWindow *) NULL);
-
   virtual bool Ok() const;
 
-  // Deprecated: use wxGenericPrintDialog instead
-  virtual bool PrinterDialog(wxWindow *parent = (wxWindow *) NULL);
-
   virtual void BeginDrawing() {}
   virtual void EndDrawing() {}
 
@@ -135,157 +123,24 @@ public:
   static int GetResolution();
   
 private:  
-  static float ms_PSScaleFactor;
+    static float ms_PSScaleFactor;
 
 protected:
-
-  FILE*             m_pstream;    // PostScript output stream
-  wxString          m_title;
-  unsigned char     m_currentRed;
-  unsigned char     m_currentGreen;
-  unsigned char     m_currentBlue;
-  int               m_pageNumber;
-  bool              m_clipping;
-  double            m_underlinePosition;
-  double            m_underlineThickness;
-  wxPrintData       m_printData;
-};
-
-// Deprecated: should use wxGenericPrintDialog instead.
-#if 1
-enum
-{
-    wxID_PRINTER_COMMAND = 1,
-    wxID_PRINTER_OPTIONS,
-    wxID_PRINTER_ORIENTATION,
-    wxID_PRINTER_MODES,
-    wxID_PRINTER_X_SCALE,
-    wxID_PRINTER_Y_SCALE,
-    wxID_PRINTER_X_TRANS,
-    wxID_PRINTER_Y_TRANS
-};
-
-class WXDLLEXPORT wxPostScriptPrintDialog: public wxDialog
-{
-DECLARE_CLASS(wxPostScriptPrintDialog)
-public:
-    wxPostScriptPrintDialog (wxWindow *parent, const wxString& title,
-          const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
-          wxCoord style = wxDEFAULT_DIALOG_STYLE);
-
-    virtual int ShowModal();
-};
-#endif // 1
-
-// Print Orientation (Should also add Left, Right)
-enum
-{
-  PS_PORTRAIT = 1,
-  PS_LANDSCAPE = 2
-};// ps_orientation = PS_PORTRAIT;
-
-// Print Actions
-enum
-{
-  PS_NONE,
-  PS_PREVIEW,
-  PS_FILE,
-  PS_PRINTER
-};// ps_action = PS_PREVIEW;
-
-// PostScript printer settings
-WXDLLEXPORT void wxSetPrinterCommand(const wxString& cmd);
-WXDLLEXPORT void wxSetPrintPreviewCommand(const wxString& cmd);
-WXDLLEXPORT void wxSetPrinterOptions(const wxString& flags);
-WXDLLEXPORT void wxSetPrinterOrientation(int orientation);
-WXDLLEXPORT void wxSetPrinterScaling(double x, double y);
-WXDLLEXPORT void wxSetPrinterTranslation(wxCoord x, wxCoord y);
-WXDLLEXPORT void wxSetPrinterMode(int mode);
-WXDLLEXPORT void wxSetPrinterFile(const wxString& f);
-WXDLLEXPORT void wxSetAFMPath(const wxString& f);
-
-// Get current values
-WXDLLEXPORT wxString wxGetPrinterCommand();
-WXDLLEXPORT wxString wxGetPrintPreviewCommand();
-WXDLLEXPORT wxString wxGetPrinterOptions();
-WXDLLEXPORT int wxGetPrinterOrientation();
-WXDLLEXPORT void wxGetPrinterScaling(double* x, double* y);
-WXDLLEXPORT void wxGetPrinterTranslation(wxCoord *x, wxCoord *y);
-WXDLLEXPORT int wxGetPrinterMode();
-WXDLLEXPORT wxString wxGetPrinterFile();
-WXDLLEXPORT wxString wxGetAFMPath();
-
-/*
- * PostScript print setup information.
- * This is now obsolete, but retained for a while for compatibility
- */
-
-class WXDLLEXPORT wxPrintSetupData: public wxObject
-{
-public:
-    wxPrintSetupData();
-    ~wxPrintSetupData();
-
-    void SetPrinterCommand(const wxString& cmd) { m_printerCommand = cmd; };
-    void SetPaperName(const wxString& paper) { m_paperName = paper; };
-    void SetPrintPreviewCommand(const wxString& cmd) { m_previewCommand = cmd; };
-    void SetPrinterOptions(const wxString& flags) { m_printerFlags = flags; };
-    void SetPrinterFile(const wxString& f) { m_printerFile = f; };
-    void SetPrinterOrientation(int orient) { m_printerOrient = orient; };
-    void SetPrinterScaling(double x, double y) { m_printerScaleX = x; m_printerScaleY = y; };
-    void SetPrinterTranslation(wxCoord x, wxCoord y) { m_printerTranslateX = x; m_printerTranslateY = y; };
-    // 1 = Preview, 2 = print to file, 3 = send to printer
-    void SetPrinterMode(int mode) { m_printerMode = mode; };
-    void SetAFMPath(const wxString& f) { m_afmPath = f; };
-    void SetColour(bool col) { m_printColour = col; };
-
-    // Get current values
-    wxString GetPrinterCommand() const { return m_printerCommand; } ;
-    wxString GetPrintPreviewCommand() const { return m_previewCommand; } ;
-    wxString GetPrinterOptions() const { return m_printerFlags; };
-    wxString GetPrinterFile() const { return m_printerFile; };
-    wxString GetPaperName() const { return m_paperName; }
-    int GetPrinterOrientation() const { return m_printerOrient; };
-    void GetPrinterScaling(double* x, double* y) const { *x = m_printerScaleX; *y = m_printerScaleY; };
-    void GetPrinterTranslation(wxCoord *x, wxCoord *y) const { *x = m_printerTranslateX; *y = m_printerTranslateY; };
-    int GetPrinterMode() const { return m_printerMode; };
-    wxString GetAFMPath() const { return m_afmPath; };
-    bool GetColour() const { return m_printColour; };
-
-    void operator=(wxPrintSetupData& data);
-
-    // Initialize from a wxPrintData object (wxPrintData should now be used instead of wxPrintSetupData).
-    // There is also an operator for initializing a wxPrintData from a wxPrintSetupData.
-    void operator=(const wxPrintData& data);
-
-#ifndef __WIN16__
-    void GetPrinterTranslation(long *x, long *y) const
-        { *x = m_printerTranslateX; *y = m_printerTranslateY; }
-#endif // !Win16
-
-public:
-    wxString        m_printerCommand;
-    wxString        m_previewCommand;
-    wxString        m_printerFlags;
-    wxString        m_printerFile;
-    int             m_printerOrient;
-    double          m_printerScaleX;
-    double          m_printerScaleY;
-    wxCoord         m_printerTranslateX;
-    wxCoord         m_printerTranslateY;
-    // 1 = Preview, 2 = print to file, 3 = send to printer
-    int             m_printerMode;
-    wxString        m_afmPath;
-    // A name in the paper database (see paper.h)
-    wxString        m_paperName;
-    bool            m_printColour;
-
-    DECLARE_DYNAMIC_CLASS(wxPrintSetupData)
+    FILE*             m_pstream;    // PostScript output stream
+    wxString          m_title;
+    unsigned char     m_currentRed;
+    unsigned char     m_currentGreen;
+    unsigned char     m_currentBlue;
+    int               m_pageNumber;
+    bool              m_clipping;
+    double            m_underlinePosition;
+    double            m_underlineThickness;
+    wxPrintData       m_printData;
+    
+private:
+    DECLARE_DYNAMIC_CLASS(wxPostScriptDC)
 };
 
-WXDLLEXPORT_DATA(extern wxPrintSetupData*) wxThePrintSetupData;
-WXDLLEXPORT extern void wxInitializePrintSetupData(bool init = TRUE);
-
 #endif
     // wxUSE_POSTSCRIPT
 
index a18f46079f8e80d4e898acda60a2b89f1a464599..c347fda919846997f99d4e6db1d6a87528ae55ef 100644 (file)
@@ -780,7 +780,7 @@ void MyFrame::OnFindDialog(wxFindDialogEvent& event)
     if ( type == wxEVT_COMMAND_FIND || type == wxEVT_COMMAND_FIND_NEXT )
     {
         wxLogMessage(wxT("Find %s'%s' (flags: %s)"),
-                     type == wxEVT_COMMAND_FIND_NEXT ? _T("next ") : "",
+                     type == wxEVT_COMMAND_FIND_NEXT ? wxT("next ") : wxT(""),
                      event.GetFindString().c_str(),
                      DecodeFindDialogEventFlags(event.GetFlags()).c_str());
     }
@@ -788,7 +788,7 @@ void MyFrame::OnFindDialog(wxFindDialogEvent& event)
                 type == wxEVT_COMMAND_FIND_REPLACE_ALL )
     {
         wxLogMessage(wxT("Replace %s'%s' with '%s' (flags: %s)"),
-                     type == wxEVT_COMMAND_FIND_REPLACE_ALL ? _T("all ") : "",
+                     type == wxEVT_COMMAND_FIND_REPLACE_ALL ? _T("all ") : wxT(""),
                      event.GetFindString().c_str(),
                      event.GetReplaceString().c_str(),
                      DecodeFindDialogEventFlags(event.GetFlags()).c_str());
index b2943926a1e3194a7dbf73eafac0bc6a8ba0ce13..0f6b0ccf8db058757318f2fd69987247d612548b 100644 (file)
@@ -79,16 +79,6 @@ bool MyApp::OnInit(void)
     g_printData = new wxPrintData;
     g_pageSetupData = new wxPageSetupDialogData;
     
-    // wxGetenv( wxT("HOME") );
-
-    // Compatibility with old system. In fact, we might keep wxThePrintSetupData
-    // just for useful default values which we can optionally assign to our
-    // own print data object.
-
-#if defined(__WXGTK__) || defined(__WXMOTIF__)
-    (*g_printData) = * wxThePrintSetupData;
-#endif
-    
     // Create the main frame window
     frame = new MyFrame((wxFrame *) NULL, (char *) "wxWindows Printing Demo", wxPoint(0, 0), wxSize(400, 400));
     
@@ -492,8 +482,6 @@ void MyPrintout::DrawPageTwo(wxDC *dc)
     dc->DrawLine(50, 250, (long)(50.0 + logUnits), 250);
     dc->DrawLine(50, 250, 50, (long)(250.0 + logUnits));
     
-    return;
-    
     dc->SetFont(* wxGetApp().m_testFont);
     dc->SetBackgroundMode(wxTRANSPARENT);
     
index 5f4ba2899cc8409ccfb2424bca39f8788e270b0f..13db32eac8c893dd7d2fde0e7d2bc1bb8d2a164f 100644 (file)
@@ -631,7 +631,7 @@ void MyTextCtrl::OnMouseEvent(wxMouseEvent& ev)
 void MyTextCtrl::OnSetFocus(wxFocusEvent& event)
 {
     if ( ms_logFocus )
-        wxLogMessage("%p got focus.", this);
+        wxLogMessage( wxT("%p got focus."), this);
 
     event.Skip();
 }
@@ -639,7 +639,7 @@ void MyTextCtrl::OnSetFocus(wxFocusEvent& event)
 void MyTextCtrl::OnKillFocus(wxFocusEvent& event)
 {
     if ( ms_logFocus )
-        wxLogMessage("%p lost focus", this);
+        wxLogMessage( wxT("%p lost focus"), this);
 
     event.Skip();
 }
@@ -657,6 +657,7 @@ void MyTextCtrl::OnText(wxCommandEvent& event)
     }
     else
     {
+        // wxLogMessage( event.GetString() );
         wxLogMessage(_T("Text changed in some control"));
     }
 }
index 4ee83e61e99b10859fe1f554e9597223b5642954..3c46f26ba2d9bac7d67704f9c23a22fa72d409b6 100644 (file)
     #include "wx/fontdlg.h"
 #endif // wxUSE_FONTDLG
 
-// For compatibility
-#if (defined(__WXMOTIF__) || defined(__WXMGL__) || defined(__WXGTK__) || defined(__WXX11__)|| defined(__WXPM__) || defined(__WXMAC__)) && wxUSE_POSTSCRIPT
-    #define wxCOMPATIBILITY_WITH_PRINTSETUPDATA 1
-#endif
-
 #if wxUSE_PRINTING_ARCHITECTURE
     #include "wx/paper.h"
-
-    #if wxCOMPATIBILITY_WITH_PRINTSETUPDATA
-        #include "wx/generic/dcpsg.h"
-    #endif
 #endif // wxUSE_PRINTING_ARCHITECTURE
 
 #ifdef __WXMSW__
@@ -264,11 +255,26 @@ wxPrintData::wxPrintData()
     m_paperSize = wxSize(210, 297);
 
     // PostScript-specific data
-    m_printerCommand = "";
-    m_previewCommand = "";
-    m_printerOptions = "";
-    m_filename = "";
-    m_afmPath = "";
+    m_previewCommand = wxT("");
+    m_filename = wxT("");
+#ifdef __VMS__
+    m_printerCommand = wxT("print");
+    m_printerOptions = wxT("/nonotify/queue=psqueue");
+    m_afmPath = wxT("sys$ps_font_metrics:");
+#endif
+
+#ifdef __WXMSW__
+    m_printerCommand = wxT("print");
+    m_printerOptions = wxT("");
+    m_afmPath = wxT("c:\\windows\\system\\");
+#endif
+
+#if !defined(__VMS__) && !defined(__WXMSW__)
+    m_printerCommand = wxT("lpr");
+    m_printerOptions = wxT("");
+    m_afmPath = wxT("");
+#endif
+
     m_printerScaleX = 1.0;
     m_printerScaleY = 1.0;
     m_printerTranslateX = 0;
@@ -839,32 +845,6 @@ void wxPrintData::operator=(const wxPrintData& data)
     m_printMode = data.m_printMode;
 }
 
-// For compatibility
-#if wxCOMPATIBILITY_WITH_PRINTSETUPDATA
-void wxPrintData::operator=(const wxPrintSetupData& setupData)
-{
-    SetPrinterCommand(setupData.GetPrinterCommand());
-    SetPreviewCommand(setupData.GetPrintPreviewCommand());
-    SetPrinterOptions(setupData.GetPrinterOptions());
-
-    long xt, yt;
-    setupData.GetPrinterTranslation(& xt, & yt);
-    SetPrinterTranslation(xt, yt);
-
-    double xs, ys;
-    setupData.GetPrinterScaling(& xs, & ys);
-    SetPrinterScaling(xs, ys);
-
-    SetOrientation(setupData.GetPrinterOrientation());
-    SetPrintMode((wxPrintMode) setupData.GetPrinterMode());
-    SetFontMetricPath(setupData.GetAFMPath());
-    if (setupData.GetPaperName() != "")
-        SetPaperId(wxThePrintPaperDatabase->ConvertNameToId(setupData.GetPaperName()));
-    SetColour(setupData.GetColour());
-    SetFilename(setupData.GetPrinterFile());
-}
-#endif // wxCOMPATIBILITY_WITH_PRINTSETUPDATA
-
 // Is this data OK for showing the print dialog?
 bool wxPrintData::Ok() const
 {
index fbf73107ff6873239af4d691b0227d393ebd545f..2189f60a82b20210cebca73153e8967603489d1f 100644 (file)
@@ -88,8 +88,6 @@ static const char *wxPostScriptHeaderConicTo = "\
     /p2_y p1_y to_y p0_y sub 1 3 div mul add def\n\
     p1_x p1_y p2_x p2_y to_x to_y curveto\n\
 }  bind def\n\
-/start_ol { gsave 1.0 72 div dup scale } bind def\n\
-/end_ol { closepath fill grestore } bind def\n\
 ";
       
 static const char *wxPostScriptHeaderEllipse = "\
@@ -253,6 +251,8 @@ static char wxPostScriptHeaderReencodeISO2[] =
 // wxPostScriptDC
 //-------------------------------------------------------------------------------
 
+IMPLEMENT_DYNAMIC_CLASS(wxPostScriptDC, wxDC)
+
 float wxPostScriptDC::ms_PSScaleFactor = 10.0;
 
 void wxPostScriptDC::SetResolution(int ppi)
@@ -265,7 +265,7 @@ int wxPostScriptDC::GetResolution()
     return (int)(ms_PSScaleFactor * 72.0);
 }
 
-
+//-------------------------------------------------------------------------------
 
 wxPostScriptDC::wxPostScriptDC ()
 {
@@ -284,57 +284,6 @@ wxPostScriptDC::wxPostScriptDC ()
 
     m_signX =  1;  // default x-axis left to right
     m_signY = -1;  // default y-axis bottom up -> top down
-
-    // Compatibility only
-    // HH: Doesn't seem to work for wxMSW...
-    #if !defined(__WXMSW__)
-    m_printData = * wxThePrintSetupData;
-    #endif
-}
-
-wxPostScriptDC::wxPostScriptDC (const wxString& file, bool interactive, wxWindow *parent)
-{
-    m_pstream = (FILE*) NULL;
-
-    m_currentRed = 0;
-    m_currentGreen = 0;
-    m_currentBlue = 0;
-
-    m_pageNumber = 0;
-
-    m_clipping = FALSE;
-
-    m_underlinePosition = 0.0;
-    m_underlineThickness = 0.0;
-
-    m_signX =  1;  // default x-axis left to right
-    m_signY = -1;  // default y-axis bottom up -> top down
-
-    Create(file, interactive, parent);
-}
-
-bool wxPostScriptDC::Create(const wxString& file, bool interactive, wxWindow *parent)
-{
-    m_isInteractive = interactive;
-
-    m_title = "";
-    m_printData.SetFilename(file);
-
-#ifdef __WXMSW__
-    // Can only send to file in Windows
-    m_printData.SetPrintMode(wxPRINT_MODE_FILE);
-#endif
-
-    if (m_isInteractive)
-    {
-        if ((m_ok = PrinterDialog (parent) ) == FALSE) return FALSE;
-    }
-    else
-    {
-        m_ok = TRUE;
-    }
-
-    return m_ok;
 }
 
 wxPostScriptDC::wxPostScriptDC (const wxPrintData& printData)
@@ -374,54 +323,6 @@ bool wxPostScriptDC::Ok() const
   return m_ok;
 }
 
-// This dialog is deprecated now: use wxGenericPrintDialog or the printing framework
-bool wxPostScriptDC::PrinterDialog(wxWindow *parent)
-{
-    wxPostScriptPrintDialog dialog( parent, _("Printer Settings"), wxPoint(150, 150), wxSize(400, 400),
-                                    wxDEFAULT_DIALOG_STYLE | wxDIALOG_MODAL );
-    m_ok = (dialog.ShowModal () == wxID_OK);
-
-    if (!m_ok) return FALSE;
-
-    if ((m_printData.GetFilename() == "") &&
-        (m_printData.GetPrintMode() == wxPRINT_MODE_PREVIEW  ||
-         m_printData.GetPrintMode() == wxPRINT_MODE_PRINTER))
-    {
-// steve, 05.09.94
-#ifdef __VMS__
-      m_printData.SetFilename("preview");
-#else
-      // For PS_PRINTER action this depends on a Unix-style print spooler
-      // since the wx_printer_file can be destroyed during a session
-      // @@@ TODO: a Windows-style answer for non-Unix
-      wxChar userId[256];
-      wxGetUserId (userId, sizeof (userId) / sizeof (char));
-      wxChar tmp[256];
-      wxStrcpy (tmp, wxT("/tmp/preview_"));
-      wxStrcat (tmp, userId);
-      m_printData.SetFilename(tmp);
-#endif
-      wxChar tmp2[256];
-      wxStrcpy(tmp2, m_printData.GetFilename());
-      wxStrcat (tmp2, wxT(".ps"));
-      m_printData.SetFilename(tmp2);
-    }
-    else if ((m_printData.GetFilename() == wxT("")) && (m_printData.GetPrintMode() == wxPRINT_MODE_FILE))
-    {
-      wxString file = wxSaveFileSelector (_("PostScript"), wxT("ps"));
-      if ( file.IsEmpty() )
-      {
-        m_ok = FALSE;
-        return FALSE;
-      }
-
-      m_printData.SetFilename(file);
-      m_ok = TRUE;
-    }
-
-    return m_ok;
-}
-
 void wxPostScriptDC::DoSetClippingRegion (wxCoord x, wxCoord y, wxCoord w, wxCoord h)
 {
     wxCHECK_RET( m_ok && m_pstream, wxT("invalid postscript dc") );
@@ -1193,9 +1094,13 @@ void wxPostScriptDC::SetBrush( const wxBrush& brush )
 
 #ifdef __WXGTK20__
 
+#define PANGO_ENABLE_ENGINE
+
 #include "wx/gtk/private.h"
 #include "wx/fontutil.h"
 #include "gtk/gtk.h"
+//#include "gtk/gdk/gdkx.h"
+//#include <pango/pangoxft.h>
 #include <pango/pangoft2.h>
 #include <freetype/ftglyph.h>
 
@@ -1263,7 +1168,7 @@ static int paps_cubic_to( FT_Vector*  control1,
   return 0;
 }
 
-static void draw_bezier_outline(FILE *OUT,
+void draw_bezier_outline(FILE *OUT,
                         int dpi,
                         FT_Face face,
                         FT_UInt glyph_index,
@@ -1289,19 +1194,17 @@ static void draw_bezier_outline(FILE *OUT,
   outline_info.dpi = dpi;
   outline_info.OUT = OUT;
 
-  fprintf(OUT, "gsave %d %d translate 0 0 0 setrgbcolor\n", pos_x, pos_y);
-  fprintf(OUT, "start_ol\n");
+  fprintf(OUT, "gsave %d %d translate 1.0 72.0 div dup scale 0 0 0 setrgbcolor\n", pos_x, pos_y );
 
   FT_Load_Glyph(face, glyph_index, load_flags);
   FT_Get_Glyph (face->glyph, &glyph);
   FT_Outline_Decompose (&(((FT_OutlineGlyph)glyph)->outline),
                         &outlinefunc, &outline_info);
-  fprintf(OUT, "end_ol grestore \n");
+  fprintf(OUT, "closepath fill grestore \n");
   
   FT_Done_Glyph (glyph);
 }
 
-
 #endif
 
 void wxPostScriptDC::DoDrawText( const wxString& text, wxCoord x, wxCoord y )
@@ -1310,11 +1213,9 @@ void wxPostScriptDC::DoDrawText( const wxString& text, wxCoord x, wxCoord y )
 
 #ifdef __WXGTK20__
 
-    int dpi = GetResolution() * 2;
-    dpi = 300;
+    int dpi = GetResolution();
     
     PangoContext *context = pango_ft2_get_context ( dpi, dpi );
-    
 
     // What are these for?
     pango_context_set_language (context, pango_language_from_string ("en_US"));
@@ -1324,7 +1225,7 @@ void wxPostScriptDC::DoDrawText( const wxString& text, wxCoord x, wxCoord y )
     pango_context_set_font_description (context, m_font.GetNativeFontInfo()->description );
 
     // Create layout 
-    PangoLayout *layout = layout = pango_layout_new (context);
+    PangoLayout *layout = pango_layout_new (context);
 #if wxUSE_UNICODE
     wxCharBuffer buffer = wxConvUTF8.cWC2MB( text );
 #else
@@ -1332,9 +1233,12 @@ void wxPostScriptDC::DoDrawText( const wxString& text, wxCoord x, wxCoord y )
 #endif
        pango_layout_set_text( layout, (const char*) buffer, strlen(buffer) );
 
-#if 0
-    double xx = LogicalToDeviceX(x);
-    double yy = LogicalToDeviceY(y /*+ bitmap.GetHeight()*/ );
+#if 1
+    int xx = LogicalToDeviceX(x);
+    int yy = LogicalToDeviceY(y /*+ bitmap.GetHeight()*/ );
+    
+    xx *= PANGO_SCALE;
+    yy *= PANGO_SCALE;
 
     // Loop over lines in layout
     int num_lines = pango_layout_get_line_count( layout );
@@ -1357,13 +1261,13 @@ void wxPostScriptDC::DoDrawText( const wxString& text, wxCoord x, wxCoord y )
             for (int glyph_idx = 0; glyph_idx < num_glyphs; glyph_idx++)
             {
                 PangoGlyphGeometry geometry = glyphs->glyphs[glyph_idx].geometry;
-                double pos_x = xx + 1.0 * geometry.x_offset / PANGO_SCALE;   
-                double pos_y = yy - 1.0 * geometry.y_offset / PANGO_SCALE;
-                xx += 1.0 * geometry.width / PANGO_SCALE;
-
+                int pos_x = xx + geometry.x_offset;
+                int pos_y = yy - geometry.y_offset;
+                xx += geometry.width;
+                
                 draw_bezier_outline( m_pstream, dpi, ft_face,
                              (FT_UInt)(glyphs->glyphs[glyph_idx].glyph),
-                             (wxCoord)pos_x, (wxCoord)pos_y );
+                             (wxCoord)(pos_x / PANGO_SCALE), (wxCoord)(pos_y / PANGO_SCALE) );
             }
             runs_list = runs_list->next;
         }
@@ -1863,6 +1767,20 @@ bool wxPostScriptDC::StartDoc( const wxString& message )
 
     m_ok = TRUE;
 
+    fprintf( m_pstream, "%%!PS-Adobe-2.0\n" );
+    fprintf( m_pstream, "%%%%Title: %s\n", (const char *) m_title.ToAscii() );
+    fprintf( m_pstream, "%%%%Creator: wxWindows PostScript renderer\n" );
+    fprintf( m_pstream, "%%%%CreationDate: %s\n", (const char *) wxNow().ToAscii() );
+    if (m_printData.GetOrientation() == wxLANDSCAPE)
+        fprintf( m_pstream, "%%%%Orientation: Landscape\n" );
+    else
+        fprintf( m_pstream, "%%%%Orientation: Portrait\n" );
+    
+    // wxPaperSize ps = m_printData.GetPaperId();
+    // if (ps == ...)
+    fprintf( m_pstream, "%%%%DocumentPaperSizes: %s\n", "A4" );
+    fprintf( m_pstream, "%%%%EndComments\n\n" );
+
     fprintf( m_pstream, "%%%%BeginProlog\n" );
     fprintf( m_pstream, wxPostScriptHeaderConicTo );
     fprintf( m_pstream, wxPostScriptHeaderEllipse );
@@ -1903,15 +1821,7 @@ void wxPostScriptDC::EndDoc ()
     fclose( m_pstream );
     m_pstream = (FILE *) NULL;
 
-    wxChar *header_file = wxGetTempFileName("ps");
-
-    m_pstream = wxFopen( header_file, wxT("w+") );
-
-    fprintf( m_pstream, "%%!PS-Adobe-2.0\n" );                     // PostScript magic strings
-    fprintf( m_pstream, "%%%%Title: %s\n", (const char *)m_title.mb_str() );
-    fprintf( m_pstream, "%%%%Creator: wxWindows PostScript renderer\n" );
-    fprintf( m_pstream, "%%%%CreationDate: %s\n", (const char *)wxNow().mb_str() );
-
+#if 0    
 
     // THE FOLLOWING HAS BEEN CONTRIBUTED BY Andy Fyfe <andy@hyperparallel.com>
 
@@ -1924,11 +1834,6 @@ void wxPostScriptDC::EndDoc ()
     wx_printer_scale_x = m_printData.GetPrinterScaleX();
     wx_printer_scale_y = m_printData.GetPrinterScaleY();
 
-    if (m_printData.GetOrientation() == wxLANDSCAPE)
-        fprintf( m_pstream, "%%%%Orientation: Landscape\n" );
-    else
-        fprintf( m_pstream, "%%%%Orientation: Portrait\n" );
-
     // Compute the bounding box.  Note that it is in the default user
     // coordinate system, thus we have to convert the values.
     wxCoord minX = (wxCoord) LogicalToDeviceX(m_minX);
@@ -1972,7 +1877,6 @@ void wxPostScriptDC::EndDoc ()
             (wxCoord)floor((double)llx), (wxCoord)floor((double)lly),
             (wxCoord)ceil((double)urx), (wxCoord)ceil((double)ury) );
     fprintf( m_pstream, "%%%%Pages: %d\n", (wxPageNumber - 1) );
-    fprintf( m_pstream, "%%%%EndComments\n\n" );
 
     // To check the correctness of the bounding box, postscript commands
     // to draw a box corresponding to the bounding box are generated below.
@@ -1986,17 +1890,6 @@ void wxPostScriptDC::EndDoc ()
     fprintf( m_pstream, "%% %d %d lineto\n", urx, ury );
     fprintf( m_pstream, "%% %d %d lineto closepath stroke\n", llx, ury );
 
-    fclose( m_pstream );
-    m_pstream = (FILE*) NULL;
-
-    wxChar *tmp_file = wxGetTempFileName("ps");
-
-    // Paste header Before wx_printer_file
-    wxConcatFiles (header_file, m_printData.GetFilename(), tmp_file );
-    wxRemoveFile( header_file );
-    wxRemoveFile( m_printData.GetFilename() );
-    wxRenameFile( tmp_file, m_printData.GetFilename() );
-
 #if defined(__X__) || defined(__WXGTK__)
     if (m_ok)
     {
@@ -2047,6 +1940,8 @@ void wxPostScriptDC::EndDoc ()
         }
     }
 #endif
+
+#endif
 }
 
 void wxPostScriptDC::StartPage()
@@ -2213,16 +2108,16 @@ void wxPostScriptDC::DoGetTextExtent(const wxString& string,
     double UnderlinePosition = 0.0;
     double UnderlineThickness = 0.0;
 
-    /* get actual parameters */
+    // Get actual parameters
     int Family = fontToUse->GetFamily();
     int Size =   fontToUse->GetPointSize();
     int Style =  fontToUse->GetStyle();
     int Weight = fontToUse->GetWeight();
 
-    /* if we have another font, read the font-metrics */
+    // If we have another font, read the font-metrics
     if (Family!=lastFamily || Size!=lastSize || Style!=lastStyle || Weight!=lastWeight)
     {
-        /* store actual values */
+        // Store actual values
         lastFamily = Family;
         lastSize =   Size;
         lastStyle =  Style;
@@ -2266,44 +2161,19 @@ void wxPostScriptDC::DoGetTextExtent(const wxString& string,
             }
         }
 
-        /* get the directory of the AFM files */
-        wxString afmName = wxEmptyString;
+        FILE *afmFile = NULL;
+        
+        // Get the directory of the AFM files
+        wxString afmName;
         if (!m_printData.GetFontMetricPath().IsEmpty())
         {
             afmName = m_printData.GetFontMetricPath();
-        }
-
-        /* 2. open and process the file
-           /  a short explanation of the AFM format:
-           /  we have for each character a line, which gives its size
-           /  e.g.:
-           /
-           /    C 63 ; WX 444 ; N question ; B 49 -14 395 676 ;
-           /
-           /  that means, we have a character with ascii code 63, and width
-           /  (444/1000 * fontSize) points.
-           /  the other data is ignored for now!
-           /
-           /  when the font has changed, we read in the right AFM file and store the
-           /  character widths in an array, which is processed below (see point 3.). */
-
-        /* new elements JC Sun Aug 25 23:21:44 MET DST 1996 */
-
-        afmName << name;
-        FILE *afmFile = wxFopen(afmName,wxT("r"));
-
-        if (afmFile==NULL)
-        {
-           afmName = wxThePrintSetupData->GetAFMPath();
-           afmName << wxFILE_SEP_PATH << name;
-           afmFile = wxFopen(afmName,wxT("r"));
+            afmName << wxFILE_SEP_PATH << name;
+            afmFile = wxFopen(afmName,wxT("r"));
         }
 
 #if defined(__UNIX__) && !defined(__VMS__)
-       if (afmFile==NULL)
-        /* please do NOT change the line above to "else if (afmFile==NULL)" -
-           - afmFile = fopen() may fail and in that case the next if branch
-           MUST be executed - and it would not if there was "else" */
+        if (afmFile==NULL)
         {
            afmName = wxGetDataDir();
            afmName <<  wxFILE_SEP_PATH
@@ -2317,6 +2187,19 @@ void wxPostScriptDC::DoGetTextExtent(const wxString& string,
         }
 #endif
 
+        /* 2. open and process the file
+           /  a short explanation of the AFM format:
+           /  we have for each character a line, which gives its size
+           /  e.g.:
+           /
+           /    C 63 ; WX 444 ; N question ; B 49 -14 395 676 ;
+           /
+           /  that means, we have a character with ascii code 63, and width
+           /  (444/1000 * fontSize) points.
+           /  the other data is ignored for now!
+           /
+           /  when the font has changed, we read in the right AFM file and store the
+           /  character widths in an array, which is processed below (see point 3.). */
         if (afmFile==NULL)
         {
             wxLogDebug( wxT("GetTextExtent: can't open AFM file '%s'"), afmName.c_str() );
@@ -2484,393 +2367,6 @@ void wxPostScriptDC::DoGetTextExtent(const wxString& string,
 #endif
 }
 
-// Determine the Default Postscript Previewer
-// available on the platform
-#if defined(__SUN__) && defined(__XVIEW__)
-// OpenWindow/NeWS's Postscript Previewer
-# define PS_VIEWER_PROG "pageview"
-#elif defined(__VMS__)
-#define PS_VIEWER_PROG "view/format=ps/select=x_display"
-#elif defined(__SGI__)
-// SGI's Display Postscript Previewer
-//# define PS_VIEWER_PROG "dps"
-# define PS_VIEWER_PROG "xpsview"
-#elif defined(__X__) || defined(__WXGTK__)
-// Front-end to ghostscript
-# define PS_VIEWER_PROG "ghostview"
-#else
-// Windows ghostscript/ghostview
-# define PS_VIEWER_PROG "gsview"
-#endif
-
-wxPrintSetupData *wxThePrintSetupData = (wxPrintSetupData *) NULL;
-
-IMPLEMENT_DYNAMIC_CLASS(wxPostScriptDC, wxDC)
-IMPLEMENT_DYNAMIC_CLASS(wxPrintSetupData, wxObject)
-
-// Redundant now I think
-#if 1
-IMPLEMENT_CLASS(wxPostScriptPrintDialog, wxDialog)
-
-wxPostScriptPrintDialog::wxPostScriptPrintDialog (wxWindow *parent, const wxString& title,
-            const wxPoint& pos, const wxSize& size, wxCoord style):
-   wxDialog(parent, -1, title, pos, size, style)
-{
-   wxBeginBusyCursor();
-
-   char buf[100];
-   int yPos = 40;
-   wxString
-      *orientation = new wxString[2],
-      *print_modes = new wxString[3];
-   int features;
-   wxCoord wx_printer_translate_x, wx_printer_translate_y;
-   double wx_printer_scale_x, wx_printer_scale_y;
-
-   orientation[0] = _("Portrait");
-   orientation[1] = _("Landscape");
-
-   print_modes[0] = _("Send to Printer");
-   print_modes[1] = _("Print to File");
-   print_modes[2] = _("Preview Only");
-
-
-
-   wxButton *okBut = new wxButton (this, wxID_OK, _("OK"), wxPoint(5, 5));
-   (void) new wxButton (this, wxID_CANCEL, _("Cancel"), wxPoint(40, 5));
-   okBut->SetDefault();
-
-
-#if defined(__WXGTK__) || defined (__WXMOTIF__)
-   (void) new wxStaticText( this, -1, _("Printer Command: "),
-                            wxPoint(5, yPos) );
-   (void) new wxTextCtrl( this, wxID_PRINTER_COMMAND, wxThePrintSetupData->GetPrinterCommand(),
-                          wxPoint(100, yPos), wxSize(100, -1) );
-
-   (void) new wxStaticText( this, -1, _("Printer Options: "),
-                            wxPoint(210, yPos) );
-   (void) new wxTextCtrl( this, wxID_PRINTER_OPTIONS, wxThePrintSetupData->GetPrinterOptions(),
-                          wxPoint(305, yPos), wxSize(150, -1) );
-
-   yPos += 40;
-#endif
-
-
-   wxRadioBox *radio0 = new wxRadioBox(this, wxID_PRINTER_ORIENTATION, "Orientation: ", wxPoint(5, yPos), wxSize(-1,-1),
-                                       2,orientation,2,wxRA_SPECIFY_ROWS);
-   radio0->SetSelection((int)wxThePrintSetupData->GetPrinterOrientation() - 1);
-
-  // @@@ Configuration hook
-   if ( !wxThePrintSetupData->GetPrintPreviewCommand() )
-      wxThePrintSetupData->SetPrintPreviewCommand(PS_VIEWER_PROG);
-
-   //   wxGetResource ("wxWindows", "PSView", &wxThePrintSetupData->m_previewCommand);
-
-   features = (wxThePrintSetupData->GetPrintPreviewCommand() &&
-               *wxThePrintSetupData->GetPrintPreviewCommand()) ? 3 : 2;
-
-   wxRadioBox *radio1 = new wxRadioBox(this, wxID_PRINTER_MODES, _("PostScript:"),
-                                       wxPoint(150, yPos),
-                                       wxSize(-1,-1), features,
-                                       print_modes, features, wxRA_SPECIFY_ROWS);
-
-#ifdef __WXMSW__
-   radio1->Enable(0, FALSE);
-   if (wxThePrintSetupData->GetPrintPreviewCommand() && *wxThePrintSetupData->GetPrintPreviewCommand())
-      radio1->Enable(2, FALSE);
-#endif
-
-   radio1->SetSelection((int)wxThePrintSetupData->GetPrinterMode());
-   wxThePrintSetupData->GetPrinterTranslation(&wx_printer_translate_x, &wx_printer_translate_y);
-   wxThePrintSetupData->GetPrinterScaling(&wx_printer_scale_x, &wx_printer_scale_y);
-
-   sprintf (buf, "%.2f", wx_printer_scale_x);
-
-   yPos += 90;
-   (void) new wxStaticText(this, -1, _("X Scaling"), wxPoint(5, yPos));
-   /* wxTextCtrl *text1 = */ (void) new wxTextCtrl(this, wxID_PRINTER_X_SCALE, buf, wxPoint(100, yPos), wxSize(100, -1));
-
-   sprintf (buf, "%.2f", wx_printer_scale_y);
-   (void) new wxStaticText(this, -1, _("Y Scaling"), wxPoint(220, yPos));
-   /* wxTextCtrl *text2 = */ (void) new wxTextCtrl(this, wxID_PRINTER_Y_SCALE, buf, wxPoint(320, yPos), wxSize(100, -1));
-
-   yPos += 25;
-
-   (void) new wxStaticText(this, -1, _("X Translation"), wxPoint(5, yPos));
-   sprintf (buf, "%.2d", wx_printer_translate_x);
-   /* wxTextCtrl *text3 = */ (void) new wxTextCtrl(this, wxID_PRINTER_X_TRANS, buf, wxPoint(100, yPos), wxSize(100, -1));
-
-   (void) new wxStaticText(this, -1, _("Y Translation"), wxPoint(220, yPos));
-   sprintf (buf, "%.2d", wx_printer_translate_y);
-   /* wxTextCtrl *text4 = */ (void) new wxTextCtrl(this, wxID_PRINTER_Y_TRANS, buf, wxPoint(320, yPos), wxSize(100, -1));
-
-   Fit ();
-
-   delete[] orientation;
-   delete[] print_modes;
-
-   wxEndBusyCursor();
-}
-
-int wxPostScriptPrintDialog::ShowModal ()
-{
-  if ( wxDialog::ShowModal() == wxID_OK )
-  {
-//    wxTextCtrl *text0 = (wxTextCtrl *)FindWindow(wxID_PRINTER_OPTIONS);
-      wxTextCtrl *text1 = (wxTextCtrl *)FindWindow(wxID_PRINTER_X_SCALE);
-      wxTextCtrl *text2 = (wxTextCtrl *)FindWindow(wxID_PRINTER_Y_SCALE);
-      wxTextCtrl *text3 = (wxTextCtrl *)FindWindow(wxID_PRINTER_X_TRANS);
-      wxTextCtrl *text4 = (wxTextCtrl *)FindWindow(wxID_PRINTER_Y_TRANS);
-//    wxTextCtrl *text_prt = (wxTextCtrl *)FindWindow(wxID_PRINTER_COMMAND);
-      wxRadioBox *radio0 = (wxRadioBox *)FindWindow(wxID_PRINTER_ORIENTATION);
-      wxRadioBox *radio1 = (wxRadioBox *)FindWindow(wxID_PRINTER_MODES);
-
-      StringToDouble (WXSTRINGCAST text1->GetValue (), &wxThePrintSetupData->m_printerScaleX);
-      StringToDouble (WXSTRINGCAST text2->GetValue (), &wxThePrintSetupData->m_printerScaleY);
-
-      long dummy;
-      StringToLong (WXSTRINGCAST text3->GetValue (), &dummy);
-      wxThePrintSetupData->m_printerTranslateX = (wxCoord)dummy;
-      StringToLong (WXSTRINGCAST text4->GetValue (), &dummy);
-      wxThePrintSetupData->m_printerTranslateY = (wxCoord)dummy;
-
-#ifdef __X__
-      //      wxThePrintSetupData->SetPrinterOptions(WXSTRINGCAST text0->GetValue ());
-      //      wxThePrintSetupData->SetPrinterCommand(WXSTRINGCAST text_prt->GetValue ());
-#endif
-
-      wxThePrintSetupData->SetPrinterOrientation((radio0->GetSelection() == 1 ? wxLANDSCAPE : wxPORTRAIT));
-
-      // C++ wants this
-      switch ( radio1->GetSelection() ) {
-        case 0: wxThePrintSetupData->SetPrinterMode(PS_PRINTER); break;
-        case 1:  wxThePrintSetupData->SetPrinterMode(PS_FILE); break;
-        case 2: wxThePrintSetupData->SetPrinterMode(PS_PREVIEW); break;
-      }
-      return wxID_OK;
-  }
-  return wxID_CANCEL;
-}
-#endif
- // 0 (redundant)
-
-// PostScript printer settings
-// RETAINED FOR BACKWARD COMPATIBILITY
-void wxSetPrinterCommand(const wxString& cmd)
-{
-  wxThePrintSetupData->SetPrinterCommand(cmd);
-}
-
-void wxSetPrintPreviewCommand(const wxString& cmd)
-{
-  wxThePrintSetupData->SetPrintPreviewCommand(cmd);
-}
-
-void wxSetPrinterOptions(const wxString& flags)
-{
-  wxThePrintSetupData->SetPrinterOptions(flags);
-}
-
-void wxSetPrinterFile(const wxString& f)
-{
-  wxThePrintSetupData->SetPrinterFile(f);
-}
-
-void wxSetPrinterOrientation(int orient)
-{
-  wxThePrintSetupData->SetPrinterOrientation(orient);
-}
-
-void wxSetPrinterScaling(double x, double y)
-{
-  wxThePrintSetupData->SetPrinterScaling(x, y);
-}
-
-void wxSetPrinterTranslation(wxCoord x, wxCoord y)
-{
-  wxThePrintSetupData->SetPrinterTranslation(x, y);
-}
-
-// 1 = Preview, 2 = print to file, 3 = send to printer
-void wxSetPrinterMode(int mode)
-{
-  wxThePrintSetupData->SetPrinterMode(mode);
-}
-
-void wxSetAFMPath(const wxString& f)
-{
-  wxThePrintSetupData->SetAFMPath(f);
-}
-
-// Get current values
-wxString wxGetPrinterCommand()
-{
-  return wxThePrintSetupData->GetPrinterCommand();
-}
-
-wxString wxGetPrintPreviewCommand()
-{
-  return wxThePrintSetupData->GetPrintPreviewCommand();
-}
-
-wxString wxGetPrinterOptions()
-{
-  return wxThePrintSetupData->GetPrinterOptions();
-}
-
-wxString wxGetPrinterFile()
-{
-  return wxThePrintSetupData->GetPrinterFile();
-}
-
-int wxGetPrinterOrientation()
-{
-  return wxThePrintSetupData->GetPrinterOrientation();
-}
-
-void wxGetPrinterScaling(double* x, double* y)
-{
-  wxThePrintSetupData->GetPrinterScaling(x, y);
-}
-
-void wxGetPrinterTranslation(wxCoord *x, wxCoord *y)
-{
-  wxThePrintSetupData->GetPrinterTranslation(x, y);
-}
-
-int wxGetPrinterMode()
-{
-  return wxThePrintSetupData->GetPrinterMode();
-}
-
-wxString wxGetAFMPath()
-{
-  return wxThePrintSetupData->GetAFMPath();
-}
-
-/*
- * Print setup data
- */
-
-wxPrintSetupData::wxPrintSetupData()
-{
-  m_printerOrient = wxPORTRAIT;
-  m_printerScaleX = (double)1.0;
-  m_printerScaleY = (double)1.0;
-  m_printerTranslateX = 0;
-  m_printerTranslateY = 0;
-  m_printerMode = wxPRINT_MODE_FILE;
-  m_printColour = TRUE;
-}
-
-wxPrintSetupData::~wxPrintSetupData()
-{
-}
-
-void wxPrintSetupData::operator=(wxPrintSetupData& data)
-{
-  SetPrinterCommand(data.GetPrinterCommand());
-  SetPrintPreviewCommand(data.GetPrintPreviewCommand());
-  SetPrinterOptions(data.GetPrinterOptions());
-  wxCoord x, y;
-  data.GetPrinterTranslation(&x, &y);
-  SetPrinterTranslation(x, y);
-
-  double x1, y1;
-  data.GetPrinterScaling(&x1, &y1);
-  SetPrinterScaling(x1, y1);
-
-  SetPrinterOrientation(data.GetPrinterOrientation());
-  SetPrinterMode(data.GetPrinterMode());
-  SetAFMPath(data.GetAFMPath());
-  SetPaperName(data.GetPaperName());
-  SetColour(data.GetColour());
-}
-
-// Initialize from a wxPrintData object (wxPrintData should now be used instead of wxPrintSetupData).
-void wxPrintSetupData::operator=(const wxPrintData& data)
-{
-    SetPrinterCommand(data.GetPrinterCommand());
-    SetPrintPreviewCommand(data.GetPreviewCommand());
-    SetPrinterOptions(data.GetPrinterOptions());
-    SetPrinterTranslation((wxCoord)data.GetPrinterTranslateX(),
-                          (wxCoord)data.GetPrinterTranslateY());
-    SetPrinterScaling(data.GetPrinterScaleX(), data.GetPrinterScaleY());
-    SetPrinterOrientation(data.GetOrientation());
-    SetPrinterMode((int) data.GetPrintMode());
-    SetAFMPath(data.GetFontMetricPath());
-    SetPaperName(wxThePrintPaperDatabase->ConvertIdToName(data.GetPaperId()));
-    SetColour(data.GetColour());
-    SetPrinterFile(data.GetFilename());
-}
-
-void wxInitializePrintSetupData(bool init)
-{
-  if (init)
-  {
-    wxThePrintSetupData = new wxPrintSetupData;
-
-    wxThePrintSetupData->SetPrintPreviewCommand(PS_VIEWER_PROG);
-    wxThePrintSetupData->SetPrinterOrientation(wxPORTRAIT);
-    wxThePrintSetupData->SetPrinterMode(wxPRINT_MODE_PREVIEW);
-    wxThePrintSetupData->SetPaperName(_("A4 sheet, 210 x 297 mm"));
-
-    // Could have a .ini file to read in some defaults
-    // - and/or use environment variables, e.g. WXWIN
-#ifdef __VMS__
-    wxThePrintSetupData->SetPrinterCommand("print");
-    wxThePrintSetupData->SetPrinterOptions("/nonotify/queue=psqueue");
-    wxThePrintSetupData->SetAFMPath("sys$ps_font_metrics:");
-#endif
-#ifdef __WXMSW__
-    wxThePrintSetupData->SetPrinterCommand("print");
-    wxThePrintSetupData->SetAFMPath("c:\\windows\\system\\");
-    wxThePrintSetupData->SetPrinterOptions("");
-#endif
-#if !defined(__VMS__) && !defined(__WXMSW__)
-    wxThePrintSetupData->SetPrinterCommand("lpr");
-    wxThePrintSetupData->SetPrinterOptions("");
-    wxThePrintSetupData->SetAFMPath("");
-#endif
-  }
-  else
-  {
-    if (wxThePrintSetupData)
-      delete wxThePrintSetupData;
-     wxThePrintSetupData = (wxPrintSetupData *) NULL;
-  }
-}
-
-// A module to allow initialization/cleanup of PostScript-related
-// things without calling these functions from app.cpp.
-
-class WXDLLEXPORT wxPostScriptModule: public wxModule
-{
-DECLARE_DYNAMIC_CLASS(wxPostScriptModule)
-public:
-    wxPostScriptModule() {}
-    bool OnInit();
-    void OnExit();
-};
-
-IMPLEMENT_DYNAMIC_CLASS(wxPostScriptModule, wxModule)
-
-/*
- * Initialization/cleanup module
- */
-
-bool wxPostScriptModule::OnInit()
-{
-    wxInitializePrintSetupData();
-
-    return TRUE;
-}
-
-void wxPostScriptModule::OnExit()
-{
-    wxInitializePrintSetupData(FALSE);
-}
-
 #endif
   // wxUSE_POSTSCRIPT
 
index 30d393cb4d9777c24acd079888b8717b19ef10b9..14162e2715d3494bd0e578a966fa54a02a4fcf4c 100644 (file)
@@ -61,6 +61,7 @@
 
 #include "wx/printdlg.h"
 #include "wx/paper.h"
+#include "wx/filename.h"
 
 // For print paper things
 #include "wx/prntbase.h"
@@ -100,10 +101,6 @@ extern wxPrintPaperDatabase *wxThePrintPaperDatabase;
 
 #if wxUSE_POSTSCRIPT
 
-// ============================================================================
-// implementation
-// ============================================================================
-
 // ----------------------------------------------------------------------------
 // Generic print dialog for non-Windows printing use.
 // ----------------------------------------------------------------------------
@@ -175,7 +172,7 @@ void wxGenericPrintDialog::Init(wxWindow * WXUNUSED(parent))
                                          1, wxRA_VERTICAL);
         m_rangeRadioBox->SetSelection(1);
        
-       mainsizer->Add( m_rangeRadioBox, 0, wxLEFT|wxTOP|wxRIGHT, 10 );
+        mainsizer->Add( m_rangeRadioBox, 0, wxLEFT|wxTOP|wxRIGHT, 10 );
     }
 
     // 3) bottom row
@@ -186,11 +183,11 @@ void wxGenericPrintDialog::Init(wxWindow * WXUNUSED(parent))
     {
         bottomsizer->Add( new wxStaticText(this, wxPRINTID_STATIC, _("From:") ), 0, wxCENTER|wxALL, 5 );
         m_fromText = new wxTextCtrl(this, wxPRINTID_FROM, "", wxDefaultPosition, wxSize(40, -1));
-       bottomsizer->Add( m_fromText, 1, wxCENTER|wxRIGHT, 10 );
+        bottomsizer->Add( m_fromText, 1, wxCENTER|wxRIGHT, 10 );
 
         bottomsizer->Add( new wxStaticText(this, wxPRINTID_STATIC, _("To:") ), 0, wxCENTER|wxALL, 5);
         m_toText = new wxTextCtrl(this, wxPRINTID_TO, "", wxDefaultPosition, wxSize(40, -1));
-       bottomsizer->Add( m_toText, 1, wxCENTER|wxRIGHT, 10 );
+        bottomsizer->Add( m_toText, 1, wxCENTER|wxRIGHT, 10 );
     }
 
     bottomsizer->Add( new wxStaticText(this, wxPRINTID_STATIC, _("Copies:") ), 0, wxCENTER|wxALL, 5 );
@@ -233,9 +230,7 @@ int wxGenericPrintDialog::ShowModal()
         int ret = genericPrintSetupDialog->ShowModal();
         if ( ret != wxID_CANCEL )
         {
-            // Transfer settings to the global object (for compatibility) and to
-            // the print dialog's print data.
-            *wxThePrintSetupData = genericPrintSetupDialog->GetPrintData();
+            // Transfer settings to  the print dialog's print data.
             m_printDialogData.GetPrintData() = genericPrintSetupDialog->GetPrintData();
         }
         genericPrintSetupDialog->Destroy();
@@ -267,22 +262,18 @@ void wxGenericPrintDialog::OnOK(wxCommandEvent& WXUNUSED(event))
     if (m_printDialogData.GetPrintToFile())
     {
         m_printDialogData.GetPrintData().SetPrintMode(wxPRINT_MODE_FILE);
-        wxThePrintSetupData->SetPrinterMode(wxPRINT_MODE_FILE);
-
-        wxString f = wxFileSelector(_("PostScript file"),
-            wxPathOnly(wxThePrintSetupData->GetPrinterFile()),
-            wxFileNameFromPath(wxThePrintSetupData->GetPrinterFile()),
-            wxT("ps"), wxT("*.ps"), 0, this);
-        if ( f.IsEmpty() )
-            return;
+        
+        wxFileName fname( m_printDialogData.GetPrintData().GetFilename() );
+        
+        wxFileDialog dialog( this, _("PostScript file"),
+            fname.GetPath(), fname.GetFullName(), wxT("*.ps"), wxOPEN | wxFILE_MUST_EXIST );
+        if (dialog.ShowModal() != wxID_OK) return;
 
-        m_printDialogData.GetPrintData().SetFilename(f);
-        wxThePrintSetupData->SetPrinterFile(f);
+        m_printDialogData.GetPrintData().SetFilename( dialog.GetPath() );
     }
     else
     {
         m_printDialogData.GetPrintData().SetPrintMode(wxPRINT_MODE_PRINTER);
-        wxThePrintSetupData->SetPrinterMode(wxPRINT_MODE_PRINTER);
     }
 
     EndModal(wxID_OK);
@@ -306,17 +297,11 @@ void wxGenericPrintDialog::OnRange(wxCommandEvent& event)
 
 void wxGenericPrintDialog::OnSetup(wxCommandEvent& WXUNUSED(event))
 {
-   *wxThePrintSetupData = m_printDialogData.GetPrintData();
-    wxGenericPrintSetupDialog *genericPrintSetupDialog =
-        new wxGenericPrintSetupDialog(this, wxThePrintSetupData);
-    int ret = genericPrintSetupDialog->ShowModal();
-    if ( ret != wxID_CANCEL )
+    wxGenericPrintSetupDialog dialog( this, &m_printDialogData.GetPrintData() );
+    if (dialog.ShowModal() != wxID_CANCEL)
     {
-        *wxThePrintSetupData = genericPrintSetupDialog->GetPrintData();
-        m_printDialogData = genericPrintSetupDialog->GetPrintData();
+        m_printDialogData = dialog.GetPrintData();
     }
-
-    genericPrintSetupDialog->Close(TRUE);
 }
 
 bool wxGenericPrintDialog::TransferDataToWindow()
@@ -423,19 +408,6 @@ wxDialog(parent, -1, _("Print Setup"), wxPoint(0, 0), wxSize(600, 600), wxDEFAUL
     Init(data);
 }
 
-// Convert wxPrintSetupData to standard wxPrintData object
-wxGenericPrintSetupDialog::wxGenericPrintSetupDialog(wxWindow *parent, wxPrintSetupData* data):
-wxDialog(parent, -1, _("Print Setup"), wxPoint(0, 0), wxSize(600, 600), wxDEFAULT_DIALOG_STYLE|wxDIALOG_MODAL|wxTAB_TRAVERSAL)
-{
-    wxPrintData printData;
-    if (data)
-        printData = * data;
-    else
-        printData = * wxThePrintSetupData;
-
-    Init(& printData);
-}
-
 void wxGenericPrintSetupDialog::Init(wxPrintData* data)
 {
     if ( data )
@@ -482,6 +454,8 @@ void wxGenericPrintSetupDialog::Init(wxPrintData* data)
 
     okButton->SetDefault();
     okButton->SetFocus();
+    
+    printf( "Hello generic\n" );
 
     Fit();
     Centre(wxBOTH);
@@ -536,8 +510,6 @@ bool wxGenericPrintSetupDialog::TransferDataFromWindow()
             m_printData.SetPaperId(wxThePrintPaperDatabase->ConvertNameToId(val));
     }
 
-    // This is for backward compatibility only
-    *wxThePrintSetupData = GetPrintData();
     return TRUE;
 }
 
@@ -756,32 +728,35 @@ bool wxGenericPageSetupDialog::TransferDataToWindow()
 bool wxGenericPageSetupDialog::TransferDataFromWindow()
 {
     if (m_marginLeftText && m_marginTopText)
-        m_pageData.SetMarginTopLeft(wxPoint(wxAtoi((const wxChar *)m_marginLeftText->GetValue()),wxAtoi((const wxChar *)m_marginTopText->GetValue())));
+    {
+        int left = wxAtoi( m_marginLeftText->GetValue().c_str() );
+        int top = wxAtoi( m_marginTopText->GetValue().c_str() );
+        m_pageData.SetMarginTopLeft( wxPoint(left,top) );
+    }
     if (m_marginRightText && m_marginBottomText)
-        m_pageData.SetMarginBottomRight(wxPoint(wxAtoi((const wxChar *)m_marginRightText->GetValue()),wxAtoi((const wxChar *)m_marginBottomText->GetValue())));
+    {
+        int right = wxAtoi( m_marginRightText->GetValue().c_str() );
+        int bottom = wxAtoi( m_marginBottomText->GetValue().c_str() );
+        m_pageData.SetMarginBottomRight( wxPoint(right,bottom) );
+    }
 
     if (m_orientationRadioBox)
     {
         int sel = m_orientationRadioBox->GetSelection();
         if (sel == 0)
         {
-#if wxUSE_POSTSCRIPT
-            wxThePrintSetupData->SetPrinterOrientation(wxPORTRAIT);
-#endif
             m_pageData.GetPrintData().SetOrientation(wxPORTRAIT);
         }
         else
         {
-#if wxUSE_POSTSCRIPT
-            wxThePrintSetupData->SetPrinterOrientation(wxLANDSCAPE);
-#endif
             m_pageData.GetPrintData().SetOrientation(wxLANDSCAPE);
         }
     }
+    
     if (m_paperTypeChoice)
     {
         wxString val(m_paperTypeChoice->GetStringSelection());
-        if (!val.IsNull() && val != "")
+        if (!val.IsEmpty())
         {
             wxPrintPaperType* paper = wxThePrintPaperDatabase->FindPaperType(val);
             if ( paper )
@@ -829,3 +804,4 @@ wxComboBox *wxGenericPageSetupDialog::CreatePaperTypeChoice(int *x, int *y)
 }
 
 #endif
+
index fac5d336351d230fc4a42e66939138cccbd3b4da..117e2261c4a2dcf903ea3b81e390fccdb204c0da 100644 (file)
@@ -425,9 +425,6 @@ wxHtmlEasyPrinting::wxHtmlEasyPrinting(const wxString& name, wxFrame *parent_fra
     m_Frame = parent_frame;
     m_Name = name;
     m_PrintData = new wxPrintData;
-#if (defined __WXGTK__) || (defined __WXMOTIF__)
-    (*m_PrintData) = (*wxThePrintSetupData);
-#endif
     m_PageSetupData = new wxPageSetupDialogData;
     m_Headers[0] = m_Headers[1] = m_Footers[0] = m_Footers[1] = wxEmptyString;