]> git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/setup.h
Some more Motif work; included utils.h in fileconf.cpp (for wxGetHomeDir or something)
[wxWidgets.git] / include / wx / msw / setup.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 * General features
17 *
18 */
19
20 #define USE_CONFIG 1
21 // Use wxConfig, with CreateConfig in wxApp
22 #define _WX_GOODCOMPILER__
23 // gcc can have problems, but Windows compilers
24 // are generally OK.
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
31 #define USE_AUTOTRANS 1
32 // Define wxTString
33 #define USE_POSTSCRIPT 1
34 // 0 for no PostScript device context
35 #define USE_AFM_FOR_POSTSCRIPT 0
36 // 1 to use font metric files in GetTextExtent
37 #define USE_METAFILE 1
38 // 0 for no Metafile and metafile device context
39 #define USE_FORM 0
40 // 0 for no wxForm
41 #define USE_IPC 1
42 // 0 for no interprocess comms
43 // Note: wxHELP uses IPC under X so these are interdependent!
44 #define USE_HELP 1
45 // 0 for no help facility
46 #define USE_RESOURCES 1
47 // 0 for no wxGetResource/wxWriteResource
48 #define USE_CONSTRAINTS 1
49 // 0 for no window layout constraint system
50
51 #define USE_TIMEDATE 1
52 // 0 for no wxTime/wxDate classes
53
54 #define USE_CLIPBOARD 1
55 // 0 for no clipboard functions
56 #define USE_SPLINES 1
57 // 0 for no splines
58 #define USE_XFIG_SPLINE_CODE 1
59 // 1 for XFIG spline code, 0 for AIAI spline code.
60 // AIAI spline code is slower, but freer of copyright issues.
61
62 #define USE_DRAG_AND_DROP 1
63 // 0 for no drag and drop
64
65 #define USE_TOOLBAR 1
66 // Define 1 to use toolbar classes
67 #define USE_BUTTONBAR 1
68 // Define 1 to use buttonbar classes (enhanced toolbar
69 // for MS Windows)
70 #define USE_GAUGE 1
71 // Define 1 to use Microsoft's gauge (Windows)
72 // or Bull's gauge (Motif) library (both in contrib).
73 #define USE_COMBOBOX 1
74 // Define 1 to use COMBOXBOX control (Windows)
75 // or FWW's ComboBox widget (Motif).
76 #define USE_RADIOBUTTON 1
77 // Define 1 to use radio button control
78
79 #define USE_SCROLLBAR 1
80 // Define 1 to compile contributed wxScrollBar class
81 #define USE_XPM_IN_X 1
82 #define USE_XPM_IN_MSW 0
83 // Define 1 to support the XPM package in wxBitmap,
84 // separated by platform. If 1, you must link in
85 // the XPM library to your applications.
86 #define USE_IMAGE_LOADING_IN_X 1
87 // Use dynamic icon/bitmap loading/saving code in utils/image under X.
88 // If this is 1, you will need to link your applications
89 // with image_X.lib. where X is motif, ol, or hp.
90
91 #define USE_IMAGE_LOADING_IN_MSW 1
92 // Use dynamic DIB loading/saving code in utils/dib under MSW.
93 #define USE_RESOURCE_LOADING_IN_MSW 0
94 // Use dynamic icon/cursor loading/saving code
95 // under MSW.
96 #define USE_WX_RESOURCES 1
97 // Use .wxr resource mechanism (requires PrologIO library)
98
99 #define USE_GNU_WXSTRING 0
100 // Define 1 to use modified GNU wxString class
101 // from (stefan.hammes@urz.uni-heidelberg.de) in contrib\string
102 // TODO: why does this give an unresolved 'wxRegex::Search'
103 // symbol if 1?
104
105 #define HAVE_SOCKET 1
106 // Use WinSock if 1
107 #define USE_DOC_VIEW_ARCHITECTURE 1
108 // Set to 0 to disable document/view architecture
109 #define USE_PRINTING_ARCHITECTURE 1
110 // Set to 0 to disable print/preview architecture code
111 #define USE_POSTSCRIPT_ARCHITECTURE_IN_MSW 1
112 // Set to 0 to disable PostScript print/preview architecture code
113 // under Windows (just use Windows printing).
114 #define USE_DYNAMIC_CLASSES 1
115 // If 1, enables provision of run-time type information.
116 // NOW MANDATORY: don't change.
117 #define USE_MEMORY_TRACING 1
118 // If 1, enables debugging versions of wxObject::new and
119 // wxObject::delete *IF* WXDEBUG is also defined.
120 // WARNING: this code may not work with all architectures, especially
121 // if alignment is an issue.
122 #define USE_DEBUG_CONTEXT 1
123 // If 1, enables wxDebugContext, for
124 // writing error messages to file, etc.
125 // If WXDEBUG is not defined, will still use
126 // normal memory operators.
127 // It's recommended to set this to 1,
128 // since you may well need to output
129 // an error log in a production
130 // version (or non-debugging beta)
131 #define USE_GLOBAL_MEMORY_OPERATORS 1
132 // In debug mode, cause new and delete to be redefined globally.
133 // If this causes problems (e.g. link errors), set this to 0.
134
135 #define REMOVE_UNUSED_ARG 1
136 // Set this to 0 if your compiler can't cope
137 // with omission of prototype parameters.
138
139 #define USE_C_MAIN 0
140 // Set to 1 to use main.c instead of main.cpp (UNIX only)
141
142 #define USE_ODBC 1
143 // Define 1 to use ODBC classes
144
145 #define USE_IOSTREAMH 1
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
150 #define USE_WXCONFIG 1
151 // if enabled, compiles built-in OS independent wxConfig
152 // class and it's file (any platform) and registry (Win)
153 // based implementations
154 /*
155 * Finer detail
156 *
157 */
158
159 #define USE_APPLE_IEEE 1
160 // if enabled, the float codec written by Apple
161 // will be used to write, in a portable way,
162 // float on the disk
163
164 /*
165 * MS Windows/Windows NT
166 *
167 */
168
169 #if defined(__WIN95__)
170 #define CTL3D 0
171 #else
172 #define CTL3D 1
173 // Define 1 to use Microsoft CTL3D library.
174 // See note above about using FAFA and CTL3D.
175 #endif
176
177 #define USE_COMMON_DIALOGS 1
178 // On rare occasions (e.g. using DJGPP) may want
179 // to omit common dialogs
180 // (e.g. file selector, printer dialog).
181 // Switching this off also switches off
182 // the printing architecture and interactive
183 // wxPrinterDC.
184 #define USE_ITSY_BITSY 1
185 // Define 1 to use Microsoft's ItsyBitsy
186 // small title bar library, for wxMiniFrame
187 #define USE_BITMAP_MESSAGE 1
188 // Define 1 to use bitmap messages.
189 #define USE_PORTABLE_FONTS_IN_MSW 0
190 // Define 1 to use new portable font scheme in Windows
191 // (used by default under X)
192 #define FONT_SIZE_COMPATIBILITY 0
193 // Define 1 for font size to be backward compatible
194 // to 1.63 and earlier. 1.64 and later define point
195 // sizes to be compatible with Windows.
196 #define USE_GENERIC_DIALOGS_IN_MSW 1
197 // Define 1 to use generic dialogs in Windows, even though
198 // they duplicate native common dialog (e.g. wxColourDialog)
199 #define USE_PENWINDOWS 0
200 // Set to 1 to use PenWindows
201
202 #define USE_OWNER_DRAWN 0
203 // Owner-drawn menus and listboxes
204
205 #define USE_NATIVE_STATUSBAR 1
206 // Set to 0 to use cross-platform wxStatusBar
207
208 /*
209 * Any platform
210 *
211 */
212
213 #define USE_TYPEDEFS 0
214 // Use typedefs not classes for wxPoint
215 // and others, to reduce overhead and avoid
216 // MS C7 memory bug. Bounds checker
217 // complains about deallocating
218 // arrays of wxPoints if wxPoint is a class.
219
220 #if (!defined(WIN32) && !defined(__WIN32__)) || defined(__GNUWIN32__) || defined(__BORLANDC__)
221 // Can't use OLE drag and drop in Windows 3.1 because we don't know how
222 // to implement UUIDs
223 // GnuWin32 doesn't have appropriate headers for e.g. IUnknown.
224 #undef USE_DRAG_AND_DROP
225 #define USE_DRAG_AND_DROP 0
226 #endif
227
228 // Only WIN32 supports wxStatusBar95
229 #if !defined(__WIN32__) && USE_NATIVE_STATUSBAR
230 #undef USE_NATIVE_STATUSBAR
231 #define USE_NATIVE_STATUSBAR 0
232 #endif
233
234 // Minimal setup e.g. for compiling small utilities
235 #define MINIMAL_WXWINDOWS_SETUP 0
236
237 #if MINIMAL_WXWINDOWS_SETUP
238 #undef USE_POSTSCRIPT
239 # define USE_POSTSCRIPT 0
240 #undef USE_PRINTING_ARCHITECTURE
241 # define USE_PRINTING_ARCHITECTURE 0
242 #undef USE_POSTSCRIPT_ARCHITECTURE_IN_MSW
243 # define USE_POSTSCRIPT_ARCHITECTURE_IN_MSW 0
244 #undef USE_METAFILE
245 # define USE_METAFILE 0
246 #undef USE_FORM
247 # define USE_FORM 0
248 #undef USE_SPLINES
249 # define USE_SPLINES 0
250 #undef USE_SCROLLBAR
251 # define USE_SCROLLBAR 0
252 #undef USE_COMBOBOX
253 # define USE_COMBOBOX 0
254 #undef USE_RADIOBUTTON
255 # define USE_RADIOBUTTON 0
256 #undef USE_XPM_IN_MSW
257 # define USE_XPM_IN_MSW 0
258 #undef USE_WX_RESOURCES
259 # define USE_WX_RESOURCES 0
260 #undef USE_DOC_VIEW_ARCHITECTURE
261 # define USE_DOC_VIEW_ARCHITECTURE 0
262 #undef USE_GNU_WXSTRING
263 # define USE_GNU_WXSTRING 0
264 #undef USE_ODBC
265 # define USE_ODBC 0
266 #undef USE_TIMEDATE
267 # define USE_TIMEDATE 0
268 #undef CTL3D
269 # define CTL3D 0
270 #undef USE_ITSY_BITSY
271 # define USE_ITSY_BITSY 0
272 #undef USE_IMAGE_LOADING_IN_MSW
273 # define USE_IMAGE_LOADING_IN_MSW 0
274 #undef USE_GAUGE
275 # define USE_GAUGE 0
276 #undef USE_RESOURCE_LOADING_IN_MSW
277 # define USE_RESOURCE_LOADING_IN_MSW 0
278 #undef USE_DRAG_AND_DROP
279 # define USE_DRAG_AND_DROP 0
280 #endif
281
282 #endif
283 // _WX_SETUP_H_