]> git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/setup0.h
wxWindow::GetBestSize() added
[wxWidgets.git] / include / wx / msw / setup0.h
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$
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_SETUP_H_
13 #define _WX_SETUP_H_
14
15 // ----------------------------------------------------------------------------
16 // global settings
17 // ----------------------------------------------------------------------------
18
19 // define this to 0 when building wxBase library
20 #define wxUSE_GUI 1
21
22 #define WXWIN_COMPATIBILITY 0
23 // Compatibility with 1.68 API.
24 // Level 0: no backward compatibility, all new features
25 // Level 1: Some compatibility. In fact
26 // the compatibility code is now very minimal so there
27 // is little advantage to setting it to 1.
28
29 // ----------------------------------------------------------------------------
30 // General features
31 // ----------------------------------------------------------------------------
32
33 #define wxUSE_CONFIG 1
34 // Use wxConfig, with CreateConfig in wxApp
35 #define wxUSE_DIALUP_MANAGER 1
36 // Use wxDialUpManager class
37 #define wxUSE_POSTSCRIPT 0
38 // 0 for no PostScript device context
39 #define wxUSE_AFM_FOR_POSTSCRIPT 0
40 // 1 to use font metric files in GetTextExtent
41 #define wxUSE_METAFILE 1
42 // 0 for no Metafile and metafile device context
43 #define wxUSE_IPC 1
44 // 0 for no interprocess comms
45 // Note: wxHELP uses IPC under X so these are interdependent!
46 #define wxUSE_HELP 1
47 // 0 for no help facility
48 #define wxUSE_RESOURCES 1
49 // 0 for no wxGetResource/wxWriteResource
50 #define wxUSE_CONSTRAINTS 1
51 // 0 for no window layout constraint system
52
53 #define wxUSE_TIMEDATE 1
54 // 0 for no wxTime/wxDate classes
55
56 #define wxUSE_CLIPBOARD 1
57 // 0 for no clipboard functions
58
59 #define wxUSE_SPLINES 1
60 // 0 for no splines
61
62 #define wxUSE_DRAG_AND_DROP 1
63 // 0 for no drag and drop
64
65 #define wxUSE_TOOLBAR 1
66 // Define 1 to use toolbar classes
67 #define wxUSE_BUTTONBAR 1
68 // Define 1 to use buttonbar classes (enhanced toolbar
69 // for MS Windows)
70 #define wxUSE_GAUGE 1
71 // Define 1 to use Microsoft's gauge (Windows)
72 // or Bull's gauge (Motif) library (both in contrib).
73 #define wxUSE_COMBOBOX 1
74 // Define 1 to use COMBOXBOX control (Windows)
75 // or FWW's ComboBox widget (Motif).
76 #define wxUSE_CHOICE 1
77 // Define 1 to use CHOICE
78
79 #define wxUSE_RADIOBUTTON 1
80 // Define 1 to use radio button control
81 #define wxUSE_RADIOBTN 1
82 // Unfortunately someone introduced this one, too
83 #define wxUSE_RADIOBOX 1
84 // And this... don't know which one is corect
85
86 #define wxUSE_SCROLLBAR 1
87 // Define 1 to compile contributed wxScrollBar class
88
89 #define wxUSE_CHECKBOX 1
90 // Define 1 to compile checkbox
91
92 #define wxUSE_LISTBOX 1
93 // Define 1 to compile listbox
94
95 #define wxUSE_SPINBTN 1
96 // Define 1 to compile spin button
97
98 #define wxUSE_SPINCTRL 1
99 // Define 1 to use wxSpinCtrl class
100
101 #define wxUSE_STATLINE 1
102 // use wxStaticLine class
103
104 #define wxUSE_CHECKLISTBOX 1
105 // Define 1 to compile check listbox
106
107 #define wxUSE_CHOICE 1
108 // Define 1 to compile choice
109
110 #define wxUSE_CARET 1
111 // Define 1 to use wxCaret class
112
113 #define wxUSE_SLIDER 1
114 // Define 1 to use wxSlider class
115
116 #define wxUSE_NEW_GRID 1
117 // Define 1 to use the new wxGrid class
118 // (still under development, define 0 to
119 // use existing wxGrid class)
120 #define wxUSE_XPM_IN_MSW 1
121 // Define 1 to support the XPM package in wxBitmap.
122 #define wxUSE_IMAGE_LOADING_IN_MSW 1
123 // Use dynamic DIB loading/saving code in utils/dib under MSW.
124 #define wxUSE_RESOURCE_LOADING_IN_MSW 1
125 // Use dynamic icon/cursor loading/saving code
126 // under MSW.
127 #define wxUSE_WX_RESOURCES 1
128 // Use .wxr resource mechanism (requires PrologIO library)
129
130 #define wxUSE_STARTUP_TIPS 1
131 // support for startup tips (wxShowTip &c)
132
133 #define wxUSE_DOC_VIEW_ARCHITECTURE 1
134 // Set to 0 to disable document/view architecture
135 #define wxUSE_MDI_ARCHITECTURE 1
136 // Set to 0 to disable MDI document/view architecture
137 #define wxUSE_PRINTING_ARCHITECTURE 1
138 // Set to 0 to disable print/preview architecture code
139 #define wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW 1
140 // Set to 0 to disable PostScript print/preview architecture code
141 // under Windows (just use Windows printing).
142 #define wxUSE_DYNAMIC_CLASSES 1
143 // If 1, enables provision of run-time type information.
144 // NOW MANDATORY: don't change.
145 #define wxUSE_MEMORY_TRACING 1
146 // If 1, enables debugging versions of wxObject::new and
147 // wxObject::delete *IF* __WXDEBUG__ is also defined.
148 // WARNING: this code may not work with all architectures, especially
149 // if alignment is an issue.
150 #define wxUSE_DEBUG_CONTEXT 1
151 // If 1, enables wxDebugContext, for
152 // writing error messages to file, etc.
153 // If __WXDEBUG__ is not defined, will still use
154 // normal memory operators.
155 // It's recommended to set this to 1,
156 // since you may well need to output
157 // an error log in a production
158 // version (or non-debugging beta)
159 #define wxUSE_GLOBAL_MEMORY_OPERATORS 1
160 // In debug mode, cause new and delete to be redefined globally.
161 // If this causes problems (e.g. link errors), set this to 0.
162
163 #define wxUSE_DEBUG_NEW_ALWAYS 1
164 // In debug mode, causes new to be defined to
165 // be WXDEBUG_NEW (see object.h).
166 // If this causes problems (e.g. link errors), set this to 0.
167 // You may need to set this to 0 if using templates (at least
168 // for VC++).
169
170 #define REMOVE_UNUSED_ARG 1
171 // Set this to 0 if your compiler can't cope
172 // with omission of prototype parameters.
173
174 #define wxUSE_ODBC 0
175 // Define 1 to use ODBC classes
176
177 #define wxODBC_FWD_ONLY_CURSORS 1
178 // Some databases/ODBC drivers only allow forward scrolling cursors.
179 // Unless you specifically want to use backward scrolling
180 // cursors, and you know that all of the databases/ODBC drivers
181 // that you will use these odbc classes with allow backward
182 // scrolling cursors, this setting should remain set to 1
183 // for maximum database/driver compatibilty
184
185 #ifndef __MWERKS__
186 #define wxUSE_IOSTREAMH 1
187 #else
188 #define wxUSE_IOSTREAMH 1
189 #endif
190 // VC++ 4.2 and above allows <iostream> and <iostream.h>
191 // but you can't mix them. Set to 1 for <iostream.h>,
192 // 0 for <iostream>
193
194 #define wxUSE_STREAMS 1
195 // If enabled (1), compiles wxWindows streams classes
196
197 #define wxUSE_STD_IOSTREAM 0
198 // Use standard C++ streams if 1. If 0, use wxWin
199 // streams implementation.
200
201 #define wxUSE_WXCONFIG 1
202 // if enabled, compiles built-in OS independent wxConfig
203 // class and it's file (any platform) and registry (Win)
204 // based implementations
205 #define wxUSE_THREADS 1
206 // support for multithreaded applications: if
207 // 1, compile in thread classes (thread.h)
208 // and make the library thread safe
209 #define wxUSE_ZLIB 1
210 // Use zlib for compression in streams and PNG code
211 #define wxUSE_LIBPNG 1
212 // Use PNG bitmap/image code
213 #define wxUSE_LIBJPEG 1
214 // Use JPEG bitmap/image code
215 #define wxUSE_GIF 1
216 // Use GIF bitmap/image code
217 #define wxUSE_PNM 1
218 // Use PNM bitmap/image code
219 #define wxUSE_PCX 1
220 // Use PCX bitmap/image code
221 #define wxUSE_SERIAL 0
222 // Use serialization (requires utils/serialize)
223 #define wxUSE_DYNLIB_CLASS 0
224 // Compile in wxLibrary class for run-time
225 // DLL loading and function calling
226 #define wxUSE_TOOLTIPS 1
227 // Define to use wxToolTip class and
228 // wxWindow::SetToolTip() method
229 #define wxUSE_SOCKETS 1
230 // Set to 1 to use socket classes
231 #define wxUSE_HTML 1
232 // Set to 1 to use wxHTML sub-library
233 #define wxUSE_FS_ZIP 1
234 #define wxUSE_FS_INET 1 // Set to 1 to enable virtual file systems
235
236 #define wxUSE_BUSYINFO 1
237 // wxBusyInfo displays window with message
238 // when app is busy. Works in same way as
239 // wxBusyCursor
240 #define wxUSE_ZIPSTREAM 1
241 // input stream for reading from zip archives
242
243 /*
244 * Finer detail
245 *
246 */
247
248 #define wxUSE_APPLE_IEEE 1
249 // if enabled, the float codec written by Apple
250 // will be used to write, in a portable way,
251 // float on the disk
252
253 // use wxFile class - required by i18n code, wxConfig and others - recommended
254 #define wxUSE_FILE 1
255
256 // use wxTextFile class: requires wxFile, required by wxConfig
257 #define wxUSE_TEXTFILE 1
258
259 // i18n support: _() macro, wxLocale class. Requires wxFile
260 #define wxUSE_INTL 1
261
262 // wxLogXXX functions - highly recommended
263 #define wxUSE_LOG 1
264
265 // wxValidator class
266 #define wxUSE_VALIDATORS 1
267
268 // wxAcceleratorTable/Entry classes and support for them in wxMenu(Bar)
269 #define wxUSE_ACCEL 1
270
271 // wxSashWindow class
272 #define wxUSE_SASH 1
273
274 // text entry dialog and wxGetTextFromUser function
275 #define wxUSE_TEXTDLG 1
276
277 // wxToolBar class
278 #define wxUSE_TOOLBAR 1
279
280 // wxStatusBar class
281 #define wxUSE_STATUSBAR 1
282
283 // progress dialog class for lengthy operations
284 #define wxUSE_PROGRESSDLG 1
285
286 // wxDirDlg class for getting a directory name from user
287 #define wxUSE_DIRDLG 1
288
289 /*
290 * MS Windows/Windows NT
291 *
292 */
293
294 #define wxUSE_OLE 1
295 // drag-and-drop, clipboard, OLE Automation
296
297 #if defined(__WIN95__)
298 #define wxUSE_CTL3D 0
299 #else
300 #define wxUSE_CTL3D 1
301 // Define 1 to use Microsoft CTL3D library.
302 // See note above about using FAFA and CTL3D.
303 #endif
304
305 #define wxUSE_COMMON_DIALOGS 1
306 // On rare occasions (e.g. using DJGPP) may want
307 // to omit common dialogs
308 // (e.g. file selector, printer dialog).
309 // Switching this off also switches off
310 // the printing architecture and interactive
311 // wxPrinterDC.
312 #define wxUSE_ITSY_BITSY 1
313 // Define 1 to use Microsoft's ItsyBitsy
314 // small title bar library, for wxMiniFrame
315 #define wxUSE_BITMAP_MESSAGE 1
316 // Define 1 to use bitmap messages.
317 #define wxUSE_PORTABLE_FONTS_IN_MSW 0
318 // Define 1 to use new portable font scheme in Windows
319 // (used by default under X)
320 #define wxFONT_SIZE_COMPATIBILITY 0
321 // Define 1 for font size to be backward compatible
322 // to 1.63 and earlier. 1.64 and later define point
323 // sizes to be compatible with Windows.
324 #define wxUSE_GENERIC_DIALOGS_IN_MSW 1
325 // Define 1 to use generic dialogs in Windows, even though
326 // they duplicate native common dialog (e.g. wxColourDialog)
327 #define wxUSE_PENWINDOWS 0
328 // Set to 1 to use PenWindows
329
330 #define wxUSE_OWNER_DRAWN 1
331 // Owner-drawn menus and listboxes
332
333 #define wxUSE_NATIVE_STATUSBAR 1
334 // Set to 0 to use cross-platform wxStatusBar
335
336 /*
337 * Any platform
338 *
339 */
340
341 #define wxUSE_TYPEDEFS 0
342 // Use typedefs not classes for wxPoint
343 // and others, to reduce overhead and avoid
344 // MS C7 memory bug. Bounds checker
345 // complains about deallocating
346 // arrays of wxPoints if wxPoint is a class.
347
348 #if defined(__MINGW32__) && ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95)))
349 #ifndef wxUSE_NORLANDER_HEADERS
350 # define wxUSE_NORLANDER_HEADERS 1
351 #endif
352 #endif
353
354 #if (!defined(WIN32) && !defined(__WIN32__)) || (defined(__GNUWIN32__) && !defined(wxUSE_NORLANDER_HEADERS))
355 // Can't use OLE drag and drop in Windows 3.1 because we don't know how
356 // to implement UUIDs
357 // GnuWin32 doesn't have appropriate headers for e.g. IUnknown.
358 #undef wxUSE_DRAG_AND_DROP
359 #define wxUSE_DRAG_AND_DROP 0
360 #endif
361
362 // Only WIN32 supports wxStatusBar95
363 #if !defined(__WIN32__) && wxUSE_NATIVE_STATUSBAR
364 #undef wxUSE_NATIVE_STATUSBAR
365 #define wxUSE_NATIVE_STATUSBAR 0
366 #endif
367
368 // Salford C++ doesn't like some of the memory operator definitions
369 #ifdef __SALFORDC__
370 #undef wxUSE_MEMORY_TRACING
371 #define wxUSE_MEMORY_TRACING 0
372
373 #undef wxUSE_GLOBAL_MEMORY_OPERATORS
374 #define wxUSE_GLOBAL_MEMORY_OPERATORS 0
375
376 #undef wxUSE_DEBUG_NEW_ALWAYS
377 #define wxUSE_DEBUG_NEW_ALWAYS 0
378
379 #undef wxUSE_THREADS
380 #define wxUSE_THREADS 0
381
382 #undef wxUSE_OWNER_DRAWN
383 #define wxUSE_OWNER_DRAWN 0
384 #endif
385
386 #ifdef __TWIN32__
387
388 #undef wxUSE_THREADS
389 #define wxUSE_THREADS 0
390
391 #undef wxUSE_ODBC
392 #define wxUSE_ODBC 0
393
394 #endif
395
396 // BC++/Win16 can't cope with the amount of data in resource.cpp
397 #if defined(__WIN16__) && defined(__BORLANDC__)
398 #undef wxUSE_WX_RESOURCES
399 #define wxUSE_WX_RESOURCES 0
400
401 #undef wxUSE_ODBC
402 #define wxUSE_ODBC 0
403 #endif
404
405 #if defined(__WXMSW__) && defined(__WATCOMC__)
406 #undef wxUSE_LIBJPEG
407 #define wxUSE_LIBJPEG 0
408 #endif
409
410 #if defined(__WXMSW__) && !defined(__WIN32__)
411
412 #undef wxUSE_SOCKETS
413 #define wxUSE_SOCKETS 0
414
415 #undef wxUSE_THREADS
416 #define wxUSE_THREADS 0
417
418 #undef wxUSE_TOOLTIPS
419 #define wxUSE_TOOLTIPS 0
420
421 #undef wxUSE_SPINCTRL
422 #define wxUSE_SPINCTRL 0
423
424 #undef wxUSE_SPINBTN
425 #define wxUSE_SPINBTN 0
426
427 #undef wxUSE_LIBPNG
428 #define wxUSE_LIBPNG 0
429
430 #undef wxUSE_LIBJPEG
431 #define wxUSE_LIBJPEG 0
432
433 #undef wxUSE_GIF
434 #define wxUSE_GIF 0
435
436 #undef wxUSE_PNM
437 #define wxUSE_PNM 0
438
439 #undef wxUSE_PCX
440 #define wxUSE_PCX 0
441
442 #endif
443
444 #endif
445 // _WX_SETUP_H_