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