+public:
+ wxPrintData();
+ wxPrintData(const wxPrintData& printData);
+ ~wxPrintData();
+
+ int GetNoCopies() const { return m_printNoCopies; };
+ bool GetCollate() const { return m_printCollate; };
+ int GetOrientation() const { return m_printOrientation; };
+
+ // Is this data OK for showing the print dialog?
+ bool Ok() const ;
+
+ const wxString& GetPrinterName() const { return m_printerName; }
+ bool GetColour() const { return m_colour; }
+ wxDuplexMode GetDuplex() const { return m_duplexMode; }
+ wxPaperSize GetPaperId() const { return m_paperId; }
+ const wxSize& GetPaperSize() const { return m_paperSize; } // Not used yet: confusable with paper size
+ // in wxPageSetupDialogData
+ wxPrintQuality GetQuality() const { return m_printQuality; }
+
+ void SetNoCopies(int v) { m_printNoCopies = v; };
+ void SetCollate(bool flag) { m_printCollate = flag; };
+ void SetOrientation(int orient) { m_printOrientation = orient; };
+
+ void SetPrinterName(const wxString& name) { m_printerName = name; }
+ void SetColour(bool colour) { m_colour = colour; }
+ void SetDuplex(wxDuplexMode duplex) { m_duplexMode = duplex; }
+ void SetPaperId(wxPaperSize sizeId) { m_paperId = sizeId; }
+ void SetPaperSize(const wxSize& sz) { m_paperSize = sz; }
+ void SetQuality(wxPrintQuality quality) { m_printQuality = quality; }
+
+ // PostScript-specific data
+ const wxString& GetPrinterCommand() const { return m_printerCommand; }
+ const wxString& GetPrinterOptions() const { return m_printerOptions; }
+ const wxString& GetPreviewCommand() const { return m_previewCommand; }
+ const wxString& GetFilename() const { return m_filename; }
+ const wxString& GetFontMetricPath() const { return m_afmPath; }
+ double GetPrinterScaleX() const { return m_printerScaleX; }
+ double GetPrinterScaleY() const { return m_printerScaleY; }
+ long GetPrinterTranslateX() const { return m_printerTranslateX; }
+ long GetPrinterTranslateY() const { return m_printerTranslateY; }
+ wxPrintMode GetPrintMode() const { return m_printMode; }
+
+ void SetPrinterCommand(const wxString& command) { m_printerCommand = command; }
+ void SetPrinterOptions(const wxString& options) { m_printerOptions = options; }
+ void SetPreviewCommand(const wxString& command) { m_previewCommand = command; }
+ void SetFilename(const wxString& filename) { m_filename = filename; }
+ void SetFontMetricPath(const wxString& path) { m_afmPath = path; }
+ void SetPrinterScaleX(double x) { m_printerScaleX = x; }
+ void SetPrinterScaleY(double y) { m_printerScaleY = y; }
+ void SetPrinterScaling(double x, double y) { m_printerScaleX = x; m_printerScaleY = y; }
+ void SetPrinterTranslateX(long x) { m_printerTranslateX = x; }
+ void SetPrinterTranslateY(long y) { m_printerTranslateY = y; }
+ void SetPrinterTranslation(long x, long y) { m_printerTranslateX = x; m_printerTranslateY = y; }
+ void SetPrintMode(wxPrintMode printMode) { m_printMode = printMode; }
+
+#if wxUSE_STREAMS
+ wxOutputStream* GetOutputStream() { return m_outputstream; }
+ void SetOutputStream(wxOutputStream* outputstream) { m_outputstream = outputstream; }
+#endif
+
+ void operator=(const wxPrintData& data);
+
+#if defined(__WXMSW__)
+ // Convert to/from the DEVMODE structure
+ void ConvertToNative();
+ void ConvertFromNative();
+ void* GetNativeData() const { return m_devMode; }
+ void SetNativeData(void* data) { m_devMode = data; }
+ void* GetNativeDataDevNames() const { return m_devNames; }
+ void SetNativeDataDevNames(void* data) { m_devNames = data; }
+#elif defined(__WXMAC__)
+ void ConvertToNative();
+ void ConvertFromNative();
+#endif