1 ///////////////////////////////////////////////////////////////////////////// 2 // Name: wx/gtk/setup.h 3 // Purpose: Configuration for the library 4 // Author: Julian Smart 5 // Modified by: 6 // Created: 01/02/97 7 // Copyright: (c) Julian Smart 8 // Licence: wxWindows licence 9 ///////////////////////////////////////////////////////////////////////////// 10 11 #ifndef _WX_SETUP_H_ 12 #define _WX_SETUP_H_ 13 14 /* --- start common options --- */ 15 // ---------------------------------------------------------------------------- 16 // global settings 17 // ---------------------------------------------------------------------------- 18 19 // define this to 0 when building wxBase library - this can also be done from 20 // makefile/project file overriding the value here 21 #ifndef wxUSE_GUI 22 #define wxUSE_GUI 1 23 #endif // wxUSE_GUI 24 25 // ---------------------------------------------------------------------------- 26 // compatibility settings 27 // ---------------------------------------------------------------------------- 28 29 // This setting determines the compatibility with 2.6 API: set it to 0 to 30 // flag all cases of using deprecated functions. 31 // 32 // Default is 1 but please try building your code with 0 as the default will 33 // change to 0 in the next version and the deprecated functions will disappear 34 // in the version after it completely. 35 // 36 // Recommended setting: 0 (please update your code) 37 #define WXWIN_COMPATIBILITY_2_6 0 38 39 // This setting determines the compatibility with 2.8 API: set it to 0 to 40 // flag all cases of using deprecated functions. 41 // 42 // Default is 1 but please try building your code with 0 as the default will 43 // change to 0 in the next version and the deprecated functions will disappear 44 // in the version after it completely. 45 // 46 // Recommended setting: 0 (please update your code) 47 #define WXWIN_COMPATIBILITY_2_8 1 48 49 // MSW-only: Set to 0 for accurate dialog units, else 1 for old behaviour when 50 // default system font is used for wxWindow::GetCharWidth/Height() instead of 51 // the current font. 52 // 53 // Default is 0 54 // 55 // Recommended setting: 0 56 #define wxDIALOG_UNIT_COMPATIBILITY 0 57 58 // ---------------------------------------------------------------------------- 59 // debugging settings 60 // ---------------------------------------------------------------------------- 61 62 // wxDEBUG_LEVEL will be defined as 1 in wx/debug.h so normally there is no 63 // need to define it here. You may do it for two reasons: either completely 64 // disable/compile out the asserts in release version (then do it inside #ifdef 65 // NDEBUG) or, on the contrary, enable more asserts, including the usually 66 // disabled ones, in the debug build (then do it inside #ifndef NDEBUG) 67 // 68 // #ifdef NDEBUG 69 // #define wxDEBUG_LEVEL 0 70 // #else 71 // #define wxDEBUG_LEVEL 2 72 // #endif 73 74 // wxHandleFatalExceptions() may be used to catch the program faults at run 75 // time and, instead of terminating the program with a usual GPF message box, 76 // call the user-defined wxApp::OnFatalException() function. If you set 77 // wxUSE_ON_FATAL_EXCEPTION to 0, wxHandleFatalExceptions() will not work. 78 // 79 // This setting is for Win32 only and can only be enabled if your compiler 80 // supports Win32 structured exception handling (currently only VC++ does) 81 // 82 // Default is 1 83 // 84 // Recommended setting: 1 if your compiler supports it. 85 #define wxUSE_ON_FATAL_EXCEPTION 1 86 87 // Set this to 1 to be able to generate a human-readable (unlike 88 // machine-readable minidump created by wxCrashReport::Generate()) stack back 89 // trace when your program crashes using wxStackWalker 90 // 91 // Default is 1 if supported by the compiler. 92 // 93 // Recommended setting: 1, set to 0 if your programs never crash 94 #define wxUSE_STACKWALKER 1 95 96 // Set this to 1 to compile in wxDebugReport class which allows you to create 97 // and optionally upload to your web site a debug report consisting of back 98 // trace of the crash (if wxUSE_STACKWALKER == 1) and other information. 99 // 100 // Default is 1 if supported by the compiler. 101 // 102 // Recommended setting: 1, it is compiled into a separate library so there 103 // is no overhead if you don't use it 104 #define wxUSE_DEBUGREPORT 1 105 106 // Generic comment about debugging settings: they are very useful if you don't 107 // use any other memory leak detection tools such as Purify/BoundsChecker, but 108 // are probably redundant otherwise. Also, Visual C++ CRT has the same features 109 // as wxWidgets memory debugging subsystem built in since version 5.0 and you 110 // may prefer to use it instead of built in memory debugging code because it is 111 // faster and more fool proof. 112 // 113 // Using VC++ CRT memory debugging is enabled by default in debug build (_DEBUG 114 // is defined) if wxUSE_GLOBAL_MEMORY_OPERATORS is *not* enabled (i.e. is 0) 115 // and if __NO_VC_CRTDBG__ is not defined. 116 117 // The rest of the options in this section are obsolete and not supported, 118 // enable them at your own risk. 119 120 // If 1, enables wxDebugContext, for writing error messages to file, etc. If 121 // __WXDEBUG__ is not defined, will still use the normal memory operators. 122 // 123 // Default is 0 124 // 125 // Recommended setting: 0 126 #define wxUSE_DEBUG_CONTEXT 0 127 128 // If 1, enables debugging versions of wxObject::new and wxObject::delete *IF* 129 // __WXDEBUG__ is also defined. 130 // 131 // WARNING: this code may not work with all architectures, especially if 132 // alignment is an issue. This switch is currently ignored for mingw / cygwin 133 // 134 // Default is 0 135 // 136 // Recommended setting: 1 if you are not using a memory debugging tool, else 0 137 #define wxUSE_MEMORY_TRACING 0 138 139 // In debug mode, cause new and delete to be redefined globally. 140 // If this causes problems (e.g. link errors which is a common problem 141 // especially if you use another library which also redefines the global new 142 // and delete), set this to 0. 143 // This switch is currently ignored for mingw / cygwin 144 // 145 // Default is 0 146 // 147 // Recommended setting: 0 148 #define wxUSE_GLOBAL_MEMORY_OPERATORS 0 149 150 // In debug mode, causes new to be defined to be WXDEBUG_NEW (see object.h). If 151 // this causes problems (e.g. link errors), set this to 0. You may need to set 152 // this to 0 if using templates (at least for VC++). This switch is currently 153 // ignored for MinGW/Cygwin. 154 // 155 // Default is 0 156 // 157 // Recommended setting: 0 158 #define wxUSE_DEBUG_NEW_ALWAYS 0 159 160 161 // ---------------------------------------------------------------------------- 162 // Unicode support 163 // ---------------------------------------------------------------------------- 164 165 // These settings are obsolete: the library is always built in Unicode mode 166 // now, only set wxUSE_UNICODE to 0 to compile legacy code in ANSI mode if 167 // absolutely necessary -- updating it is strongly recommended as the ANSI mode 168 // will disappear completely in future wxWidgets releases. 169 #ifndef wxUSE_UNICODE 170 #define wxUSE_UNICODE 1 171 #endif 172 173 // wxUSE_WCHAR_T is required by wxWidgets now, don't change. 174 #define wxUSE_WCHAR_T 1 175 176 // ---------------------------------------------------------------------------- 177 // global features 178 // ---------------------------------------------------------------------------- 179 180 // Compile library in exception-safe mode? If set to 1, the library will try to 181 // behave correctly in presence of exceptions (even though it still will not 182 // use the exceptions itself) and notify the user code about any unhandled 183 // exceptions. If set to 0, propagation of the exceptions through the library 184 // code will lead to undefined behaviour -- but the code itself will be 185 // slightly smaller and faster. 186 // 187 // Note that like wxUSE_THREADS this option is automatically set to 0 if 188 // wxNO_EXCEPTIONS is defined. 189 // 190 // Default is 1 191 // 192 // Recommended setting: depends on whether you intend to use C++ exceptions 193 // in your own code (1 if you do, 0 if you don't) 194 #define wxUSE_EXCEPTIONS 1 195 196 // Set wxUSE_EXTENDED_RTTI to 1 to use extended RTTI 197 // 198 // Default is 0 199 // 200 // Recommended setting: 0 (this is still work in progress...) 201 #define wxUSE_EXTENDED_RTTI 0 202 203 // Support for message/error logging. This includes wxLogXXX() functions and 204 // wxLog and derived classes. Don't set this to 0 unless you really know what 205 // you are doing. 206 // 207 // Default is 1 208 // 209 // Recommended setting: 1 (always) 210 #define wxUSE_LOG 1 211 212 // Recommended setting: 1 213 #define wxUSE_LOGWINDOW 1 214 215 // Recommended setting: 1 216 #define wxUSE_LOGGUI 1 217 218 // Recommended setting: 1 219 #define wxUSE_LOG_DIALOG 1 220 221 // Support for command line parsing using wxCmdLineParser class. 222 // 223 // Default is 1 224 // 225 // Recommended setting: 1 (can be set to 0 if you don't use the cmd line) 226 #define wxUSE_CMDLINE_PARSER 1 227 228 // Support for multithreaded applications: if 1, compile in thread classes 229 // (thread.h) and make the library a bit more thread safe. Although thread 230 // support is quite stable by now, you may still consider recompiling the 231 // library without it if you have no use for it - this will result in a 232 // somewhat smaller and faster operation. 233 // 234 // Notice that if wxNO_THREADS is defined, wxUSE_THREADS is automatically reset 235 // to 0 in wx/chkconf.h, so, for example, if you set USE_THREADS to 0 in 236 // build/msw/config.* file this value will have no effect. 237 // 238 // Default is 1 239 // 240 // Recommended setting: 0 unless you do plan to develop MT applications 241 #define wxUSE_THREADS 1 242 243 // If enabled, compiles wxWidgets streams classes 244 // 245 // wx stream classes are used for image IO, process IO redirection, network 246 // protocols implementation and much more and so disabling this results in a 247 // lot of other functionality being lost. 248 // 249 // Default is 1 250 // 251 // Recommended setting: 1 as setting it to 0 disables many other things 252 #define wxUSE_STREAMS 1 253 254 // Support for positional parameters (e.g. %1$d, %2$s ...) in wxVsnprintf. 255 // Note that if the system's implementation does not support positional 256 // parameters, setting this to 1 forces the use of the wxWidgets implementation 257 // of wxVsnprintf. The standard vsnprintf() supports positional parameters on 258 // many Unix systems but usually doesn't under Windows. 259 // 260 // Positional parameters are very useful when translating a program since using 261 // them in formatting strings allow translators to correctly reorder the 262 // translated sentences. 263 // 264 // Default is 1 265 // 266 // Recommended setting: 1 if you want to support multiple languages 267 #define wxUSE_PRINTF_POS_PARAMS 1 268 269 // Enable the use of compiler-specific thread local storage keyword, if any. 270 // This is used for wxTLS_XXX() macros implementation and normally should use 271 // the compiler-provided support as it's simpler and more efficient, but is 272 // disabled under Windows in wx/msw/chkconf.h as it can't be used if wxWidgets 273 // is used in a dynamically loaded Win32 DLL (i.e. using LoadLibrary()) under 274 // XP as this triggers a bug in compiler TLS support that results in crashes 275 // when any TLS variables are used. 276 // 277 // If you're absolutely sure that your build of wxWidgets is never going to be 278 // used in such situation, either because it's not going to be linked from any 279 // kind of plugin or because you only target Vista or later systems, you can 280 // set this to 2 to force the use of compiler TLS even under MSW. 281 // 282 // Default is 1 meaning that compiler TLS is used only if it's 100% safe. 283 // 284 // Recommended setting: 2 if you want to have maximal performance and don't 285 // care about the scenario described above. 286 #define wxUSE_COMPILER_TLS 1 287 288 // ---------------------------------------------------------------------------- 289 // Interoperability with the standard library. 290 // ---------------------------------------------------------------------------- 291 292 // Set wxUSE_STL to 1 to enable maximal interoperability with the standard 293 // library, even at the cost of backwards compatibility. 294 // 295 // Default is 0 296 // 297 // Recommended setting: 0 as the options below already provide a relatively 298 // good level of interoperability and changing this option arguably isn't worth 299 // diverging from the official builds of the library. 300 #define wxUSE_STL 0 301 302 // This is not a real option but is used as the default value for 303 // wxUSE_STD_IOSTREAM, wxUSE_STD_STRING and wxUSE_STD_CONTAINERS. 304 // 305 // Currently the Digital Mars and Watcom compilers come without standard C++ 306 // library headers by default, wxUSE_STD_STRING can be set to 1 if you do have 307 // them (e.g. from STLPort). 308 // 309 // VC++ 5.0 does include standard C++ library headers, however they produce 310 // many warnings that can't be turned off when compiled at warning level 4. 311 #if defined(__DMC__) || defined(__WATCOMC__) \ 312 || (defined(_MSC_VER) && _MSC_VER < 1200) 313 #define wxUSE_STD_DEFAULT 0 314 #else 315 #define wxUSE_STD_DEFAULT 1 316 #endif 317 318 // Use standard C++ containers to implement wxVector<>, wxStack<>, wxDList<> 319 // and wxHashXXX<> classes. If disabled, wxWidgets own (mostly compatible but 320 // usually more limited) implementations are used which allows to avoid the 321 // dependency on the C++ run-time library. 322 // 323 // Notice that the compilers mentioned in wxUSE_STD_DEFAULT comment above don't 324 // support using standard containers and that VC6 needs non-default options for 325 // such build to avoid getting "fatal error C1076: compiler limit : internal 326 // heap limit reached; use /Zm to specify a higher limit" in its own standard 327 // headers, so you need to ensure you do increase the heap size before enabling 328 // this option for this compiler. 329 // 330 // Default is 0 for compatibility reasons. 331 // 332 // Recommended setting: 1 unless compatibility with the official wxWidgets 333 // build and/or the existing code is a concern. 334 #define wxUSE_STD_CONTAINERS 0 335 336 // Use standard C++ streams if 1 instead of wx streams in some places. If 337 // disabled, wx streams are used everywhere and wxWidgets doesn't depend on the 338 // standard streams library. 339 // 340 // Notice that enabling this does not replace wx streams with std streams 341 // everywhere, in a lot of places wx streams are used no matter what. 342 // 343 // Default is 1 if compiler supports it. 344 // 345 // Recommended setting: 1 if you use the standard streams anyhow and so 346 // dependency on the standard streams library is not a 347 // problem 348 #define wxUSE_STD_IOSTREAM wxUSE_STD_DEFAULT 349 350 // Enable minimal interoperability with the standard C++ string class if 1. 351 // "Minimal" means that wxString can be constructed from std::string or 352 // std::wstring but can't be implicitly converted to them. You need to enable 353 // the option below for the latter. 354 // 355 // Default is 1 for most compilers. 356 // 357 // Recommended setting: 1 unless you want to ensure your program doesn't use 358 // the standard C++ library at all. 359 #define wxUSE_STD_STRING wxUSE_STD_DEFAULT 360 361 // Make wxString as much interchangeable with std::[w]string as possible, in 362 // particular allow implicit conversion of wxString to either of these classes. 363 // This comes at a price (or a benefit, depending on your point of view) of not 364 // allowing implicit conversion to "const char *" and "const wchar_t *". 365 // 366 // Because a lot of existing code relies on these conversions, this option is 367 // disabled by default but can be enabled for your build if you don't care 368 // about compatibility. 369 // 370 // Default is 0 if wxUSE_STL has its default value or 1 if it is enabled. 371 // 372 // Recommended setting: 0 to remain compatible with the official builds of 373 // wxWidgets. 374 #define wxUSE_STD_STRING_CONV_IN_WXSTRING wxUSE_STL 375 376 // VC++ 4.2 and above allows <iostream> and <iostream.h> but you can't mix 377 // them. Set this option to 1 to use <iostream.h>, 0 to use <iostream>. 378 // 379 // Note that newer compilers (including VC++ 7.1 and later) don't support 380 // wxUSE_IOSTREAMH == 1 and so <iostream> will be used anyhow. 381 // 382 // Default is 0. 383 // 384 // Recommended setting: 0, only set to 1 if you use a really old compiler 385 #define wxUSE_IOSTREAMH 0 386 387 388 // ---------------------------------------------------------------------------- 389 // non GUI features selection 390 // ---------------------------------------------------------------------------- 391 392 // Set wxUSE_LONGLONG to 1 to compile the wxLongLong class. This is a 64 bit 393 // integer which is implemented in terms of native 64 bit integers if any or 394 // uses emulation otherwise. 395 // 396 // This class is required by wxDateTime and so you should enable it if you want 397 // to use wxDateTime. For most modern platforms, it will use the native 64 bit 398 // integers in which case (almost) all of its functions are inline and it 399 // almost does not take any space, so there should be no reason to switch it 400 // off. 401 // 402 // Recommended setting: 1 403 #define wxUSE_LONGLONG 1 404 405 // Set wxUSE_BASE64 to 1, to compile in Base64 support. This is required for 406 // storing binary data in wxConfig on most platforms. 407 // 408 // Default is 1. 409 // 410 // Recommended setting: 1 (but can be safely disabled if you don't use it) 411 #define wxUSE_BASE64 1 412 413 // Set this to 1 to be able to use wxEventLoop even in console applications 414 // (i.e. using base library only, without GUI). This is mostly useful for 415 // processing socket events but is also necessary to use timers in console 416 // applications 417 // 418 // Default is 1. 419 // 420 // Recommended setting: 1 (but can be safely disabled if you don't use it) 421 #define wxUSE_CONSOLE_EVENTLOOP 1 422 423 // Set wxUSE_(F)FILE to 1 to compile wx(F)File classes. wxFile uses low level 424 // POSIX functions for file access, wxFFile uses ANSI C stdio.h functions. 425 // 426 // Default is 1 427 // 428 // Recommended setting: 1 (wxFile is highly recommended as it is required by 429 // i18n code, wxFileConfig and others) 430 #define wxUSE_FILE 1 431 #define wxUSE_FFILE 1 432 433 // Use wxFSVolume class providing access to the configured/active mount points 434 // 435 // Default is 1 436 // 437 // Recommended setting: 1 (but may be safely disabled if you don't use it) 438 #define wxUSE_FSVOLUME 1 439 440 // Use wxStandardPaths class which allows to retrieve some standard locations 441 // in the file system 442 // 443 // Default is 1 444 // 445 // Recommended setting: 1 (may be disabled to save space, but not much) 446 #define wxUSE_STDPATHS 1 447 448 // use wxTextBuffer class: required by wxTextFile 449 #define wxUSE_TEXTBUFFER 1 450 451 // use wxTextFile class: requires wxFile and wxTextBuffer, required by 452 // wxFileConfig 453 #define wxUSE_TEXTFILE 1 454 455 // i18n support: _() macro, wxLocale class. Requires wxTextFile. 456 #define wxUSE_INTL 1 457 458 // Provide wxFoo_l() functions similar to standard foo() functions but taking 459 // an extra locale parameter. 460 // 461 // Notice that this is fully implemented only for the systems providing POSIX 462 // xlocale support or Microsoft Visual C++ >= 8 (which provides proprietary 463 // almost-equivalent of xlocale functions), otherwise wxFoo_l() functions will 464 // only work for the current user locale and "C" locale. You can use 465 // wxHAS_XLOCALE_SUPPORT to test whether the full support is available. 466 // 467 // Default is 1 468 // 469 // Recommended setting: 1 but may be disabled if you are writing programs 470 // running only in C locale anyhow 471 #define wxUSE_XLOCALE 1 472 473 // Set wxUSE_DATETIME to 1 to compile the wxDateTime and related classes which 474 // allow to manipulate dates, times and time intervals. wxDateTime replaces the 475 // old wxTime and wxDate classes which are still provided for backwards 476 // compatibility (and implemented in terms of wxDateTime). 477 // 478 // Note that this class is relatively new and is still officially in alpha 479 // stage because some features are not yet (fully) implemented. It is already 480 // quite useful though and should only be disabled if you are aiming at 481 // absolutely minimal version of the library. 482 // 483 // Requires: wxUSE_LONGLONG 484 // 485 // Default is 1 486 // 487 // Recommended setting: 1 488 #define wxUSE_DATETIME 1 489 490 // Set wxUSE_TIMER to 1 to compile wxTimer class 491 // 492 // Default is 1 493 // 494 // Recommended setting: 1 495 #define wxUSE_TIMER 1 496 497 // Use wxStopWatch clas. 498 // 499 // Default is 1 500 // 501 // Recommended setting: 1 (needed by wxSocket) 502 #define wxUSE_STOPWATCH 1 503 504 // Set wxUSE_FSWATCHER to 1 if you want to enable wxFileSystemWatcher 505 // 506 // Default is 1 507 // 508 // Recommended setting: 1 509 #define wxUSE_FSWATCHER 1 510 511 // Setting wxUSE_CONFIG to 1 enables the use of wxConfig and related classes 512 // which allow the application to store its settings in the persistent 513 // storage. Setting this to 1 will also enable on-demand creation of the 514 // global config object in wxApp. 515 // 516 // See also wxUSE_CONFIG_NATIVE below. 517 // 518 // Recommended setting: 1 519 #define wxUSE_CONFIG 1 520 521 // If wxUSE_CONFIG is 1, you may choose to use either the native config 522 // classes under Windows (using .INI files under Win16 and the registry under 523 // Win32) or the portable text file format used by the config classes under 524 // Unix. 525 // 526 // Default is 1 to use native classes. Note that you may still use 527 // wxFileConfig even if you set this to 1 - just the config object created by 528 // default for the applications needs will be a wxRegConfig or wxIniConfig and 529 // not wxFileConfig. 530 // 531 // Recommended setting: 1 532 #define wxUSE_CONFIG_NATIVE 1 533 534 // If wxUSE_DIALUP_MANAGER is 1, compile in wxDialUpManager class which allows 535 // to connect/disconnect from the network and be notified whenever the dial-up 536 // network connection is established/terminated. Requires wxUSE_DYNAMIC_LOADER. 537 // 538 // Default is 1. 539 // 540 // Recommended setting: 1 541 #define wxUSE_DIALUP_MANAGER 1 542 543 // Compile in classes for run-time DLL loading and function calling. 544 // Required by wxUSE_DIALUP_MANAGER. 545 // 546 // This setting is for Win32 only 547 // 548 // Default is 1. 549 // 550 // Recommended setting: 1 551 #define wxUSE_DYNLIB_CLASS 1 552 553 // experimental, don't use for now 554 #define wxUSE_DYNAMIC_LOADER 1 555 556 // Set to 1 to use socket classes 557 #define wxUSE_SOCKETS 1 558 559 // Set to 1 to use ipv6 socket classes (requires wxUSE_SOCKETS) 560 // 561 // Notice that currently setting this option under Windows will result in 562 // programs which can only run on recent OS versions (with ws2_32.dll 563 // installed) which is why it is disabled by default. 564 // 565 // Default is 1. 566 // 567 // Recommended setting: 1 if you need IPv6 support 568 #define wxUSE_IPV6 0 569 570 // Set to 1 to enable virtual file systems (required by wxHTML) 571 #define wxUSE_FILESYSTEM 1 572 573 // Set to 1 to enable virtual ZIP filesystem (requires wxUSE_FILESYSTEM) 574 #define wxUSE_FS_ZIP 1 575 576 // Set to 1 to enable virtual archive filesystem (requires wxUSE_FILESYSTEM) 577 #define wxUSE_FS_ARCHIVE 1 578 579 // Set to 1 to enable virtual Internet filesystem (requires wxUSE_FILESYSTEM) 580 #define wxUSE_FS_INET 1 581 582 // wxArchive classes for accessing archives such as zip and tar 583 #define wxUSE_ARCHIVE_STREAMS 1 584 585 // Set to 1 to compile wxZipInput/OutputStream classes. 586 #define wxUSE_ZIPSTREAM 1 587 588 // Set to 1 to compile wxTarInput/OutputStream classes. 589 #define wxUSE_TARSTREAM 1 590 591 // Set to 1 to compile wxZlibInput/OutputStream classes. Also required by 592 // wxUSE_LIBPNG 593 #define wxUSE_ZLIB 1 594 595 // If enabled, the code written by Apple will be used to write, in a portable 596 // way, float on the disk. See extended.c for the license which is different 597 // from wxWidgets one. 598 // 599 // Default is 1. 600 // 601 // Recommended setting: 1 unless you don't like the license terms (unlikely) 602 #define wxUSE_APPLE_IEEE 1 603 604 // Joystick support class 605 #define wxUSE_JOYSTICK 1 606 607 // wxFontEnumerator class 608 #define wxUSE_FONTENUM 1 609 610 // wxFontMapper class 611 #define wxUSE_FONTMAP 1 612 613 // wxMimeTypesManager class 614 #define wxUSE_MIMETYPE 1 615 616 // wxProtocol and related classes: if you want to use either of wxFTP, wxHTTP 617 // or wxURL you need to set this to 1. 618 // 619 // Default is 1. 620 // 621 // Recommended setting: 1 622 #define wxUSE_PROTOCOL 1 623 624 // The settings for the individual URL schemes 625 #define wxUSE_PROTOCOL_FILE 1 626 #define wxUSE_PROTOCOL_FTP 1 627 #define wxUSE_PROTOCOL_HTTP 1 628 629 // Define this to use wxURL class. 630 #define wxUSE_URL 1 631 632 // Define this to use native platform url and protocol support. 633 // Currently valid only for MS-Windows. 634 // Note: if you set this to 1, you can open ftp/http/gopher sites 635 // and obtain a valid input stream for these sites 636 // even when you set wxUSE_PROTOCOL_FTP/HTTP to 0. 637 // Doing so reduces the code size. 638 // 639 // This code is experimental and subject to change. 640 #define wxUSE_URL_NATIVE 0 641 642 // Support for wxVariant class used in several places throughout the library, 643 // notably in wxDataViewCtrl API. 644 // 645 // Default is 1. 646 // 647 // Recommended setting: 1 unless you want to reduce the library size as much as 648 // possible in which case setting this to 0 can gain up to 100KB. 649 #define wxUSE_VARIANT 1 650 651 // Support for wxAny class, the successor for wxVariant. 652 // 653 // Default is 1. 654 // 655 // Recommended setting: 1 unless you want to reduce the library size by a small amount, 656 // or your compiler cannot for some reason cope with complexity of templates used. 657 #define wxUSE_ANY 1 658 659 // Support for regular expression matching via wxRegEx class: enable this to 660 // use POSIX regular expressions in your code. You need to compile regex 661 // library from src/regex to use it under Windows. 662 // 663 // Default is 0 664 // 665 // Recommended setting: 1 if your compiler supports it, if it doesn't please 666 // contribute us a makefile for src/regex for it 667 #define wxUSE_REGEX 1 668 669 // wxSystemOptions class 670 #define wxUSE_SYSTEM_OPTIONS 1 671 672 // wxSound class 673 #define wxUSE_SOUND 1 674 675 // Use wxMediaCtrl 676 // 677 // Default is 1. 678 // 679 // Recommended setting: 1 680 #define wxUSE_MEDIACTRL 1 681 682 // Use wxWidget's XRC XML-based resource system. Recommended. 683 // 684 // Default is 1 685 // 686 // Recommended setting: 1 (requires wxUSE_XML) 687 #define wxUSE_XRC 1 688 689 // XML parsing classes. Note that their API will change in the future, so 690 // using wxXmlDocument and wxXmlNode in your app is not recommended. 691 // 692 // Default is the same as wxUSE_XRC, i.e. 1 by default. 693 // 694 // Recommended setting: 1 (required by XRC) 695 #define wxUSE_XML wxUSE_XRC 696 697 // Use wxWidget's AUI docking system 698 // 699 // Default is 1 700 // 701 // Recommended setting: 1 702 #define wxUSE_AUI 1 703 704 // Use wxWidget's Ribbon classes for interfaces 705 // 706 // Default is 1 707 // 708 // Recommended setting: 1 709 #define wxUSE_RIBBON 1 710 711 // Use wxPropertyGrid. 712 // 713 // Default is 1 714 // 715 // Recommended setting: 1 716 #define wxUSE_PROPGRID 1 717 718 // Use wxStyledTextCtrl, a wxWidgets implementation of Scintilla. 719 // 720 // Default is 1 721 // 722 // Recommended setting: 1 723 #define wxUSE_STC 1 724 725 // Use wxWidget's web viewing classes 726 // 727 // Default is 1 728 // 729 // Recommended setting: 1 730 #define wxUSE_WEBVIEW 1 731 732 // Use the IE wxWebView backend 733 // 734 // Default is 1 on MSW 735 // 736 // Recommended setting: 1 737 #ifdef __WXMSW__ 738 #define wxUSE_WEBVIEW_IE 1 739 #else 740 #define wxUSE_WEBVIEW_IE 0 741 #endif 742 743 // Use the WebKit wxWebView backend 744 // 745 // Default is 1 on GTK and OSX 746 // 747 // Recommended setting: 1 748 #if (defined(__WXGTK__) && !defined(__WXGTK3__)) || defined(__WXOSX__) 749 #define wxUSE_WEBVIEW_WEBKIT 1 750 #else 751 #define wxUSE_WEBVIEW_WEBKIT 0 752 #endif 753 754 // Use the WebKit2 wxWebView backend 755 // 756 // Default is 1 on GTK3 757 // 758 // Recommended setting: 1 759 #if defined(__WXGTK3__) 760 #define wxUSE_WEBVIEW_WEBKIT2 1 761 #else 762 #define wxUSE_WEBVIEW_WEBKIT2 0 763 #endif 764 765 // Enable the new wxGraphicsPath and wxGraphicsContext classes for an advanced 766 // 2D drawing API. (Still somewhat experimental) 767 // 768 // Please note that on Windows gdiplus.dll is loaded dynamically which means 769 // that nothing special needs to be done as long as you don't use 770 // wxGraphicsContext at all or only use it on XP and later systems but you 771 // still do need to distribute it yourself for an application using 772 // wxGraphicsContext to be runnable on pre-XP systems. 773 // 774 // Default is 1 except if you're using a non-Microsoft compiler under Windows 775 // as only MSVC7+ is known to ship with gdiplus.h. For other compilers (e.g. 776 // mingw32) you may need to install the headers (and just the headers) 777 // yourself. If you do, change the setting below manually. 778 // 779 // Recommended setting: 1 if supported by the compilation environment 780 781 // notice that we can't use wxCHECK_VISUALC_VERSION() here as this file is 782 // included from wx/platform.h before wxCHECK_VISUALC_VERSION() is defined 783 #ifdef _MSC_VER 784 # if _MSC_VER >= 1310 785 // MSVC7.1+ comes with new enough Platform SDK, enable 786 // wxGraphicsContext support for it 787 # define wxUSE_GRAPHICS_CONTEXT 1 788 # else 789 // MSVC 6 didn't include GDI+ headers so disable by default, enable it 790 // here if you use MSVC 6 with a newer SDK 791 # define wxUSE_GRAPHICS_CONTEXT 0 792 # endif 793 #else 794 // Disable support for other Windows compilers, enable it if your compiler 795 // comes with new enough SDK or you installed the headers manually. 796 // 797 // Notice that this will be set by configure under non-Windows platforms 798 // anyhow so the value there is not important. 799 # define wxUSE_GRAPHICS_CONTEXT 0 800 #endif 801 802 // Enable wxGraphicsContext implementation using Cairo library. 803 // 804 // This is not needed under Windows and detected automatically by configure 805 // under other systems, however you may set this to 1 manually if you installed 806 // Cairo under Windows yourself and prefer to use it instead the native GDI+ 807 // implementation. 808 // 809 // Default is 0 810 // 811 // Recommended setting: 0 812 #define wxUSE_CAIRO 0 813 814 815 // ---------------------------------------------------------------------------- 816 // Individual GUI controls 817 // ---------------------------------------------------------------------------- 818 819 // You must set wxUSE_CONTROLS to 1 if you are using any controls at all 820 // (without it, wxControl class is not compiled) 821 // 822 // Default is 1 823 // 824 // Recommended setting: 1 (don't change except for very special programs) 825 #define wxUSE_CONTROLS 1 826 827 // Support markup in control labels, i.e. provide wxControl::SetLabelMarkup(). 828 // Currently markup is supported only by a few controls and only some ports but 829 // their number will increase with time. 830 // 831 // Default is 1 832 // 833 // Recommended setting: 1 (may be set to 0 if you want to save on code size) 834 #define wxUSE_MARKUP 1 835 836 // wxPopupWindow class is a top level transient window. It is currently used 837 // to implement wxTipWindow 838 // 839 // Default is 1 840 // 841 // Recommended setting: 1 (may be set to 0 if you don't wxUSE_TIPWINDOW) 842 #define wxUSE_POPUPWIN 1 843 844 // wxTipWindow allows to implement the custom tooltips, it is used by the 845 // context help classes. Requires wxUSE_POPUPWIN. 846 // 847 // Default is 1 848 // 849 // Recommended setting: 1 (may be set to 0) 850 #define wxUSE_TIPWINDOW 1 851 852 // Each of the settings below corresponds to one wxWidgets control. They are 853 // all switched on by default but may be disabled if you are sure that your 854 // program (including any standard dialogs it can show!) doesn't need them and 855 // if you desperately want to save some space. If you use any of these you must 856 // set wxUSE_CONTROLS as well. 857 // 858 // Default is 1 859 // 860 // Recommended setting: 1 861 #define wxUSE_ANIMATIONCTRL 1 // wxAnimationCtrl 862 #define wxUSE_BANNERWINDOW 1 // wxBannerWindow 863 #define wxUSE_BUTTON 1 // wxButton 864 #define wxUSE_BMPBUTTON 1 // wxBitmapButton 865 #define wxUSE_CALENDARCTRL 1 // wxCalendarCtrl 866 #define wxUSE_CHECKBOX 1 // wxCheckBox 867 #define wxUSE_CHECKLISTBOX 1 // wxCheckListBox (requires wxUSE_OWNER_DRAWN) 868 #define wxUSE_CHOICE 1 // wxChoice 869 #define wxUSE_COLLPANE 1 // wxCollapsiblePane 870 #define wxUSE_COLOURPICKERCTRL 1 // wxColourPickerCtrl 871 #define wxUSE_COMBOBOX 1 // wxComboBox 872 #define wxUSE_COMMANDLINKBUTTON 1 // wxCommandLinkButton 873 #define wxUSE_DATAVIEWCTRL 1 // wxDataViewCtrl 874 #define wxUSE_DATEPICKCTRL 1 // wxDatePickerCtrl 875 #define wxUSE_DIRPICKERCTRL 1 // wxDirPickerCtrl 876 #define wxUSE_EDITABLELISTBOX 1 // wxEditableListBox 877 #define wxUSE_FILECTRL 1 // wxFileCtrl 878 #define wxUSE_FILEPICKERCTRL 1 // wxFilePickerCtrl 879 #define wxUSE_FONTPICKERCTRL 1 // wxFontPickerCtrl 880 #define wxUSE_GAUGE 1 // wxGauge 881 #define wxUSE_HEADERCTRL 1 // wxHeaderCtrl 882 #define wxUSE_HYPERLINKCTRL 1 // wxHyperlinkCtrl 883 #define wxUSE_LISTBOX 1 // wxListBox 884 #define wxUSE_LISTCTRL 1 // wxListCtrl 885 #define wxUSE_RADIOBOX 1 // wxRadioBox 886 #define wxUSE_RADIOBTN 1 // wxRadioButton 887 #define wxUSE_RICHMSGDLG 1 // wxRichMessageDialog 888 #define wxUSE_SCROLLBAR 1 // wxScrollBar 889 #define wxUSE_SEARCHCTRL 1 // wxSearchCtrl 890 #define wxUSE_SLIDER 1 // wxSlider 891 #define wxUSE_SPINBTN 1 // wxSpinButton 892 #define wxUSE_SPINCTRL 1 // wxSpinCtrl 893 #define wxUSE_STATBOX 1 // wxStaticBox 894 #define wxUSE_STATLINE 1 // wxStaticLine 895 #define wxUSE_STATTEXT 1 // wxStaticText 896 #define wxUSE_STATBMP 1 // wxStaticBitmap 897 #define wxUSE_TEXTCTRL 1 // wxTextCtrl 898 #define wxUSE_TIMEPICKCTRL 1 // wxTimePickerCtrl 899 #define wxUSE_TOGGLEBTN 1 // requires wxButton 900 #define wxUSE_TREECTRL 1 // wxTreeCtrl 901 #define wxUSE_TREELISTCTRL 1 // wxTreeListCtrl 902 903 // Use a status bar class? Depending on the value of wxUSE_NATIVE_STATUSBAR 904 // below either wxStatusBar95 or a generic wxStatusBar will be used. 905 // 906 // Default is 1 907 // 908 // Recommended setting: 1 909 #define wxUSE_STATUSBAR 1 910 911 // Two status bar implementations are available under Win32: the generic one 912 // or the wrapper around native control. For native look and feel the native 913 // version should be used. 914 // 915 // Default is 1 for the platforms where native status bar is supported. 916 // 917 // Recommended setting: 1 (there is no advantage in using the generic one) 918 #define wxUSE_NATIVE_STATUSBAR 1 919 920 // wxToolBar related settings: if wxUSE_TOOLBAR is 0, don't compile any toolbar 921 // classes at all. Otherwise, use the native toolbar class unless 922 // wxUSE_TOOLBAR_NATIVE is 0. 923 // 924 // Default is 1 for all settings. 925 // 926 // Recommended setting: 1 for wxUSE_TOOLBAR and wxUSE_TOOLBAR_NATIVE. 927 #define wxUSE_TOOLBAR 1 928 #define wxUSE_TOOLBAR_NATIVE 1 929 930 // wxNotebook is a control with several "tabs" located on one of its sides. It 931 // may be used to logically organise the data presented to the user instead of 932 // putting everything in one huge dialog. It replaces wxTabControl and related 933 // classes of wxWin 1.6x. 934 // 935 // Default is 1. 936 // 937 // Recommended setting: 1 938 #define wxUSE_NOTEBOOK 1 939 940 // wxListbook control is similar to wxNotebook but uses wxListCtrl instead of 941 // the tabs 942 // 943 // Default is 1. 944 // 945 // Recommended setting: 1 946 #define wxUSE_LISTBOOK 1 947 948 // wxChoicebook control is similar to wxNotebook but uses wxChoice instead of 949 // the tabs 950 // 951 // Default is 1. 952 // 953 // Recommended setting: 1 954 #define wxUSE_CHOICEBOOK 1 955 956 // wxTreebook control is similar to wxNotebook but uses wxTreeCtrl instead of 957 // the tabs 958 // 959 // Default is 1. 960 // 961 // Recommended setting: 1 962 #define wxUSE_TREEBOOK 1 963 964 // wxToolbook control is similar to wxNotebook but uses wxToolBar instead of 965 // tabs 966 // 967 // Default is 1. 968 // 969 // Recommended setting: 1 970 #define wxUSE_TOOLBOOK 1 971 972 // wxTaskBarIcon is a small notification icon shown in the system toolbar or 973 // dock. 974 // 975 // Default is 1. 976 // 977 // Recommended setting: 1 (but can be set to 0 if you don't need it) 978 #define wxUSE_TASKBARICON 1 979 980 // wxGrid class 981 // 982 // Default is 1, set to 0 to cut down compilation time and binaries size if you 983 // don't use it. 984 // 985 // Recommended setting: 1 986 // 987 #define wxUSE_GRID 1 988 989 // wxMiniFrame class: a frame with narrow title bar 990 // 991 // Default is 1. 992 // 993 // Recommended setting: 1 (it doesn't cost almost anything) 994 #define wxUSE_MINIFRAME 1 995 996 // wxComboCtrl and related classes: combobox with custom popup window and 997 // not necessarily a listbox. 998 // 999 // Default is 1. 1000 // 1001 // Recommended setting: 1 but can be safely set to 0 except for wxUniv where it 1002 // it used by wxComboBox 1003 #define wxUSE_COMBOCTRL 1 1004 1005 // wxOwnerDrawnComboBox is a custom combobox allowing to paint the combobox 1006 // items. 1007 // 1008 // Default is 1. 1009 // 1010 // Recommended setting: 1 but can be safely set to 0, except where it is 1011 // needed as a base class for generic wxBitmapComboBox. 1012 #define wxUSE_ODCOMBOBOX 1 1013 1014 // wxBitmapComboBox is a combobox that can have images in front of text items. 1015 // 1016 // Default is 1. 1017 // 1018 // Recommended setting: 1 but can be safely set to 0 1019 #define wxUSE_BITMAPCOMBOBOX 1 1020 1021 // wxRearrangeCtrl is a wxCheckListBox with two buttons allowing to move items 1022 // up and down in it. It is also used as part of wxRearrangeDialog. 1023 // 1024 // Default is 1. 1025 // 1026 // Recommended setting: 1 but can be safely set to 0 (currently used only by 1027 // wxHeaderCtrl) 1028 #define wxUSE_REARRANGECTRL 1 1029 1030 // ---------------------------------------------------------------------------- 1031 // Miscellaneous GUI stuff 1032 // ---------------------------------------------------------------------------- 1033 1034 // wxAcceleratorTable/Entry classes and support for them in wxMenu(Bar) 1035 #define wxUSE_ACCEL 1 1036 1037 // Use the standard art provider. The icons returned by this provider are 1038 // embedded into the library as XPMs so disabling it reduces the library size 1039 // somewhat but this should only be done if you use your own custom art 1040 // provider returning the icons or never use any icons not provided by the 1041 // native art provider (which might not be implemented at all for some 1042 // platforms) or by the Tango icons provider (if it's not itself disabled 1043 // below). 1044 // 1045 // Default is 1. 1046 // 1047 // Recommended setting: 1 unless you use your own custom art provider. 1048 #define wxUSE_ARTPROVIDER_STD 1 1049 1050 // Use art provider providing Tango icons: this art provider has higher quality 1051 // icons than the default ones using smaller size XPM icons without 1052 // transparency but the embedded PNG icons add to the library size. 1053 // 1054 // Default is 1 under non-GTK ports. Under wxGTK the native art provider using 1055 // the GTK+ stock icons replaces it so it is normally not necessary. 1056 // 1057 // Recommended setting: 1 but can be turned off to reduce the library size. 1058 #define wxUSE_ARTPROVIDER_TANGO 1 1059 1060 // Hotkey support (currently Windows only) 1061 #define wxUSE_HOTKEY 1 1062 1063 // Use wxCaret: a class implementing a "cursor" in a text control (called caret 1064 // under Windows). 1065 // 1066 // Default is 1. 1067 // 1068 // Recommended setting: 1 (can be safely set to 0, not used by the library) 1069 #define wxUSE_CARET 1 1070 1071 // Use wxDisplay class: it allows enumerating all displays on a system and 1072 // their geometries as well as finding the display on which the given point or 1073 // window lies. 1074 // 1075 // Default is 1. 1076 // 1077 // Recommended setting: 1 if you need it, can be safely set to 0 otherwise 1078 #define wxUSE_DISPLAY 1 1079 1080 // Miscellaneous geometry code: needed for Canvas library 1081 #define wxUSE_GEOMETRY 1 1082 1083 // Use wxImageList. This class is needed by wxNotebook, wxTreeCtrl and 1084 // wxListCtrl. 1085 // 1086 // Default is 1. 1087 // 1088 // Recommended setting: 1 (set it to 0 if you don't use any of the controls 1089 // enumerated above, then this class is mostly useless too) 1090 #define wxUSE_IMAGLIST 1 1091 1092 // Use wxInfoBar class. 1093 // 1094 // Default is 1. 1095 // 1096 // Recommended setting: 1 (but can be disabled without problems as nothing 1097 // depends on it) 1098 #define wxUSE_INFOBAR 1 1099 1100 // Use wxMenu, wxMenuBar, wxMenuItem. 1101 // 1102 // Default is 1. 1103 // 1104 // Recommended setting: 1 (can't be disabled under MSW) 1105 #define wxUSE_MENUS 1 1106 1107 // Use wxNotificationMessage. 1108 // 1109 // wxNotificationMessage allows to show non-intrusive messages to the user 1110 // using balloons, banners, popups or whatever is the appropriate method for 1111 // the current platform. 1112 // 1113 // Default is 1. 1114 // 1115 // Recommended setting: 1 1116 #define wxUSE_NOTIFICATION_MESSAGE 1 1117 1118 // wxPreferencesEditor provides a common API for different ways of presenting 1119 // the standard "Preferences" or "Properties" dialog under different platforms 1120 // (e.g. some use modal dialogs, some use modeless ones; some apply the changes 1121 // immediately while others require an explicit "Apply" button). 1122 // 1123 // Default is 1. 1124 // 1125 // Recommended setting: 1 (but can be safely disabled if you don't use it) 1126 #define wxUSE_PREFERENCES_EDITOR 1 1127 1128 // wxRichToolTip is a customizable tooltip class which has more functionality 1129 // than the stock (but native, unlike this class) wxToolTip. 1130 // 1131 // Default is 1. 1132 // 1133 // Recommended setting: 1 (but can be safely set to 0 if you don't need it) 1134 #define wxUSE_RICHTOOLTIP 1 1135 1136 // Use wxSashWindow class. 1137 // 1138 // Default is 1. 1139 // 1140 // Recommended setting: 1 1141 #define wxUSE_SASH 1 1142 1143 // Use wxSplitterWindow class. 1144 // 1145 // Default is 1. 1146 // 1147 // Recommended setting: 1 1148 #define wxUSE_SPLITTER 1 1149 1150 // Use wxToolTip and wxWindow::Set/GetToolTip() methods. 1151 // 1152 // Default is 1. 1153 // 1154 // Recommended setting: 1 1155 #define wxUSE_TOOLTIPS 1 1156 1157 // wxValidator class and related methods 1158 #define wxUSE_VALIDATORS 1 1159 1160 // Use reference counted ID management: this means that wxWidgets will track 1161 // the automatically allocated ids (those used when you use wxID_ANY when 1162 // creating a window, menu or toolbar item &c) instead of just supposing that 1163 // the program never runs out of them. This is mostly useful only under wxMSW 1164 // where the total ids range is limited to SHRT_MIN..SHRT_MAX and where 1165 // long-running programs can run into problems with ids reuse without this. On 1166 // the other platforms, where the ids have the full int range, this shouldn't 1167 // be necessary. 1168 #ifdef __WXMSW__ 1169 #define wxUSE_AUTOID_MANAGEMENT 1 1170 #else 1171 #define wxUSE_AUTOID_MANAGEMENT 0 1172 #endif 1173 1174 // ---------------------------------------------------------------------------- 1175 // common dialogs 1176 // ---------------------------------------------------------------------------- 1177 1178 // On rare occasions (e.g. using DJGPP) may want to omit common dialogs (e.g. 1179 // file selector, printer dialog). Switching this off also switches off the 1180 // printing architecture and interactive wxPrinterDC. 1181 // 1182 // Default is 1 1183 // 1184 // Recommended setting: 1 (unless it really doesn't work) 1185 #define wxUSE_COMMON_DIALOGS 1 1186 1187 // wxBusyInfo displays window with message when app is busy. Works in same way 1188 // as wxBusyCursor 1189 #define wxUSE_BUSYINFO 1 1190 1191 // Use single/multiple choice dialogs. 1192 // 1193 // Default is 1 1194 // 1195 // Recommended setting: 1 (used in the library itself) 1196 #define wxUSE_CHOICEDLG 1 1197 1198 // Use colour picker dialog 1199 // 1200 // Default is 1 1201 // 1202 // Recommended setting: 1 1203 #define wxUSE_COLOURDLG 1 1204 1205 // wxDirDlg class for getting a directory name from user 1206 #define wxUSE_DIRDLG 1 1207 1208 // TODO: setting to choose the generic or native one 1209 1210 // Use file open/save dialogs. 1211 // 1212 // Default is 1 1213 // 1214 // Recommended setting: 1 (used in many places in the library itself) 1215 #define wxUSE_FILEDLG 1 1216 1217 // Use find/replace dialogs. 1218 // 1219 // Default is 1 1220 // 1221 // Recommended setting: 1 (but may be safely set to 0) 1222 #define wxUSE_FINDREPLDLG 1 1223 1224 // Use font picker dialog 1225 // 1226 // Default is 1 1227 // 1228 // Recommended setting: 1 (used in the library itself) 1229 #define wxUSE_FONTDLG 1 1230 1231 // Use wxMessageDialog and wxMessageBox. 1232 // 1233 // Default is 1 1234 // 1235 // Recommended setting: 1 (used in the library itself) 1236 #define wxUSE_MSGDLG 1 1237 1238 // progress dialog class for lengthy operations 1239 #define wxUSE_PROGRESSDLG 1 1240 1241 // support for startup tips (wxShowTip &c) 1242 #define wxUSE_STARTUP_TIPS 1 1243 1244 // text entry dialog and wxGetTextFromUser function 1245 #define wxUSE_TEXTDLG 1 1246 1247 // number entry dialog 1248 #define wxUSE_NUMBERDLG 1 1249 1250 // splash screen class 1251 #define wxUSE_SPLASH 1 1252 1253 // wizards 1254 #define wxUSE_WIZARDDLG 1 1255 1256 // Compile in wxAboutBox() function showing the standard "About" dialog. 1257 // 1258 // Default is 1 1259 // 1260 // Recommended setting: 1 but can be set to 0 to save some space if you don't 1261 // use this function 1262 #define wxUSE_ABOUTDLG 1 1263 1264 // wxFileHistory class 1265 // 1266 // Default is 1 1267 // 1268 // Recommended setting: 1 1269 #define wxUSE_FILE_HISTORY 1 1270 1271 // ---------------------------------------------------------------------------- 1272 // Metafiles support 1273 // ---------------------------------------------------------------------------- 1274 1275 // Windows supports the graphics format known as metafile which is, though not 1276 // portable, is widely used under Windows and so is supported by wxWin (under 1277 // Windows only, of course). Win16 (Win3.1) used the so-called "Window 1278 // MetaFiles" or WMFs which were replaced with "Enhanced MetaFiles" or EMFs in 1279 // Win32 (Win9x, NT, 2000). Both of these are supported in wxWin and, by 1280 // default, WMFs will be used under Win16 and EMFs under Win32. This may be 1281 // changed by setting wxUSE_WIN_METAFILES_ALWAYS to 1 and/or setting 1282 // wxUSE_ENH_METAFILE to 0. You may also set wxUSE_METAFILE to 0 to not compile 1283 // in any metafile related classes at all. 1284 // 1285 // Default is 1 for wxUSE_ENH_METAFILE and 0 for wxUSE_WIN_METAFILES_ALWAYS. 1286 // 1287 // Recommended setting: default or 0 for everything for portable programs. 1288 #define wxUSE_METAFILE 1 1289 #define wxUSE_ENH_METAFILE 1 1290 #define wxUSE_WIN_METAFILES_ALWAYS 0 1291 1292 // ---------------------------------------------------------------------------- 1293 // Big GUI components 1294 // ---------------------------------------------------------------------------- 1295 1296 // Set to 0 to disable MDI support. 1297 // 1298 // Requires wxUSE_NOTEBOOK under platforms other than MSW. 1299 // 1300 // Default is 1. 1301 // 1302 // Recommended setting: 1, can be safely set to 0. 1303 #define wxUSE_MDI 1 1304 1305 // Set to 0 to disable document/view architecture 1306 #define wxUSE_DOC_VIEW_ARCHITECTURE 1 1307 1308 // Set to 0 to disable MDI document/view architecture 1309 // 1310 // Requires wxUSE_MDI && wxUSE_DOC_VIEW_ARCHITECTURE 1311 #define wxUSE_MDI_ARCHITECTURE 1 1312 1313 // Set to 0 to disable print/preview architecture code 1314 #define wxUSE_PRINTING_ARCHITECTURE 1 1315 1316 // wxHTML sublibrary allows to display HTML in wxWindow programs and much, 1317 // much more. 1318 // 1319 // Default is 1. 1320 // 1321 // Recommended setting: 1 (wxHTML is great!), set to 0 if you want compile a 1322 // smaller library. 1323 #define wxUSE_HTML 1 1324 1325 // Setting wxUSE_GLCANVAS to 1 enables OpenGL support. You need to have OpenGL 1326 // headers and libraries to be able to compile the library with wxUSE_GLCANVAS 1327 // set to 1 and, under Windows, also to add opengl32.lib and glu32.lib to the 1328 // list of libraries used to link your application (although this is done 1329 // implicitly for Microsoft Visual C++ users). 1330 // 1331 // Default is 1 unless the compiler is known to ship without the necessary 1332 // headers (Digital Mars) or the platform doesn't support OpenGL (Windows CE). 1333 // 1334 // Recommended setting: 1 if you intend to use OpenGL, can be safely set to 0 1335 // otherwise. 1336 #define wxUSE_GLCANVAS 1 1337 1338 // wxRichTextCtrl allows editing of styled text. 1339 // 1340 // Default is 1. 1341 // 1342 // Recommended setting: 1, set to 0 if you want compile a 1343 // smaller library. 1344 #define wxUSE_RICHTEXT 1 1345 1346 // ---------------------------------------------------------------------------- 1347 // Data transfer 1348 // ---------------------------------------------------------------------------- 1349 1350 // Use wxClipboard class for clipboard copy/paste. 1351 // 1352 // Default is 1. 1353 // 1354 // Recommended setting: 1 1355 #define wxUSE_CLIPBOARD 1 1356 1357 // Use wxDataObject and related classes. Needed for clipboard and OLE drag and 1358 // drop 1359 // 1360 // Default is 1. 1361 // 1362 // Recommended setting: 1 1363 #define wxUSE_DATAOBJ 1 1364 1365 // Use wxDropTarget and wxDropSource classes for drag and drop (this is 1366 // different from "built in" drag and drop in wxTreeCtrl which is always 1367 // available). Requires wxUSE_DATAOBJ. 1368 // 1369 // Default is 1. 1370 // 1371 // Recommended setting: 1 1372 #define wxUSE_DRAG_AND_DROP 1 1373 1374 // Use wxAccessible for enhanced and customisable accessibility. 1375 // Depends on wxUSE_OLE. 1376 // 1377 // Default is 0. 1378 // 1379 // Recommended setting (at present): 0 1380 #define wxUSE_ACCESSIBILITY 0 1381 1382 // ---------------------------------------------------------------------------- 1383 // miscellaneous settings 1384 // ---------------------------------------------------------------------------- 1385 1386 // wxSingleInstanceChecker class allows to verify at startup if another program 1387 // instance is running. 1388 // 1389 // Default is 1 1390 // 1391 // Recommended setting: 1 (the class is tiny, disabling it won't save much 1392 // space) 1393 #define wxUSE_SNGLINST_CHECKER 1 1394 1395 #define wxUSE_DRAGIMAGE 1 1396 1397 #define wxUSE_IPC 1 1398 // 0 for no interprocess comms 1399 #define wxUSE_HELP 1 1400 // 0 for no help facility 1401 1402 // Should we use MS HTML help for wxHelpController? If disabled, neither 1403 // wxCHMHelpController nor wxBestHelpController are available. 1404 // 1405 // Default is 1 under MSW, 0 is always used for the other platforms. 1406 // 1407 // Recommended setting: 1, only set to 0 if you have trouble compiling 1408 // wxCHMHelpController (could be a problem with really ancient compilers) 1409 #define wxUSE_MS_HTML_HELP 1 1410 1411 1412 // Use wxHTML-based help controller? 1413 #define wxUSE_WXHTML_HELP 1 1414 1415 #define wxUSE_CONSTRAINTS 1 1416 // 0 for no window layout constraint system 1417 1418 #define wxUSE_SPLINES 1 1419 // 0 for no splines 1420 1421 #define wxUSE_MOUSEWHEEL 1 1422 // Include mouse wheel support 1423 1424 // Compile wxUIActionSimulator class? 1425 #define wxUSE_UIACTIONSIMULATOR 1 1426 1427 // ---------------------------------------------------------------------------- 1428 // wxDC classes for various output formats 1429 // ---------------------------------------------------------------------------- 1430 1431 // Set to 1 for PostScript device context. 1432 #define wxUSE_POSTSCRIPT 0 1433 1434 // Set to 1 to use font metric files in GetTextExtent 1435 #define wxUSE_AFM_FOR_POSTSCRIPT 1 1436 1437 // Set to 1 to compile in support for wxSVGFileDC, a wxDC subclass which allows 1438 // to create files in SVG (Scalable Vector Graphics) format. 1439 #define wxUSE_SVG 1 1440 1441 // Should wxDC provide SetTransformMatrix() and related methods? 1442 // 1443 // Default is 1 but can be set to 0 if this functionality is not used. Notice 1444 // that currently only wxMSW supports this so setting this to 0 doesn't change 1445 // much for non-MSW platforms (although it will still save a few bytes 1446 // probably). 1447 // 1448 // Recommended setting: 1. 1449 #define wxUSE_DC_TRANSFORM_MATRIX 1 1450 1451 // ---------------------------------------------------------------------------- 1452 // image format support 1453 // ---------------------------------------------------------------------------- 1454 1455 // wxImage supports many different image formats which can be configured at 1456 // compile-time. BMP is always supported, others are optional and can be safely 1457 // disabled if you don't plan to use images in such format sometimes saving 1458 // substantial amount of code in the final library. 1459 // 1460 // Some formats require an extra library which is included in wxWin sources 1461 // which is mentioned if it is the case. 1462 1463 // Set to 1 for wxImage support (recommended). 1464 #define wxUSE_IMAGE 1 1465 1466 // Set to 1 for PNG format support (requires libpng). Also requires wxUSE_ZLIB. 1467 #define wxUSE_LIBPNG 1 1468 1469 // Set to 1 for JPEG format support (requires libjpeg) 1470 #define wxUSE_LIBJPEG 1 1471 1472 // Set to 1 for TIFF format support (requires libtiff) 1473 #define wxUSE_LIBTIFF 1 1474 1475 // Set to 1 for TGA format support (loading only) 1476 #define wxUSE_TGA 1 1477 1478 // Set to 1 for GIF format support 1479 #define wxUSE_GIF 1 1480 1481 // Set to 1 for PNM format support 1482 #define wxUSE_PNM 1 1483 1484 // Set to 1 for PCX format support 1485 #define wxUSE_PCX 1 1486 1487 // Set to 1 for IFF format support (Amiga format) 1488 #define wxUSE_IFF 0 1489 1490 // Set to 1 for XPM format support 1491 #define wxUSE_XPM 1 1492 1493 // Set to 1 for MS Icons and Cursors format support 1494 #define wxUSE_ICO_CUR 1 1495 1496 // Set to 1 to compile in wxPalette class 1497 #define wxUSE_PALETTE 1 1498 1499 // ---------------------------------------------------------------------------- 1500 // wxUniversal-only options 1501 // ---------------------------------------------------------------------------- 1502 1503 // Set to 1 to enable compilation of all themes, this is the default 1504 #define wxUSE_ALL_THEMES 1 1505 1506 // Set to 1 to enable the compilation of individual theme if wxUSE_ALL_THEMES 1507 // is unset, if it is set these options are not used; notice that metal theme 1508 // uses Win32 one 1509 #define wxUSE_THEME_GTK 0 1510 #define wxUSE_THEME_METAL 0 1511 #define wxUSE_THEME_MONO 0 1512 #define wxUSE_THEME_WIN32 0 1513 1514 1515 /* --- end common options --- */ 1516 1517 /* --- start MSW options --- */ 1518 // ---------------------------------------------------------------------------- 1519 // Windows-only settings 1520 // ---------------------------------------------------------------------------- 1521 1522 // Set wxUSE_UNICODE_MSLU to 1 if you're compiling wxWidgets in Unicode mode 1523 // and want to run your programs under Windows 9x and not only NT/2000/XP. 1524 // This setting enables use of unicows.dll from MSLU (MS Layer for Unicode, see 1525 // http://www.microsoft.com/globaldev/handson/dev/mslu_announce.mspx). Note 1526 // that you will have to modify the makefiles to include unicows.lib import 1527 // library as the first library (see installation instructions in install.txt 1528 // to learn how to do it when building the library or samples). 1529 // 1530 // If your compiler doesn't have unicows.lib, you can get a version of it at 1531 // http://libunicows.sourceforge.net 1532 // 1533 // Default is 0 1534 // 1535 // Recommended setting: 0 (1 if you want to deploy Unicode apps on 9x systems) 1536 #ifndef wxUSE_UNICODE_MSLU 1537 #define wxUSE_UNICODE_MSLU 0 1538 #endif 1539 1540 // Set this to 1 if you want to use wxWidgets and MFC in the same program. This 1541 // will override some other settings (see below) 1542 // 1543 // Default is 0. 1544 // 1545 // Recommended setting: 0 unless you really have to use MFC 1546 #define wxUSE_MFC 0 1547 1548 // Set this to 1 for generic OLE support: this is required for drag-and-drop, 1549 // clipboard, OLE Automation. Only set it to 0 if your compiler is very old and 1550 // can't compile/doesn't have the OLE headers. 1551 // 1552 // Default is 1. 1553 // 1554 // Recommended setting: 1 1555 #define wxUSE_OLE 1 1556 1557 // Set this to 1 to enable wxAutomationObject class. 1558 // 1559 // Default is 1. 1560 // 1561 // Recommended setting: 1 if you need to control other applications via OLE 1562 // Automation, can be safely set to 0 otherwise 1563 #define wxUSE_OLE_AUTOMATION 1 1564 1565 // Set this to 1 to enable wxActiveXContainer class allowing to embed OLE 1566 // controls in wx. 1567 // 1568 // Default is 1. 1569 // 1570 // Recommended setting: 1, required by wxMediaCtrl 1571 #define wxUSE_ACTIVEX 1 1572 1573 // wxDC caching implementation 1574 #define wxUSE_DC_CACHEING 1 1575 1576 // Set this to 1 to enable wxDIB class used internally for manipulating 1577 // wxBitmap data. 1578 // 1579 // Default is 1, set it to 0 only if you don't use wxImage neither 1580 // 1581 // Recommended setting: 1 (without it conversion to/from wxImage won't work) 1582 #define wxUSE_WXDIB 1 1583 1584 // Set to 0 to disable PostScript print/preview architecture code under Windows 1585 // (just use Windows printing). 1586 #define wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW 1 1587 1588 // Set this to 1 to compile in wxRegKey class. 1589 // 1590 // Default is 1 1591 // 1592 // Recommended setting: 1, this is used internally by wx in a few places 1593 #define wxUSE_REGKEY 1 1594 1595 // Set this to 1 to use RICHEDIT controls for wxTextCtrl with style wxTE_RICH 1596 // which allows to put more than ~32Kb of text in it even under Win9x (NT 1597 // doesn't have such limitation). 1598 // 1599 // Default is 1 for compilers which support it 1600 // 1601 // Recommended setting: 1, only set it to 0 if your compiler doesn't have 1602 // or can't compile <richedit.h> 1603 #define wxUSE_RICHEDIT 1 1604 1605 // Set this to 1 to use extra features of richedit v2 and later controls 1606 // 1607 // Default is 1 for compilers which support it 1608 // 1609 // Recommended setting: 1 1610 #define wxUSE_RICHEDIT2 1 1611 1612 // Set this to 1 to enable support for the owner-drawn menu and listboxes. This 1613 // is required by wxUSE_CHECKLISTBOX. 1614 // 1615 // Default is 1. 1616 // 1617 // Recommended setting: 1, set to 0 for a small library size reduction 1618 #define wxUSE_OWNER_DRAWN 1 1619 1620 // Set this to 1 to enable MSW-specific wxTaskBarIcon::ShowBalloon() method. It 1621 // is required by native wxNotificationMessage implementation. 1622 // 1623 // Default is 1 but disabled in wx/msw/chkconf.h if SDK is too old to contain 1624 // the necessary declarations. 1625 // 1626 // Recommended setting: 1, set to 0 for a tiny library size reduction 1627 #define wxUSE_TASKBARICON_BALLOONS 1 1628 1629 // Set to 1 to compile MS Windows XP theme engine support 1630 #define wxUSE_UXTHEME 1 1631 1632 // Set to 1 to use InkEdit control (Tablet PC), if available 1633 #define wxUSE_INKEDIT 0 1634 1635 // Set to 1 to enable .INI files based wxConfig implementation (wxIniConfig) 1636 // 1637 // Default is 0. 1638 // 1639 // Recommended setting: 0, nobody uses .INI files any more 1640 #define wxUSE_INICONF 0 1641 1642 // ---------------------------------------------------------------------------- 1643 // Generic versions of native controls 1644 // ---------------------------------------------------------------------------- 1645 1646 // Set this to 1 to be able to use wxDatePickerCtrlGeneric in addition to the 1647 // native wxDatePickerCtrl 1648 // 1649 // Default is 0. 1650 // 1651 // Recommended setting: 0, this is mainly used for testing 1652 #define wxUSE_DATEPICKCTRL_GENERIC 0 1653 1654 // Set this to 1 to be able to use wxTimePickerCtrlGeneric in addition to the 1655 // native wxTimePickerCtrl for the platforms that have the latter (MSW). 1656 // 1657 // Default is 0. 1658 // 1659 // Recommended setting: 0, this is mainly used for testing 1660 #define wxUSE_TIMEPICKCTRL_GENERIC 0 1661 1662 // ---------------------------------------------------------------------------- 1663 // Crash debugging helpers 1664 // ---------------------------------------------------------------------------- 1665 1666 // Set this to 1 to be able to use wxCrashReport::Generate() to create mini 1667 // dumps of your program when it crashes (or at any other moment) 1668 // 1669 // Default is 1 if supported by the compiler (VC++ and recent BC++ only). 1670 // 1671 // Recommended setting: 1, set to 0 if your programs never crash 1672 #define wxUSE_CRASHREPORT 1 1673 /* --- end MSW options --- */ 1674 1675 // GTK-specific options used when not using configure. As we can't test for the 1676 // exact GTK version (without including GTK+ headers that we don't want to 1677 // include from our own public headers), just assume a recent GTK 2.x. 1678 #define __WXGTK20__ 1679 #define __WXGTK210__ 1680 #define __WXGTK218__ 1681 //#define __WXGTK3__ 1682 1683 #endif // _WX_SETUP_H_ 1684