]>
Commit | Line | Data |
---|---|---|
2bda0e17 KB |
1 | ///////////////////////////////////////////////////////////////////////////// |
2 | // Name: setup.h | |
3 | // Purpose: Configuration for the library | |
4 | // Author: Julian Smart | |
5 | // Modified by: | |
6 | // Created: 01/02/97 | |
7 | // RCS-ID: $Id$ | |
bbcdf8bc | 8 | // Copyright: (c) Julian Smart |
fd3f686c | 9 | // Licence: wxWindows licence |
2bda0e17 KB |
10 | ///////////////////////////////////////////////////////////////////////////// |
11 | ||
bbcdf8bc JS |
12 | #ifndef _WX_SETUP_H_ |
13 | #define _WX_SETUP_H_ | |
2bda0e17 KB |
14 | |
15 | /* | |
16 | * General features | |
17 | * | |
18 | */ | |
19 | ||
47d67540 | 20 | #define wxUSE_CONFIG 1 |
6b0eb19f | 21 | // Use wxConfig, with CreateConfig in wxApp |
bbcdf8bc | 22 | #define _WX_GOODCOMPILER__ |
145aa406 JS |
23 | // gcc can have problems, but Windows compilers |
24 | // are generally OK. | |
2bda0e17 KB |
25 | #define WXWIN_COMPATIBILITY 1 |
26 | // Compatibility with 1.66 API. | |
27 | // Level 0: no backward compatibility, all new features | |
28 | // Level 1: wxDC, OnSize (etc.) compatibility, but | |
29 | // some new features such as event tables | |
30 | ||
3222fde2 VZ |
31 | #define wxUSE_AUTOTRANS 1 |
32 | // Define wxTString | |
184b5d99 | 33 | #define wxUSE_POSTSCRIPT 0 |
3222fde2 | 34 | // 0 for no PostScript device context |
47d67540 | 35 | #define wxUSE_AFM_FOR_POSTSCRIPT 0 |
2bda0e17 | 36 | // 1 to use font metric files in GetTextExtent |
47d67540 | 37 | #define wxUSE_METAFILE 1 |
2bda0e17 | 38 | // 0 for no Metafile and metafile device context |
47d67540 | 39 | #define wxUSE_FORM 0 |
2bda0e17 | 40 | // 0 for no wxForm |
47d67540 | 41 | #define wxUSE_IPC 1 |
2bda0e17 KB |
42 | // 0 for no interprocess comms |
43 | // Note: wxHELP uses IPC under X so these are interdependent! | |
47d67540 | 44 | #define wxUSE_HELP 1 |
2bda0e17 | 45 | // 0 for no help facility |
47d67540 | 46 | #define wxUSE_RESOURCES 1 |
fd3f686c | 47 | // 0 for no wxGetResource/wxWriteResource |
47d67540 | 48 | #define wxUSE_CONSTRAINTS 1 |
2bda0e17 | 49 | // 0 for no window layout constraint system |
fd3f686c | 50 | |
47d67540 | 51 | #define wxUSE_TIMEDATE 1 |
2bda0e17 | 52 | // 0 for no wxTime/wxDate classes |
fd3f686c | 53 | |
47d67540 | 54 | #define wxUSE_CLIPBOARD 1 |
fd3f686c | 55 | // 0 for no clipboard functions |
47d67540 | 56 | #define wxUSE_SPLINES 1 |
fd3f686c | 57 | // 0 for no splines |
47d67540 | 58 | #define wxUSE_XFIG_SPLINE_CODE 1 |
fd3f686c | 59 | // 1 for XFIG spline code, 0 for AIAI spline code. |
2bda0e17 KB |
60 | // AIAI spline code is slower, but freer of copyright issues. |
61 | ||
47d67540 | 62 | #define wxUSE_DRAG_AND_DROP 1 |
fd3f686c | 63 | // 0 for no drag and drop |
2bda0e17 | 64 | |
47d67540 | 65 | #define wxUSE_TOOLBAR 1 |
2bda0e17 | 66 | // Define 1 to use toolbar classes |
47d67540 | 67 | #define wxUSE_BUTTONBAR 1 |
2bda0e17 KB |
68 | // Define 1 to use buttonbar classes (enhanced toolbar |
69 | // for MS Windows) | |
47d67540 | 70 | #define wxUSE_GAUGE 1 |
2bda0e17 KB |
71 | // Define 1 to use Microsoft's gauge (Windows) |
72 | // or Bull's gauge (Motif) library (both in contrib). | |
47d67540 | 73 | #define wxUSE_COMBOBOX 1 |
2bda0e17 KB |
74 | // Define 1 to use COMBOXBOX control (Windows) |
75 | // or FWW's ComboBox widget (Motif). | |
47d67540 | 76 | #define wxUSE_RADIOBUTTON 1 |
2bda0e17 KB |
77 | // Define 1 to use radio button control |
78 | ||
47d67540 | 79 | #define wxUSE_SCROLLBAR 1 |
2bda0e17 | 80 | // Define 1 to compile contributed wxScrollBar class |
6164d85e | 81 | #define wxUSE_XPM_IN_MSW 0 |
4fabb575 | 82 | // Define 1 to support the XPM package in wxBitmap. |
47d67540 | 83 | #define wxUSE_IMAGE_LOADING_IN_MSW 1 |
2bda0e17 | 84 | // Use dynamic DIB loading/saving code in utils/dib under MSW. |
c085e333 | 85 | #define wxUSE_RESOURCE_LOADING_IN_MSW 1 |
2bda0e17 KB |
86 | // Use dynamic icon/cursor loading/saving code |
87 | // under MSW. | |
47d67540 | 88 | #define wxUSE_WX_RESOURCES 1 |
2bda0e17 KB |
89 | // Use .wxr resource mechanism (requires PrologIO library) |
90 | ||
3b1de9c2 JS |
91 | // BC++/Win16 can't cope with the amount of data in resource.cpp |
92 | #if defined(__WIN16__) && defined(__BORLANDC__) | |
93 | #undef wxUSE_WX_RESOURCES | |
94 | #define wxUSE_WX_RESOURCES 0 | |
95 | #endif | |
96 | ||
2bda0e17 | 97 | #define HAVE_SOCKET 1 |
fd3f686c | 98 | // Use WinSock if 1 |
47d67540 | 99 | #define wxUSE_DOC_VIEW_ARCHITECTURE 1 |
2bda0e17 | 100 | // Set to 0 to disable document/view architecture |
47d67540 | 101 | #define wxUSE_PRINTING_ARCHITECTURE 1 |
2bda0e17 | 102 | // Set to 0 to disable print/preview architecture code |
47d67540 | 103 | #define wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW 1 |
2bda0e17 KB |
104 | // Set to 0 to disable PostScript print/preview architecture code |
105 | // under Windows (just use Windows printing). | |
47d67540 | 106 | #define wxUSE_DYNAMIC_CLASSES 1 |
2bda0e17 KB |
107 | // If 1, enables provision of run-time type information. |
108 | // NOW MANDATORY: don't change. | |
7fe7d506 | 109 | #define wxUSE_MEMORY_TRACING 1 |
2bda0e17 | 110 | // If 1, enables debugging versions of wxObject::new and |
0f358732 | 111 | // wxObject::delete *IF* __WXDEBUG__ is also defined. |
2bda0e17 KB |
112 | // WARNING: this code may not work with all architectures, especially |
113 | // if alignment is an issue. | |
7fe7d506 | 114 | #define wxUSE_DEBUG_CONTEXT 1 |
2bda0e17 KB |
115 | // If 1, enables wxDebugContext, for |
116 | // writing error messages to file, etc. | |
0f358732 | 117 | // If __WXDEBUG__ is not defined, will still use |
2bda0e17 KB |
118 | // normal memory operators. |
119 | // It's recommended to set this to 1, | |
120 | // since you may well need to output | |
121 | // an error log in a production | |
122 | // version (or non-debugging beta) | |
839dda6f | 123 | #define wxUSE_GLOBAL_MEMORY_OPERATORS 1 |
2bda0e17 KB |
124 | // In debug mode, cause new and delete to be redefined globally. |
125 | // If this causes problems (e.g. link errors), set this to 0. | |
126 | ||
7fe7d506 JS |
127 | #define wxUSE_DEBUG_NEW_ALWAYS 1 |
128 | // In debug mode, causes new to be defined to | |
129 | // be WXDEBUG_NEW (see object.h). | |
130 | // If this causes problems (e.g. link errors), set this to 0. | |
025e88c5 JS |
131 | // You may need to set this to 0 if using templates (at least |
132 | // for VC++). | |
7fe7d506 | 133 | |
2bda0e17 KB |
134 | #define REMOVE_UNUSED_ARG 1 |
135 | // Set this to 0 if your compiler can't cope | |
136 | // with omission of prototype parameters. | |
137 | ||
a24ce622 | 138 | #define wxUSE_ODBC 1 |
2bda0e17 KB |
139 | // Define 1 to use ODBC classes |
140 | ||
518f33a4 | 141 | #ifndef __MWERKS__ |
47d67540 | 142 | #define wxUSE_IOSTREAMH 1 |
518f33a4 SC |
143 | #else |
144 | #define wxUSE_IOSTREAMH 0 | |
145 | #endif | |
2bda0e17 KB |
146 | // VC++ 4.2 and above allows <iostream> and <iostream.h> |
147 | // but you can't mix them. Set to 1 for <iostream.h>, | |
148 | // 0 for <iostream> | |
149 | ||
47d67540 | 150 | #define wxUSE_WXCONFIG 1 |
3bd29723 VZ |
151 | // if enabled, compiles built-in OS independent wxConfig |
152 | // class and it's file (any platform) and registry (Win) | |
153 | // based implementations | |
3222fde2 VZ |
154 | #define wxUSE_THREADS 1 |
155 | // support for multithreaded applications: if | |
156 | // 1, compile in thread classes (thread.h) | |
157 | // and make the library thread safe | |
124031d5 JS |
158 | #define wxUSE_ZLIB 1 |
159 | // Use zlib for compression in streams and PNG code | |
160 | #define wxUSE_LIBPNG 1 | |
161 | // Use PNG bitmap code | |
4bf78aae JS |
162 | #define wxUSE_STD_IOSTREAM 1 |
163 | // Use standard C++ streams if 1. If 0, use wxWin | |
164 | // streams implementation. | |
165 | ||
2bda0e17 KB |
166 | /* |
167 | * Finer detail | |
168 | * | |
169 | */ | |
170 | ||
fd3f686c VZ |
171 | #define wxUSE_APPLE_IEEE 1 |
172 | // if enabled, the float codec written by Apple | |
173 | // will be used to write, in a portable way, | |
174 | // float on the disk | |
cf447356 | 175 | |
2bda0e17 KB |
176 | /* |
177 | * MS Windows/Windows NT | |
178 | * | |
179 | */ | |
180 | ||
181 | #if defined(__WIN95__) | |
182 | #define CTL3D 0 | |
183 | #else | |
184 | #define CTL3D 1 | |
185 | // Define 1 to use Microsoft CTL3D library. | |
186 | // See note above about using FAFA and CTL3D. | |
187 | #endif | |
188 | ||
47d67540 | 189 | #define wxUSE_COMMON_DIALOGS 1 |
2bda0e17 KB |
190 | // On rare occasions (e.g. using DJGPP) may want |
191 | // to omit common dialogs | |
192 | // (e.g. file selector, printer dialog). | |
193 | // Switching this off also switches off | |
194 | // the printing architecture and interactive | |
195 | // wxPrinterDC. | |
47d67540 | 196 | #define wxUSE_ITSY_BITSY 1 |
2bda0e17 | 197 | // Define 1 to use Microsoft's ItsyBitsy |
f7387de5 | 198 | // small title bar library, for wxMiniFrame |
47d67540 | 199 | #define wxUSE_BITMAP_MESSAGE 1 |
2bda0e17 | 200 | // Define 1 to use bitmap messages. |
47d67540 | 201 | #define wxUSE_PORTABLE_FONTS_IN_MSW 0 |
2bda0e17 KB |
202 | // Define 1 to use new portable font scheme in Windows |
203 | // (used by default under X) | |
204 | #define FONT_SIZE_COMPATIBILITY 0 | |
205 | // Define 1 for font size to be backward compatible | |
206 | // to 1.63 and earlier. 1.64 and later define point | |
207 | // sizes to be compatible with Windows. | |
47d67540 | 208 | #define wxUSE_GENERIC_DIALOGS_IN_MSW 1 |
2bda0e17 KB |
209 | // Define 1 to use generic dialogs in Windows, even though |
210 | // they duplicate native common dialog (e.g. wxColourDialog) | |
47d67540 | 211 | #define wxUSE_PENWINDOWS 0 |
2bda0e17 KB |
212 | // Set to 1 to use PenWindows |
213 | ||
c085e333 | 214 | #define wxUSE_OWNER_DRAWN 1 |
2bda0e17 KB |
215 | // Owner-drawn menus and listboxes |
216 | ||
47d67540 | 217 | #define wxUSE_NATIVE_STATUSBAR 1 |
2bda0e17 | 218 | // Set to 0 to use cross-platform wxStatusBar |
a0a302dc JS |
219 | #define wxUSE_DBWIN32 1 |
220 | // Use Andrew Tucker's OutputDebugString implementation | |
221 | // (required on Win95 only). See utils.cpp. | |
2bda0e17 KB |
222 | |
223 | /* | |
224 | * Any platform | |
225 | * | |
226 | */ | |
227 | ||
47d67540 | 228 | #define wxUSE_TYPEDEFS 0 |
2bda0e17 | 229 | // Use typedefs not classes for wxPoint |
fd3f686c VZ |
230 | // and others, to reduce overhead and avoid |
231 | // MS C7 memory bug. Bounds checker | |
232 | // complains about deallocating | |
2bda0e17 KB |
233 | // arrays of wxPoints if wxPoint is a class. |
234 | ||
235 | #if (!defined(WIN32) && !defined(__WIN32__)) || defined(__GNUWIN32__) || defined(__BORLANDC__) | |
236 | // Can't use OLE drag and drop in Windows 3.1 because we don't know how | |
237 | // to implement UUIDs | |
238 | // GnuWin32 doesn't have appropriate headers for e.g. IUnknown. | |
47d67540 VZ |
239 | #undef wxUSE_DRAG_AND_DROP |
240 | #define wxUSE_DRAG_AND_DROP 0 | |
2bda0e17 KB |
241 | #endif |
242 | ||
243 | // Only WIN32 supports wxStatusBar95 | |
47d67540 VZ |
244 | #if !defined(__WIN32__) && wxUSE_NATIVE_STATUSBAR |
245 | #undef wxUSE_NATIVE_STATUSBAR | |
246 | #define wxUSE_NATIVE_STATUSBAR 0 | |
2bda0e17 KB |
247 | #endif |
248 | ||
249 | // Minimal setup e.g. for compiling small utilities | |
250 | #define MINIMAL_WXWINDOWS_SETUP 0 | |
251 | ||
252 | #if MINIMAL_WXWINDOWS_SETUP | |
47d67540 VZ |
253 | #undef wxUSE_POSTSCRIPT |
254 | # define wxUSE_POSTSCRIPT 0 | |
255 | #undef wxUSE_PRINTING_ARCHITECTURE | |
256 | # define wxUSE_PRINTING_ARCHITECTURE 0 | |
257 | #undef wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW | |
258 | # define wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW 0 | |
259 | #undef wxUSE_METAFILE | |
260 | # define wxUSE_METAFILE 0 | |
261 | #undef wxUSE_FORM | |
262 | # define wxUSE_FORM 0 | |
263 | #undef wxUSE_SPLINES | |
264 | # define wxUSE_SPLINES 0 | |
265 | #undef wxUSE_SCROLLBAR | |
266 | # define wxUSE_SCROLLBAR 0 | |
267 | #undef wxUSE_COMBOBOX | |
268 | # define wxUSE_COMBOBOX 0 | |
269 | #undef wxUSE_RADIOBUTTON | |
270 | # define wxUSE_RADIOBUTTON 0 | |
271 | #undef wxUSE_XPM_IN_MSW | |
272 | # define wxUSE_XPM_IN_MSW 0 | |
273 | #undef wxUSE_WX_RESOURCES | |
274 | # define wxUSE_WX_RESOURCES 0 | |
275 | #undef wxUSE_DOC_VIEW_ARCHITECTURE | |
276 | # define wxUSE_DOC_VIEW_ARCHITECTURE 0 | |
277 | #undef wxUSE_GNU_WXSTRING | |
278 | # define wxUSE_GNU_WXSTRING 0 | |
279 | #undef wxUSE_ODBC | |
280 | # define wxUSE_ODBC 0 | |
281 | #undef wxUSE_TIMEDATE | |
282 | # define wxUSE_TIMEDATE 0 | |
2bda0e17 KB |
283 | #undef CTL3D |
284 | # define CTL3D 0 | |
47d67540 VZ |
285 | #undef wxUSE_ITSY_BITSY |
286 | # define wxUSE_ITSY_BITSY 0 | |
287 | #undef wxUSE_IMAGE_LOADING_IN_MSW | |
288 | # define wxUSE_IMAGE_LOADING_IN_MSW 0 | |
289 | #undef wxUSE_GAUGE | |
290 | # define wxUSE_GAUGE 0 | |
291 | #undef wxUSE_RESOURCE_LOADING_IN_MSW | |
292 | # define wxUSE_RESOURCE_LOADING_IN_MSW 0 | |
293 | #undef wxUSE_DRAG_AND_DROP | |
294 | # define wxUSE_DRAG_AND_DROP 0 | |
2bda0e17 KB |
295 | #endif |
296 | ||
297 | #endif | |
bbcdf8bc | 298 | // _WX_SETUP_H_ |