]> 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.
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_