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