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
)