1 ///////////////////////////////////////////////////////////////////////////// 
   3 // Purpose:     wxGenericPrintDialog, wxGenericPrintSetupDialog, 
   4 //              wxGenericPageSetupDialog 
   5 // Author:      Julian Smart 
  10 // Licence:     wxWindows licence 
  11 ///////////////////////////////////////////////////////////////////////////// 
  13 #ifndef __PRINTDLGH_G_ 
  14 #define __PRINTDLGH_G_ 
  16 #if defined(__GNUG__) && !defined(__APPLE__) 
  17     #pragma interface "prntdlgg.h" 
  22 #if wxUSE_PRINTING_ARCHITECTURE 
  24 #include "wx/dialog.h" 
  25 #include "wx/cmndata.h" 
  31 class WXDLLEXPORT wxTextCtrl
; 
  32 class WXDLLEXPORT wxButton
; 
  33 class WXDLLEXPORT wxCheckBox
; 
  34 class WXDLLEXPORT wxComboBox
; 
  35 class WXDLLEXPORT wxStaticText
; 
  36 class WXDLLEXPORT wxRadioBox
; 
  37 class WXDLLEXPORT wxPrintSetupData
; 
  38 class WXDLLEXPORT wxPageSetupData
; 
  39 // ---------------------------------------------------------------------------- 
  41 // ---------------------------------------------------------------------------- 
  43 // FIXME why all these enums start with 10 or 30? 
  47     wxPRINTID_STATIC 
= 10, 
  52     wxPRINTID_PRINTTOFILE
, 
  58     wxPRINTID_LEFTMARGIN 
= 30, 
  59     wxPRINTID_RIGHTMARGIN
, 
  61     wxPRINTID_BOTTOMMARGIN
 
  66     wxPRINTID_PRINTCOLOUR 
= 10, 
  67     wxPRINTID_ORIENTATION
, 
  73 // ---------------------------------------------------------------------------- 
  74 // Simulated Print and Print Setup dialogs for non-Windows platforms (and 
  75 // Windows using PostScript print/preview) 
  76 // ---------------------------------------------------------------------------- 
  79 class WXDLLEXPORT wxGenericPrintDialog 
: public wxDialog
 
  82     wxGenericPrintDialog(wxWindow 
*parent
, 
  83                          wxPrintDialogData
* data 
= (wxPrintDialogData
*)NULL
); 
  84     wxGenericPrintDialog(wxWindow 
*parent
, wxPrintData
* data
); 
  86     virtual ~wxGenericPrintDialog(); 
  88     void OnSetup(wxCommandEvent
& event
); 
  89     void OnRange(wxCommandEvent
& event
); 
  90     void OnOK(wxCommandEvent
& event
); 
  92     virtual bool TransferDataFromWindow(); 
  93     virtual bool TransferDataToWindow(); 
  95     virtual int ShowModal(); 
  98     wxPrintData
& GetPrintData() 
  99         { return m_printDialogData
.GetPrintData(); } 
 100 #endif // wxUSE_POSTSCRIPT 
 102     wxPrintDialogData
& GetPrintDialogData() { return m_printDialogData
; } 
 106 //    wxStaticText*       m_printerMessage; 
 107     wxButton
*           m_setupButton
; 
 108 //    wxButton*           m_helpButton; 
 109     wxRadioBox
*         m_rangeRadioBox
; 
 110     wxTextCtrl
*         m_fromText
; 
 111     wxTextCtrl
*         m_toText
; 
 112     wxTextCtrl
*         m_noCopiesText
; 
 113     wxCheckBox
*         m_printToFileCheckBox
; 
 114 //    wxCheckBox*         m_collateCopiesCheckBox; 
 116     wxPrintDialogData   m_printDialogData
; 
 119     void Init(wxWindow 
*parent
); 
 122     DECLARE_EVENT_TABLE() 
 123     DECLARE_DYNAMIC_CLASS(wxGenericPrintDialog
) 
 126 class WXDLLEXPORT wxGenericPrintSetupDialog 
: public wxDialog
 
 129     // There are no configuration options for the dialog, so we 
 130     // just pass the wxPrintData object (no wxPrintSetupDialogData class needed) 
 131     wxGenericPrintSetupDialog(wxWindow 
*parent
, wxPrintData
* data
); 
 132     wxGenericPrintSetupDialog(wxWindow 
*parent
, wxPrintSetupData
* data
); 
 133     virtual ~wxGenericPrintSetupDialog(); 
 135     void Init(wxPrintData
* data
); 
 137     virtual bool TransferDataFromWindow(); 
 138     virtual bool TransferDataToWindow(); 
 140     wxComboBox 
*CreatePaperTypeChoice(int* x
, int* y
); 
 143     wxRadioBox
*         m_orientationRadioBox
; 
 144     wxTextCtrl
*         m_printerCommandText
; 
 145     wxTextCtrl
*         m_printerOptionsText
; 
 146     wxCheckBox
*         m_colourCheckBox
; 
 147     wxComboBox
*           m_paperTypeChoice
; 
 150     wxPrintData         m_printData
; 
 151     wxPrintData
&        GetPrintData() { return m_printData
; } 
 152 #endif // wxUSE_POSTSCRIPT 
 155     DECLARE_CLASS(wxGenericPrintSetupDialog
) 
 160 class WXDLLEXPORT wxGenericPageSetupDialog 
: public wxDialog
 
 163     wxGenericPageSetupDialog(wxWindow 
*parent 
= NULL
, 
 164                              wxPageSetupData
* data 
= NULL
); 
 165     virtual ~wxGenericPageSetupDialog(); 
 167     virtual bool TransferDataFromWindow(); 
 168     virtual bool TransferDataToWindow(); 
 170     void OnPrinter(wxCommandEvent
& event
); 
 172     wxComboBox 
*CreatePaperTypeChoice(int* x
, int* y
); 
 173     wxPageSetupData
& GetPageSetupData() { return m_pageData
; } 
 176     wxButton
*       m_printerButton
; 
 177     wxRadioBox
*     m_orientationRadioBox
; 
 178     wxTextCtrl
*     m_marginLeftText
; 
 179     wxTextCtrl
*     m_marginTopText
; 
 180     wxTextCtrl
*     m_marginRightText
; 
 181     wxTextCtrl
*     m_marginBottomText
; 
 182     wxComboBox
*       m_paperTypeChoice
; 
 184     static bool     m_pageSetupDialogCancelled
; 
 186     wxPageSetupData m_pageData
; 
 189     DECLARE_EVENT_TABLE() 
 190     DECLARE_DYNAMIC_CLASS_NO_COPY(wxGenericPageSetupDialog
)