X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d6b9496a96223cc5164e5785485d7d622fd9b5e6..1d54b9d29706dbb43de5624bdf4a2aaa74b2350b:/include/wx/generic/prntdlgg.h diff --git a/include/wx/generic/prntdlgg.h b/include/wx/generic/prntdlgg.h index 9b86b32965..58326a231d 100644 --- a/include/wx/generic/prntdlgg.h +++ b/include/wx/generic/prntdlgg.h @@ -6,20 +6,26 @@ // Modified by: // Created: 01/02/97 // RCS-ID: $Id$ -// Copyright: (c) +// Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef __PRINTDLGH_G_ #define __PRINTDLGH_G_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "prntdlgg.h" #endif #include "wx/defs.h" + +#if wxUSE_PRINTING_ARCHITECTURE + #include "wx/dialog.h" -#include "wx/dialog.h" +#include "wx/cmndata.h" +#include "wx/prntbase.h" +#include "wx/printdlg.h" +#include "wx/listctrl.h" #if wxUSE_POSTSCRIPT #include "wx/dcps.h" @@ -28,16 +34,17 @@ class WXDLLEXPORT wxTextCtrl; class WXDLLEXPORT wxButton; class WXDLLEXPORT wxCheckBox; -class WXDLLEXPORT wxChoice; +class WXDLLEXPORT wxComboBox; class WXDLLEXPORT wxStaticText; class WXDLLEXPORT wxRadioBox; -class WXDLLEXPORT wxPrintSetupData; +class WXDLLEXPORT wxPageSetupData; // ---------------------------------------------------------------------------- // constants // ---------------------------------------------------------------------------- -// FIXME why all these enums start with 10 or 30? +// This is not clear why all these enums start with 10 or 30 but do not change it +// without good reason to avoid some subtle backwards compatibility breakage enum { @@ -64,7 +71,67 @@ enum wxPRINTID_ORIENTATION, wxPRINTID_COMMAND, wxPRINTID_OPTIONS, - wxPRINTID_PAPERSIZE + wxPRINTID_PAPERSIZE, + wxPRINTID_PRINTER +}; + +#if wxUSE_POSTSCRIPT + +//---------------------------------------------------------------------------- +// wxPostScriptNativeData +//---------------------------------------------------------------------------- + +class WXDLLEXPORT wxPostScriptPrintNativeData: public wxPrintNativeDataBase +{ +public: + wxPostScriptPrintNativeData(); + virtual ~wxPostScriptPrintNativeData(); + + virtual bool TransferTo( wxPrintData &data ); + virtual bool TransferFrom( const wxPrintData &data ); + + virtual bool Ok() const { return true; } + + const wxString& GetPrinterCommand() const { return m_printerCommand; } + const wxString& GetPrinterOptions() const { return m_printerOptions; } + const wxString& GetPreviewCommand() const { return m_previewCommand; } + 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; } + + 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 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; } + +#if wxUSE_STREAMS + wxOutputStream *GetOutputStream() { return m_outputStream; } + void SetOutputStream( wxOutputStream *output ) { m_outputStream = output; } +#endif + +private: + wxString m_printerCommand; + wxString m_previewCommand; + wxString m_printerOptions; + wxString m_afmPath; + double m_printerScaleX; + double m_printerScaleY; + long m_printerTranslateX; + long m_printerTranslateY; +#if wxUSE_STREAMS + wxOutputStream *m_outputStream; +#endif + +private: + DECLARE_DYNAMIC_CLASS(wxPostScriptPrintNativeData) }; // ---------------------------------------------------------------------------- @@ -72,10 +139,8 @@ enum // Windows using PostScript print/preview) // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxGenericPrintDialog : public wxDialog +class WXDLLEXPORT wxGenericPrintDialog : public wxPrintDialogBase { - DECLARE_DYNAMIC_CLASS(wxGenericPrintDialog) - public: wxGenericPrintDialog(wxWindow *parent, wxPrintDialogData* data = (wxPrintDialogData*)NULL); @@ -92,24 +157,22 @@ public: virtual int ShowModal(); -#if wxUSE_POSTSCRIPT wxPrintData& GetPrintData() { return m_printDialogData.GetPrintData(); } -#endif // wxUSE_POSTSCRIPT wxPrintDialogData& GetPrintDialogData() { return m_printDialogData; } wxDC *GetPrintDC(); public: - wxStaticText* m_printerMessage; +// wxStaticText* m_printerMessage; wxButton* m_setupButton; - wxButton* m_helpButton; +// wxButton* m_helpButton; wxRadioBox* m_rangeRadioBox; wxTextCtrl* m_fromText; wxTextCtrl* m_toText; wxTextCtrl* m_noCopiesText; wxCheckBox* m_printToFileCheckBox; - wxCheckBox* m_collateCopiesCheckBox; +// wxCheckBox* m_collateCopiesCheckBox; wxPrintDialogData m_printDialogData; @@ -118,54 +181,61 @@ protected: private: DECLARE_EVENT_TABLE() + DECLARE_DYNAMIC_CLASS(wxGenericPrintDialog) }; class WXDLLEXPORT wxGenericPrintSetupDialog : public wxDialog { - DECLARE_CLASS(wxGenericPrintSetupDialog) - public: // There are no configuration options for the dialog, so we // just pass the wxPrintData object (no wxPrintSetupDialogData class needed) wxGenericPrintSetupDialog(wxWindow *parent, wxPrintData* data); - wxGenericPrintSetupDialog(wxWindow *parent, wxPrintSetupData* data); virtual ~wxGenericPrintSetupDialog(); void Init(wxPrintData* data); + void OnPrinter(wxListEvent& event); + virtual bool TransferDataFromWindow(); virtual bool TransferDataToWindow(); - wxChoice *CreatePaperTypeChoice(int* x, int* y); + virtual wxComboBox *CreatePaperTypeChoice(); public: + wxListCtrl* m_printerListCtrl; wxRadioBox* m_orientationRadioBox; wxTextCtrl* m_printerCommandText; wxTextCtrl* m_printerOptionsText; wxCheckBox* m_colourCheckBox; - wxChoice* m_paperTypeChoice; + wxComboBox* m_paperTypeChoice; -#if wxUSE_POSTSCRIPT wxPrintData m_printData; wxPrintData& GetPrintData() { return m_printData; } -#endif // wxUSE_POSTSCRIPT + + // After pressing OK, write data here. + wxPrintData* m_targetData; + +private: + DECLARE_EVENT_TABLE() + DECLARE_CLASS(wxGenericPrintSetupDialog) }; +#endif + // wxUSE_POSTSCRIPT -class WXDLLEXPORT wxGenericPageSetupDialog : public wxDialog +class WXDLLEXPORT wxGenericPageSetupDialog : public wxPageSetupDialogBase { - DECLARE_CLASS(wxGenericPageSetupDialog) - public: - wxGenericPageSetupDialog(wxWindow *parent, wxPageSetupData* data = (wxPageSetupData*) NULL); + wxGenericPageSetupDialog(wxWindow *parent = NULL, + wxPageSetupDialogData* data = NULL); virtual ~wxGenericPageSetupDialog(); virtual bool TransferDataFromWindow(); virtual bool TransferDataToWindow(); - void OnPrinter(wxCommandEvent& event); + virtual wxPageSetupDialogData& GetPageSetupDialogData(); - wxChoice *CreatePaperTypeChoice(int* x, int* y); - wxPageSetupData& GetPageSetupData() { return m_pageData; } + void OnPrinter(wxCommandEvent& event); + wxComboBox *CreatePaperTypeChoice(int* x, int* y); public: wxButton* m_printerButton; @@ -174,15 +244,16 @@ public: wxTextCtrl* m_marginTopText; wxTextCtrl* m_marginRightText; wxTextCtrl* m_marginBottomText; - wxChoice* m_paperTypeChoice; - - static bool m_pageSetupDialogCancelled; + wxComboBox* m_paperTypeChoice; - wxPageSetupData m_pageData; + wxPageSetupDialogData m_pageData; private: DECLARE_EVENT_TABLE() + DECLARE_DYNAMIC_CLASS_NO_COPY(wxGenericPageSetupDialog) }; #endif -// __PRINTDLGH_G__ + +#endif +// __PRINTDLGH_G_