X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3b415ba4cdee694574d7235ff0b8341f105cddfe..21e052699d74ff3443002e515fb30f3a657b105c:/include/wx/msw/setup0.h diff --git a/include/wx/msw/setup0.h b/include/wx/msw/setup0.h index cf2d01b6c5..f5cab0b6e9 100644 --- a/include/wx/msw/setup0.h +++ b/include/wx/msw/setup0.h @@ -6,7 +6,7 @@ // Created: 01/02/97 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_SETUP_H_ @@ -16,8 +16,11 @@ // global settings // ---------------------------------------------------------------------------- -// define this to 0 when building wxBase library -#define wxUSE_GUI 1 +// define this to 0 when building wxBase library - this can also be done from +// makefile/project file overriding the value here +#ifndef wxUSE_GUI + #define wxUSE_GUI 1 +#endif // wxUSE_GUI // ---------------------------------------------------------------------------- // compatibility settings @@ -46,6 +49,22 @@ // Recommended setting: 0 #define wxICON_IS_BITMAP 0 +// Define as 1 for font size to be backward compatible to 1.63 and earlier. +// 1.64 and later define point sizes to be compatible with Windows. +// +// Default is 0 +// +// Recommended setting: 0 +#define wxFONT_SIZE_COMPATIBILITY 0 + +// Set to 0 for accurate dialog units, else 1 to be as per 2.1.16 and before. +// If migrating between versions, your dialogs may seem to shrink. +// +// Default is 1 +// +// Recommended setting: 0 (the new calculations are more correct!) +#define wxDIALOG_UNIT_COMPATIBILITY 1 + // ---------------------------------------------------------------------------- // debugging settings // ---------------------------------------------------------------------------- @@ -118,6 +137,33 @@ #define wxUSE_ON_FATAL_EXCEPTION 0 #endif +// ---------------------------------------------------------------------------- +// Unicode support +// ---------------------------------------------------------------------------- + +// Set wxUSE_UNICODE to 1 to compile wxWindows in Unicode mode: wxChar will be +// defined as wchar_t, wxString will use Unicode internally. If you set this +// to 1, you must use wxT() macro for all literal strings in the program. +// +// Unicode is currently only fully supported under Windows NT/2000 (Windows 9x +// doesn't support it and the programs compiled in Unicode mode will not run +// under 9x). +// +// Default is 0 +// +// Recommended setting: 0 (unless you only plan to use Windows NT/2000) +#define wxUSE_UNICODE 0 + +// Setting wxUSE_WCHAR_T to 1 gives you some degree of Unicode support without +// compiling the program in Unicode mode. More precisely, it will be possible +// to construct wxString from a wide (Unicode) string and convert any wxString +// to Unicode. +// +// Default is 1 +// +// Recommended setting: 1 +#define wxUSE_WCHAR_T 1 + // ---------------------------------------------------------------------------- // global features // ---------------------------------------------------------------------------- @@ -210,14 +256,15 @@ // If wxUSE_DIALUP_MANAGER is 1, compile in wxDialUpManager class which allows // to connect/disconnect from the network and be notified whenever the dial-up -// network connection is established/terminated. +// network connection is established/terminated. Requires wxUSE_DYNLIB_CLASS. // // Default is 1. // // Recommended setting: 1 #define wxUSE_DIALUP_MANAGER 1 -// Compile in wxLibrary class for run-time DLL loading and function calling +// Compile in wxLibrary class for run-time DLL loading and function calling. +// Required by wxUSE_DIALUP_MANAGER. // // This setting is for Win32 only // @@ -229,27 +276,42 @@ // Set to 1 to use socket classes #define wxUSE_SOCKETS 1 -// Set to 1 to enable virtual file systems -// (needed by wxHTML) +// Set to 1 to enable virtual file systems (required by wxHTML) #define wxUSE_FILESYSTEM 1 + +// Set to 1 to enable virtual ZIP filesystem (requires wxUSE_FILESYSTEM) #define wxUSE_FS_ZIP 1 + +// Set to 1 to enable virtual Internet filesystem (requires wxUSE_FILESYSTEM) #define wxUSE_FS_INET 1 -// input stream for reading from zip archives +// Set to 1 to compile wxZipInput/OutputStream classes. #define wxUSE_ZIPSTREAM 1 +// Set to 1 to compile wxZlibInput/OutputStream classes. Also required by +// wxUSE_LIBPNG. +#define wxUSE_ZLIB 1 + +// If enabled, the code written by Apple will be used to write, in a portable +// way, float on the disk. See extended.c for the license which is different +// from wxWindows one. +// +// Default is 1. +// +// Recommended setting: 1 unless you don't like the license terms (unlikely) #define wxUSE_APPLE_IEEE 1 - // if enabled, the float codec written by Apple - // will be used to write, in a portable way, - // float on the disk -// use wxFile class - required by i18n code, wxConfig and others - recommended +// Use wxFile class. +// +// Default is 1. +// +// Recommended setting: 1 (highly recommended, required i18n code, wxConfig...) #define wxUSE_FILE 1 -// use wxTextFile class: requires wxFile, required by wxConfig +// use wxTextFile class: requires wxFile, required by wxFileConfig #define wxUSE_TEXTFILE 1 -// i18n support: _() macro, wxLocale class. Requires wxFile +// i18n support: _() macro, wxLocale class. Requires wxTextFile. #define wxUSE_INTL 1 // ---------------------------------------------------------------------------- @@ -289,7 +351,7 @@ // of disabled controls) #define wxUSE_CARET 1 #define wxUSE_CHECKBOX 1 -#define wxUSE_CHECKLISTBOX 1 +#define wxUSE_CHECKLISTBOX 1 // requires wxUSE_OWNER_DRAWN #define wxUSE_CHOICE 1 #define wxUSE_COMBOBOX 1 #define wxUSE_GAUGE 1 @@ -303,6 +365,7 @@ #define wxUSE_SPINCTRL 1 #define wxUSE_STATLINE 1 #define wxUSE_STATUSBAR 1 +#define wxUSE_TOGGLEBTN 1 // requires wxButton #define wxUSE_TOOLTIPS 1 // wxToolTip and wxWindow::SetToolTip() // Two status bar implementations are available under Win32: the generic one @@ -325,7 +388,7 @@ // Default is 1 for both options. // // Recommended setting: 1 for wxUSE_NEW_GRID, 0 if you have an old code using -// wxGrid and 100% backwards compatible (with all old wxGrid quirks) is +// wxGrid and 100% backwards compatibality (with all old wxGrid quirks) is // essential. // // WIN16/BC++ resets wxUSE_NEW_GRID to 0 because it exceeds the data limit. @@ -438,9 +501,10 @@ #define wxUSE_IPC 1 // 0 for no interprocess comms -// Note: wxHELP uses IPC under X so these are interdependent! #define wxUSE_HELP 1 // 0 for no help facility +#define wxUSE_MS_HTML_HELP 0 + // 0 for no MS HTML Help #define wxUSE_RESOURCES 1 // 0 for no wxGetResource/wxWriteResource #define wxUSE_CONSTRAINTS 1 @@ -469,34 +533,41 @@ // Use .wxr resource mechanism (requires PrologIO library) // ---------------------------------------------------------------------------- -// Postscript support settings +// postscript support settings // ---------------------------------------------------------------------------- +// Set to 1 for PostScript device context. #define wxUSE_POSTSCRIPT 0 - // 0 for no PostScript device context + +// Set to 1 to use font metric files in GetTextExtent #define wxUSE_AFM_FOR_POSTSCRIPT 0 - // 1 to use font metric files in GetTextExtent +// Set to 0 to disable PostScript print/preview architecture code under Windows +// (just use Windows printing). #define wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW 1 - // Set to 0 to disable PostScript print/preview architecture code - // under Windows (just use Windows printing). // ---------------------------------------------------------------------------- // database classes // ---------------------------------------------------------------------------- +// Define 1 to use ODBC classes #define wxUSE_ODBC 0 - // Define 1 to use ODBC classes +// For backward compatibility reasons, this parameter now only controls the +// default scrolling method used by cursors. This default behavior can be +// overriden by setting the second param of wxDB::wxDbGetConnection() or +// wxDb() constructor to indicate whether the connection (and any wxDbTable()s +// that use the connection) should support forward only scrolling of cursors, +// or both forward and backward support for backward scrolling cursors is +// dependent on the data source as well as the ODBC driver being used. #define wxODBC_FWD_ONLY_CURSORS 1 - // For backward compatibility reasons, this parameter now only - // controls the default scrolling method used by cursors. This - // default behavior can be overriden by setting the second param - // of wxDB::GetDbConnection() to indicate whether the connection - // (and any wxTable()s that use the connection) should support - // forward only scrolling of cursors, or both forward and backward - // Support for backward scrolling cursors is dependent on the - // data source as well as the ODBC driver being used. + +// Default is 0. Set to 1 to use the deprecated classes, enum types, function, +// member variables. With a setting of 1, full backward compatability with the +// 2.0.x release is possible. It is STRONGLY recommended that this be set to 0, +// as future development will be done only on the non-deprecated +// functions/classes/member variables/etc. +#define wxODBC_BACKWARD_COMPATABILITY 0 // ---------------------------------------------------------------------------- // other compiler (mis)features @@ -522,81 +593,131 @@ // image format support // ---------------------------------------------------------------------------- -#define wxUSE_ZLIB 1 - // Use zlib for compression in streams and PNG code +// wxImage supports many different image formats which can be configured at +// compile-time. BMP is always supported, others are optional and can be safely +// disabled if you don't plan to use images in such format sometimes saving +// substantial amount of code in the final library. +// +// Some formats require an extra library which is included in wxWin sources +// which is mentioned if it is the case. + +// Set to 1 for PNG format support (requires libpng). Also requires wxUSE_ZLIB. #define wxUSE_LIBPNG 1 - // Use PNG bitmap/image code + +// Set to 1 for JPEG format support (requires libjpeg) #define wxUSE_LIBJPEG 1 - // Use JPEG bitmap/image code + +// Set to 1 for TIFF format support (requires libtiff) #define wxUSE_LIBTIFF 1 - // Use TIFF bitmap/image code + +// Set to 1 for GIF format support #define wxUSE_GIF 1 - // Use GIF bitmap/image code + +// Set to 1 for PNM format support #define wxUSE_PNM 1 - // Use PNM bitmap/image code + +// Set to 1 for PCX format support #define wxUSE_PCX 1 - // Use PCX bitmap/image code // ---------------------------------------------------------------------------- // Windows-only settings // ---------------------------------------------------------------------------- -// Most of the settings in this section are obsolete or not used - -// Make settings compatible with MFC +// Set this to 1 if you want to use wxWindows and MFC in the same program. This +// will override some other settings (see below) +// +// Default is 0. +// +// Recommended setting: 0 unless you really have to use MFC #define wxUSE_MFC 0 -// required for drag-and-drop, clipboard, OLE Automation +// Set this to 1 for generic OLE support: this is required for drag-and-drop, +// clipboard, OLE Automation. Only set it to 0 if your compiler is very old and +// can't compile/doesn't have the OLE headers. +// +// Default is 1. +// +// Recommended setting: 1 #define wxUSE_OLE 1 +// Set this to 1 to use Microsoft CTL3D library for "3D-look" under Win16 or NT +// 3.x. This setting is ignored under Win9x and NT 4.0+. +// +// Default is 0 for (most) Win32 (systems), 1 for Win16 +// +// Recommended setting: same as default #if defined(__WIN95__) #define wxUSE_CTL3D 0 #else -// Define 1 to use Microsoft CTL3D library. -// See note above about using FAFA and CTL3D. #define wxUSE_CTL3D 1 #endif -// can we use RICHEDIT control? +// Define as 1 to use Microsoft's ItsyBitsy small title bar library, for +// wxMiniFrame. This setting is only used for Win3.1; Win9x and NT use native +// miniframes support instead. +// +// Default is 0 for (most) Win32 (systems), 1 for Win16 +// +// Recommended setting: same as default +#if defined(__WIN95__) +#define wxUSE_ITSY_BITSY 0 +#else +#define wxUSE_ITSY_BITSY 1 +#endif + +// Set this to 1 to use RICHEDIT controls for wxTextCtrl with style wxTE_RICH +// which allows to put more than ~32Kb of text in it even under Win9x (NT +// doesn't have such limitation). +// +// Default is 1 for compilers which support it +// +// Recommended setting: 1, only set it to 0 if your compiler doesn't have +// or can't compile #if defined(__WIN95__) && !defined(__TWIN32__) && !defined(__GNUWIN32_OLD__) #define wxUSE_RICHEDIT 1 #else #define wxUSE_RICHEDIT 0 #endif -#define wxUSE_ITSY_BITSY 1 - // Define 1 to use Microsoft's ItsyBitsy - // small title bar library, for wxMiniFrame. - // This setting is only used for Win3.1; - // Win9x and NT use native miniframes - // support instead. +// Set this to 1 to enable support for the owner-drawn menu and listboxes. This +// is required by wxUSE_CHECKLISTBOX. +// +// Default is 1. +// +// Recommended setting: 1, set to 0 for a small library size reduction +#define wxUSE_OWNER_DRAWN 1 + +// ---------------------------------------------------------------------------- +// obsolete settings +// ---------------------------------------------------------------------------- + +// NB: all settings in this section are obsolete and should not be used/changed +// at all, they will disappear + +// Set to 1 to use PenWindows +#define wxUSE_PENWINDOWS 0 + +// Define 1 to use bitmap messages. #define wxUSE_BITMAP_MESSAGE 1 - // Define 1 to use bitmap messages. -#define wxUSE_PORTABLE_FONTS_IN_MSW 0 - // Define 1 to use new portable font scheme in Windows - // (used by default under X) -#define wxFONT_SIZE_COMPATIBILITY 0 - // Define 1 for font size to be backward compatible - // to 1.63 and earlier. 1.64 and later define point - // sizes to be compatible with Windows. -#define wxUSE_PENWINDOWS 0 - // Set to 1 to use PenWindows -#define wxUSE_OWNER_DRAWN 1 - // Owner-drawn menus and listboxes +// If 1, enables provision of run-time type information. +// NOW MANDATORY: don't change. +#define wxUSE_DYNAMIC_CLASSES 1 + +// ---------------------------------------------------------------------------- +// disable the settings which don't work for some compilers +// ---------------------------------------------------------------------------- -#if defined(__MINGW32__) && ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95))) #ifndef wxUSE_NORLANDER_HEADERS +#if (defined(__MINGW32__) || defined(__CYGWIN__)) && ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95))) # define wxUSE_NORLANDER_HEADERS 1 +#else +# define wxUSE_NORLANDER_HEADERS 0 #endif #endif -// ---------------------------------------------------------------------------- -// disable the settings which don't work for some compilers -// ---------------------------------------------------------------------------- - -// These don't work as expected for mingw32 and cygwin32 #if defined(__GNUWIN32__) +// These don't work as expected for mingw32 and cygwin32 #undef wxUSE_MEMORY_TRACING #define wxUSE_MEMORY_TRACING 0 @@ -605,6 +726,18 @@ #undef wxUSE_DEBUG_NEW_ALWAYS #define wxUSE_DEBUG_NEW_ALWAYS 0 + +#undef wxUSE_MS_HTML_HELP +#define wxUSE_MS_HTML_HELP 0 + +// Cygwin betas don't have wcslen +#if defined(__CYGWIN__) || defined(__CYGWIN32__) +# if ! ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95))) +# undef wxUSE_WCHAR_T +# define wxUSE_WCHAR_T 0 +# endif +#endif + #endif // __GNUWIN32__ // MFC duplicates these operators @@ -614,11 +747,13 @@ #undef wxUSE_DEBUG_NEW_ALWAYS #define wxUSE_DEBUG_NEW_ALWAYS 0 +#endif // wxUSE_MFC -#ifndef _MBCS -// #define _MBCS +// ODBC classes aren't Unicode-compatible yet +#if wxUSE_UNICODE +#undef wxUSE_ODBC +#define wxUSE_ODBC 0 #endif -#endif // wxUSE_MFC #if (!defined(WIN32) && !defined(__WIN32__)) || (defined(__GNUWIN32__) && !wxUSE_NORLANDER_HEADERS) // Can't use OLE drag and drop in Windows 3.1 because we don't know how @@ -634,6 +769,11 @@ #define wxUSE_NATIVE_STATUSBAR 0 #endif +#if !wxUSE_OWNER_DRAWN +#undef wxUSE_CHECKLISTBOX +#define wxUSE_CHECKLISTBOX 0 +#endif + // Salford C++ doesn't like some of the memory operator definitions #ifdef __SALFORDC__ #undef wxUSE_MEMORY_TRACING @@ -650,7 +790,7 @@ #undef wxUSE_OWNER_DRAWN #define wxUSE_OWNER_DRAWN 0 -#endif +#endif // __SALFORDC__ #ifdef __TWIN32__ @@ -660,7 +800,7 @@ #undef wxUSE_ODBC #define wxUSE_ODBC 0 -#endif +#endif // __TWIN32__ // BC++/Win16 can't cope with the amount of data in resource.cpp #if defined(__WIN16__) && defined(__BORLANDC__) @@ -680,15 +820,29 @@ #define wxUSE_LIBJPEG 0 #endif -#if defined(__WXMSW__) && defined(__WATCOMC__) -#undef wxUSE_LIBJPEG -#define wxUSE_LIBJPEG 0 +#if defined(__BORLANDC__) +// Need a BC++-specific htmlhelp.lib before we can enable this +#undef wxUSE_MS_HTML_HELP +#define wxUSE_MS_HTML_HELP 0 +#endif -#undef wxUSE_LIBTIFF -#define wxUSE_LIBTIFF 0 +// wxUSE_DEBUG_NEW_ALWAYS = 1 not compatible with BC++ in DLL mode +#if defined(__BORLANDC__) && (defined(WXMAKINGDLL) || defined(WXUSINGDLL)) +#undef wxUSE_DEBUG_NEW_ALWAYS +#define wxUSE_DEBUG_NEW_ALWAYS 0 +#endif +#if defined(__WXMSW__) && defined(__WATCOMC__) +/* #undef wxUSE_GLCANVAS #define wxUSE_GLCANVAS 0 +*/ + +#undef wxUSE_MS_HTML_HELP +#define wxUSE_MS_HTML_HELP 0 + +#undef wxUSE_WCHAR_T +#define wxUSE_WCHAR_T 0 #endif #if defined(__WXMSW__) && !defined(__WIN32__) @@ -729,7 +883,48 @@ #undef wxUSE_GLCANVAS #define wxUSE_GLCANVAS 0 +#undef wxUSE_MS_HTML_HELP +#define wxUSE_MS_HTML_HELP 0 + +#undef wxUSE_WCHAR_T +#define wxUSE_WCHAR_T 0 + +#endif // Win16 + +// ---------------------------------------------------------------------------- +// undef the things which don't make sense for wxBase build +// ---------------------------------------------------------------------------- + +#if !wxUSE_GUI + +#undef wxUSE_HTML +#define wxUSE_HTML 0 + +#endif // !wxUSE_GUI + +// ---------------------------------------------------------------------------- +// check the settings consistency: do it here to abort compilation immediately +// and not almost in the very end when the relevant file fails to compile and +// you need to modify setup.h and rebuild everything +// ---------------------------------------------------------------------------- + +#if wxUSE_TIMEDATE && !wxUSE_LONGLONG + #error wxDateTime requires wxLongLong #endif +#if wxUSE_TEXTFILE && !wxUSE_FILE + #error You cannot compile wxTextFile without wxFile +#endif + +#if wxUSE_FILESYSTEM && !wxUSE_STREAMS + #error You cannot compile virtual file systems without wxUSE_STREAMS +#endif + +#if wxUSE_HTML && !wxUSE_FILESYSTEM + #error You cannot compile wxHTML without virtual file systems +#endif + +// add more tests here... + #endif // _WX_SETUP_H_