]> git.saurik.com Git - wxWidgets.git/blame - include/wx/msw/setup.h
no message
[wxWidgets.git] / include / wx / msw / setup.h
CommitLineData
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_