]> git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/setup.h
added some wxMSW stuff
[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 and Markus Holzem
9 // Licence: wxWindows license
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef __SETUPH__
13 #define __SETUPH__
14
15 /*
16 * General features
17 *
18 */
19
20 #define WXWIN_COMPATIBILITY 1
21 // Compatibility with 1.66 API.
22 // Level 0: no backward compatibility, all new features
23 // Level 1: wxDC, OnSize (etc.) compatibility, but
24 // some new features such as event tables
25
26 #define USE_AUTOTRANS 1
27 // Define wxTString
28 #define USE_POSTSCRIPT 1
29 // 0 for no PostScript device context
30 #define USE_AFM_FOR_POSTSCRIPT 0
31 // 1 to use font metric files in GetTextExtent
32 #define USE_METAFILE 1
33 // 0 for no Metafile and metafile device context
34 #define USE_FORM 0
35 // 0 for no wxForm
36 #define USE_IPC 1
37 // 0 for no interprocess comms
38 // Note: wxHELP uses IPC under X so these are interdependent!
39 #define USE_HELP 1
40 // 0 for no help facility
41 #define USE_RESOURCES 1
42 // 0 for no wxGetResource/wxWriteResource
43 #define USE_CONSTRAINTS 1
44 // 0 for no window layout constraint system
45
46 #define USE_TIMEDATE 1
47 // 0 for no wxTime/wxDate classes
48
49 #define USE_CLIPBOARD 1
50 // 0 for no clipboard functions
51 #define USE_SPLINES 1
52 // 0 for no splines
53 #define USE_XFIG_SPLINE_CODE 1
54 // 1 for XFIG spline code, 0 for AIAI spline code.
55 // AIAI spline code is slower, but freer of copyright issues.
56
57 #define USE_DRAG_AND_DROP 1
58 // 0 for no drag and drop
59
60 #define USE_TOOLBAR 1
61 // Define 1 to use toolbar classes
62 #define USE_BUTTONBAR 1
63 // Define 1 to use buttonbar classes (enhanced toolbar
64 // for MS Windows)
65 #define USE_GAUGE 1
66 // Define 1 to use Microsoft's gauge (Windows)
67 // or Bull's gauge (Motif) library (both in contrib).
68 #define USE_COMBOBOX 1
69 // Define 1 to use COMBOXBOX control (Windows)
70 // or FWW's ComboBox widget (Motif).
71 #define USE_RADIOBUTTON 1
72 // Define 1 to use radio button control
73
74 #define USE_SCROLLBAR 1
75 // Define 1 to compile contributed wxScrollBar class
76 #define USE_XPM_IN_X 1
77 #define USE_XPM_IN_MSW 0
78 // Define 1 to support the XPM package in wxBitmap,
79 // separated by platform. If 1, you must link in
80 // the XPM library to your applications.
81 #define USE_IMAGE_LOADING_IN_X 1
82 // Use dynamic icon/bitmap loading/saving code in utils/image under X.
83 // If this is 1, you will need to link your applications
84 // with image_X.lib. where X is motif, ol, or hp.
85
86 #define USE_IMAGE_LOADING_IN_MSW 1
87 // Use dynamic DIB loading/saving code in utils/dib under MSW.
88 #define USE_RESOURCE_LOADING_IN_MSW 0
89 // Use dynamic icon/cursor loading/saving code
90 // under MSW.
91 #define USE_WX_RESOURCES 1
92 // Use .wxr resource mechanism (requires PrologIO library)
93
94 #define USE_GNU_WXSTRING 0
95 // Define 1 to use modified GNU wxString class
96 // from (stefan.hammes@urz.uni-heidelberg.de) in contrib\string
97 // TODO: why does this give an unresolved 'wxRegex::Search'
98 // symbol if 1?
99
100 #define HAVE_SOCKET 1
101 // Use WinSock if 1
102 #define USE_DOC_VIEW_ARCHITECTURE 1
103 // Set to 0 to disable document/view architecture
104 #define USE_PRINTING_ARCHITECTURE 1
105 // Set to 0 to disable print/preview architecture code
106 #define USE_POSTSCRIPT_ARCHITECTURE_IN_MSW 1
107 // Set to 0 to disable PostScript print/preview architecture code
108 // under Windows (just use Windows printing).
109 #define USE_DYNAMIC_CLASSES 1
110 // If 1, enables provision of run-time type information.
111 // NOW MANDATORY: don't change.
112 #define USE_MEMORY_TRACING 1
113 // If 1, enables debugging versions of wxObject::new and
114 // wxObject::delete *IF* DEBUG is also defined.
115 // WARNING: this code may not work with all architectures, especially
116 // if alignment is an issue.
117 #define USE_DEBUG_CONTEXT 1
118 // If 1, enables wxDebugContext, for
119 // writing error messages to file, etc.
120 // If DEBUG is not defined, will still use
121 // normal memory operators.
122 // It's recommended to set this to 1,
123 // since you may well need to output
124 // an error log in a production
125 // version (or non-debugging beta)
126 #define USE_GLOBAL_MEMORY_OPERATORS 1
127 // In debug mode, cause new and delete to be redefined globally.
128 // If this causes problems (e.g. link errors), set this to 0.
129
130 #define REMOVE_UNUSED_ARG 1
131 // Set this to 0 if your compiler can't cope
132 // with omission of prototype parameters.
133
134 #define USE_C_MAIN 0
135 // Set to 1 to use main.c instead of main.cpp (UNIX only)
136
137 #define USE_ODBC 1
138 // Define 1 to use ODBC classes
139
140 #define USE_ODBC_IN_MSW_ONLY 1
141
142 #if USE_ODBC && USE_ODBC_IN_MSW_ONLY
143 #undef USE_ODBC
144 #define USE_ODBC 0
145 #endif
146
147 #define USE_IOSTREAMH 1
148 // VC++ 4.2 and above allows <iostream> and <iostream.h>
149 // but you can't mix them. Set to 1 for <iostream.h>,
150 // 0 for <iostream>
151
152 /*
153 * Finer detail
154 *
155 */
156
157 /*
158 * Motif and XView
159 *
160 */
161
162 #define WX_STANDARD_GRAPHICS 0
163 // If 1, normalizes X drawing code to behave exactly as
164 // as MSW. If 0, is compatible with existing applications.
165 // Some Xlib drawing primitives have non-intuitive behaviour!
166
167 #define USE_GADGETS 0
168 // More efficient to use gadgets for some
169 // widgets in Motif. 0 for no gadgets.
170 // Please note: there is no reason to not
171 // use it except if you intend to modify
172 // color of individuals items OR
173 // you need to move panel items interactively
174 #define USE_BUTTON_GADGET 0
175 // On JACS's system, gadget buttons
176 // interfere with default button setting.
177 #define PIXEL0_DISABLE 0
178 // Define as 1 to disallow allocation
179 // of pixel #0 (wxXOR problem).
180 // JACS - I found this caused problems.
181
182 #define MOTIF_MENUBAR_DELETE_FIX 0
183 // On some systems (Ultrix, OSF), deleting a frame
184 // from within a menu callback causes a crash.
185 // Set to 1 to avoid deleting the menubar handle directly,
186 // which seems to cure it.
187 #define DEFAULT_FILE_SELECTOR_SIZE 0
188 // Let Motif defines the size of File
189 // Selector Box (if 1), or fix it to
190 // wxFSB_WIDTH x wxFSB_HEIGHT (if 0)
191 #define wxFSB_WIDTH 600
192 #define wxFSB_HEIGHT 500
193
194 #define MOTIF_MANAGE 1
195 // Control default style of Dialogs
196 // 1: use wxMOTIF_RESIZE as default
197 // 0: do not use wxMOTIF_RESIZE as default
198
199
200 /*
201 * MS Windows/Windows NT
202 *
203 */
204
205 #if defined(__WIN95__)
206 #define CTL3D 0
207 #else
208 #define CTL3D 1
209 // Define 1 to use Microsoft CTL3D library.
210 // See note above about using FAFA and CTL3D.
211 #endif
212
213 #define USE_COMMON_DIALOGS 1
214 // On rare occasions (e.g. using DJGPP) may want
215 // to omit common dialogs
216 // (e.g. file selector, printer dialog).
217 // Switching this off also switches off
218 // the printing architecture and interactive
219 // wxPrinterDC.
220 #define USE_GREY_BACKGROUND 1
221 // If 1, uses grey (gray!) panels
222 // in FAFA and non-FAFA, non-CTL3D modes.
223 // I (JACS) think the controls look better
224 // this way. CTL3D always uses grey panels.
225 #define USE_ITSY_BITSY 1
226 // Define 1 to use Microsoft's ItsyBitsy
227 // small title bar library
228 #define USE_BITMAP_MESSAGE 1
229 // Define 1 to use bitmap messages.
230 #define USE_PORTABLE_FONTS_IN_MSW 0
231 // Define 1 to use new portable font scheme in Windows
232 // (used by default under X)
233 #define FONT_SIZE_COMPATIBILITY 0
234 // Define 1 for font size to be backward compatible
235 // to 1.63 and earlier. 1.64 and later define point
236 // sizes to be compatible with Windows.
237 #define USE_GENERIC_DIALOGS_IN_MSW 1
238 // Define 1 to use generic dialogs in Windows, even though
239 // they duplicate native common dialog (e.g. wxColourDialog)
240 #define USE_PENWINDOWS 0
241 // Set to 1 to use PenWindows
242
243 #define USE_OWNER_DRAWN 1
244 // Owner-drawn menus and listboxes
245
246 #define USE_NATIVE_STATUSBAR 1
247 // Set to 0 to use cross-platform wxStatusBar
248
249 /*
250 * Any platform
251 *
252 */
253
254 #define USE_TYPEDEFS 0
255 // Use typedefs not classes for wxPoint
256 // and others, to reduce overhead and avoid
257 // MS C7 memory bug. Bounds checker
258 // complains about deallocating
259 // arrays of wxPoints if wxPoint is a class.
260
261 #if (!defined(WIN32) && !defined(__WIN32__)) || defined(__GNUWIN32__) || defined(__BORLANDC__)
262 // Can't use OLE drag and drop in Windows 3.1 because we don't know how
263 // to implement UUIDs
264 // GnuWin32 doesn't have appropriate headers for e.g. IUnknown.
265 #undef USE_DRAG_AND_DROP
266 #define USE_DRAG_AND_DROP 0
267 #endif
268
269 // Only WIN32 supports wxStatusBar95
270 #if !defined(__WIN32__) && USE_NATIVE_STATUSBAR
271 #undef USE_NATIVE_STATUSBAR
272 #define USE_NATIVE_STATUSBAR 0
273 #endif
274
275 // Minimal setup e.g. for compiling small utilities
276 #define MINIMAL_WXWINDOWS_SETUP 0
277
278 #if MINIMAL_WXWINDOWS_SETUP
279 #undef USE_POSTSCRIPT
280 # define USE_POSTSCRIPT 0
281 #undef USE_PRINTING_ARCHITECTURE
282 # define USE_PRINTING_ARCHITECTURE 0
283 #undef USE_POSTSCRIPT_ARCHITECTURE_IN_MSW
284 # define USE_POSTSCRIPT_ARCHITECTURE_IN_MSW 0
285 #undef USE_METAFILE
286 # define USE_METAFILE 0
287 #undef USE_FORM
288 # define USE_FORM 0
289 #undef USE_SPLINES
290 # define USE_SPLINES 0
291 #undef USE_SCROLLBAR
292 # define USE_SCROLLBAR 0
293 #undef USE_COMBOBOX
294 # define USE_COMBOBOX 0
295 #undef USE_RADIOBUTTON
296 # define USE_RADIOBUTTON 0
297 #undef USE_XPM_IN_MSW
298 # define USE_XPM_IN_MSW 0
299 #undef USE_WX_RESOURCES
300 # define USE_WX_RESOURCES 0
301 #undef USE_DOC_VIEW_ARCHITECTURE
302 # define USE_DOC_VIEW_ARCHITECTURE 0
303 #undef USE_GNU_WXSTRING
304 # define USE_GNU_WXSTRING 0
305 #undef USE_ODBC
306 # define USE_ODBC 0
307 #undef USE_TIMEDATE
308 # define USE_TIMEDATE 0
309 #undef CTL3D
310 # define CTL3D 0
311 #undef USE_ITSY_BITSY
312 # define USE_ITSY_BITSY 0
313 #undef USE_IMAGE_LOADING_IN_MSW
314 # define USE_IMAGE_LOADING_IN_MSW 0
315 #undef USE_GAUGE
316 # define USE_GAUGE 0
317 #undef USE_RESOURCE_LOADING_IN_MSW
318 # define USE_RESOURCE_LOADING_IN_MSW 0
319 #undef USE_DRAG_AND_DROP
320 # define USE_DRAG_AND_DROP 0
321 #endif
322
323 #endif
324 // __SETUPH__