1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxGenericPrintDialog, wxGenericPrintSetupDialog,
4 // wxGenericPageSetupDialog
5 // Author: Julian Smart
10 // Licence: wxWindows licence
11 /////////////////////////////////////////////////////////////////////////////
13 #ifndef __PRINTDLGH_G_
14 #define __PRINTDLGH_G_
17 #pragma interface "prntdlgg.h"
22 #if wxUSE_PRINTING_ARCHITECTURE
24 #include "wx/dialog.h"
25 #include "wx/dialog.h"
31 class WXDLLEXPORT wxTextCtrl
;
32 class WXDLLEXPORT wxButton
;
33 class WXDLLEXPORT wxCheckBox
;
34 class WXDLLEXPORT wxChoice
;
35 class WXDLLEXPORT wxStaticText
;
36 class WXDLLEXPORT wxRadioBox
;
37 class WXDLLEXPORT wxPrintSetupData
;
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
81 DECLARE_DYNAMIC_CLASS(wxGenericPrintDialog
)
84 wxGenericPrintDialog(wxWindow
*parent
,
85 wxPrintDialogData
* data
= (wxPrintDialogData
*)NULL
);
86 wxGenericPrintDialog(wxWindow
*parent
, wxPrintData
* data
);
88 virtual ~wxGenericPrintDialog();
90 void OnSetup(wxCommandEvent
& event
);
91 void OnRange(wxCommandEvent
& event
);
92 void OnOK(wxCommandEvent
& event
);
94 virtual bool TransferDataFromWindow();
95 virtual bool TransferDataToWindow();
97 virtual int ShowModal();
100 wxPrintData
& GetPrintData()
101 { return m_printDialogData
.GetPrintData(); }
102 #endif // wxUSE_POSTSCRIPT
104 wxPrintDialogData
& GetPrintDialogData() { return m_printDialogData
; }
108 // wxStaticText* m_printerMessage;
109 wxButton
* m_setupButton
;
110 // wxButton* m_helpButton;
111 wxRadioBox
* m_rangeRadioBox
;
112 wxTextCtrl
* m_fromText
;
113 wxTextCtrl
* m_toText
;
114 wxTextCtrl
* m_noCopiesText
;
115 wxCheckBox
* m_printToFileCheckBox
;
116 // wxCheckBox* m_collateCopiesCheckBox;
118 wxPrintDialogData m_printDialogData
;
121 void Init(wxWindow
*parent
);
124 DECLARE_EVENT_TABLE()
127 class WXDLLEXPORT wxGenericPrintSetupDialog
: public wxDialog
129 DECLARE_CLASS(wxGenericPrintSetupDialog
)
132 // There are no configuration options for the dialog, so we
133 // just pass the wxPrintData object (no wxPrintSetupDialogData class needed)
134 wxGenericPrintSetupDialog(wxWindow
*parent
, wxPrintData
* data
);
135 wxGenericPrintSetupDialog(wxWindow
*parent
, wxPrintSetupData
* data
);
136 virtual ~wxGenericPrintSetupDialog();
138 void Init(wxPrintData
* data
);
140 virtual bool TransferDataFromWindow();
141 virtual bool TransferDataToWindow();
143 wxChoice
*CreatePaperTypeChoice(int* x
, int* y
);
146 wxRadioBox
* m_orientationRadioBox
;
147 wxTextCtrl
* m_printerCommandText
;
148 wxTextCtrl
* m_printerOptionsText
;
149 wxCheckBox
* m_colourCheckBox
;
150 wxChoice
* m_paperTypeChoice
;
153 wxPrintData m_printData
;
154 wxPrintData
& GetPrintData() { return m_printData
; }
155 #endif // wxUSE_POSTSCRIPT
160 class WXDLLEXPORT wxGenericPageSetupDialog
: public wxDialog
162 DECLARE_CLASS(wxGenericPageSetupDialog
)
165 wxGenericPageSetupDialog(wxWindow
*parent
, wxPageSetupData
* data
= (wxPageSetupData
*) NULL
);
166 virtual ~wxGenericPageSetupDialog();
168 virtual bool TransferDataFromWindow();
169 virtual bool TransferDataToWindow();
171 void OnPrinter(wxCommandEvent
& event
);
173 wxChoice
*CreatePaperTypeChoice(int* x
, int* y
);
174 wxPageSetupData
& GetPageSetupData() { return m_pageData
; }
177 wxButton
* m_printerButton
;
178 wxRadioBox
* m_orientationRadioBox
;
179 wxTextCtrl
* m_marginLeftText
;
180 wxTextCtrl
* m_marginTopText
;
181 wxTextCtrl
* m_marginRightText
;
182 wxTextCtrl
* m_marginBottomText
;
183 wxChoice
* m_paperTypeChoice
;
185 static bool m_pageSetupDialogCancelled
;
187 wxPageSetupData m_pageData
;
190 DECLARE_EVENT_TABLE()