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