+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; }
+
+ 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
+
+public:
+#if defined(__WXMSW__)
+ void* m_devMode;
+ void* m_devNames;
+#elif defined(__WXMAC__)
+ void* m_macPageFormat ;
+ void* m_macPrintSettings ;
+#endif
+
+private:
+ int m_printNoCopies;
+ int m_printOrientation;
+ bool m_printCollate;
+
+ // New members, 24/3/99
+ wxString m_printerName;
+ bool m_colour;
+ wxDuplexMode m_duplexMode;
+ wxPrintQuality m_printQuality;
+ wxPaperSize m_paperId;
+ wxSize m_paperSize;
+
+ // PostScript-specific data
+ wxString m_printerCommand;
+ wxString m_previewCommand;
+ wxString m_printerOptions;
+ wxString m_filename;
+ wxString m_afmPath;
+ double m_printerScaleX;
+ double m_printerScaleY;
+ long m_printerTranslateX;
+ long m_printerTranslateY;
+ wxPrintMode m_printMode;
+
+private:
+ DECLARE_DYNAMIC_CLASS(wxPrintData)
+};
+
+/*
+ * wxPrintDialogData
+ * Encapsulates information displayed and edited in the printer dialog box.
+ * Contains a wxPrintData object which is filled in according to the values retrieved
+ * from the dialog.
+ */
+
+class WXDLLEXPORT wxPrintDialogData: public wxObject
+{
+public:
+ wxPrintDialogData();
+ wxPrintDialogData(const wxPrintDialogData& dialogData);
+ wxPrintDialogData(const wxPrintData& printData);
+ ~wxPrintDialogData();
+
+ int GetFromPage() const { return m_printFromPage; };
+ int GetToPage() const { return m_printToPage; };
+ int GetMinPage() const { return m_printMinPage; };
+ int GetMaxPage() const { return m_printMaxPage; };
+ int GetNoCopies() const { return m_printNoCopies; };
+ bool GetAllPages() const { return m_printAllPages; };
+ bool GetSelection() const { return m_printSelection; };
+ bool GetCollate() const { return m_printCollate; };
+ bool GetPrintToFile() const { return m_printToFile; };
+ bool GetSetupDialog() const { return m_printSetupDialog; };
+
+ void SetFromPage(int v) { m_printFromPage = v; };
+ void SetToPage(int v) { m_printToPage = v; };
+ void SetMinPage(int v) { m_printMinPage = v; };
+ void SetMaxPage(int v) { m_printMaxPage = v; };
+ void SetNoCopies(int v) { m_printNoCopies = v; };
+ void SetAllPages(bool flag) { m_printAllPages = flag; };
+ void SetSelection(bool flag) { m_printSelection = flag; };
+ void SetCollate(bool flag) { m_printCollate = flag; };
+ void SetPrintToFile(bool flag) { m_printToFile = flag; };
+ void SetSetupDialog(bool flag) { m_printSetupDialog = flag; };
+
+ void EnablePrintToFile(bool flag) { m_printEnablePrintToFile = flag; };
+ void EnableSelection(bool flag) { m_printEnableSelection = flag; };
+ void EnablePageNumbers(bool flag) { m_printEnablePageNumbers = flag; };
+ void EnableHelp(bool flag) { m_printEnableHelp = flag; };
+
+ bool GetEnablePrintToFile() const { return m_printEnablePrintToFile; };
+ bool GetEnableSelection() const { return m_printEnableSelection; };
+ bool GetEnablePageNumbers() const { return m_printEnablePageNumbers; };
+ bool GetEnableHelp() const { return m_printEnableHelp; };
+
+ // Is this data OK for showing the print dialog?
+ bool Ok() const { return m_printData.Ok() ; }
+
+ wxPrintData& GetPrintData() { return m_printData; }
+ void SetPrintData(const wxPrintData& printData) { m_printData = printData; }
+
+ void operator=(const wxPrintDialogData& data);
+ void operator=(const wxPrintData& data); // Sets internal m_printData member