]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/setup_microwin.h
   1 ///////////////////////////////////////////////////////////////////////////// 
   2 // Name:        wx/msw/setup.h 
   3 // Purpose:     Configuration for the library 
   4 // Author:      Julian Smart 
   8 // Copyright:   (c) Julian Smart 
   9 // Licence:     wxWindows licence 
  10 ///////////////////////////////////////////////////////////////////////////// 
  15 // ---------------------------------------------------------------------------- 
  17 // ---------------------------------------------------------------------------- 
  19 //#define WXWIN_OS_DESCRIPTION wxT("MicroWindows") 
  21 // define this to 0 when building wxBase library - this can also be done from 
  22 // makefile/project file overriding the value here 
  27 // ---------------------------------------------------------------------------- 
  28 // compatibility settings 
  29 // ---------------------------------------------------------------------------- 
  31 // This setting determines the compatibility with 1.68 API: 
  32 // Level 0: no backward compatibility, all new features 
  33 // Level 1: some extra methods are defined for compatibility. 
  37 // Recommended setting: 0 (in fact the compatibility code is now very minimal 
  38 // so there is little advantage to setting it to 1. 
  39 #define WXWIN_COMPATIBILITY  0 
  41 // This setting determines the compatibility with 2.0 API: set it to 1 to 
  46 // Recommended setting: 0 (please update your code instead!) 
  47 #define WXWIN_COMPATIBILITY_2 0 
  49 // This setting determines the compatibility with 2.0 API: set it to 1 to 
  54 // Recommended setting: 0 (please update your code instead!) 
  55 #define WXWIN_COMPATIBILITY_2_2 1 
  57 // in wxMSW version 2.1.11 and earlier, wxIcon always derives from wxBitmap, 
  58 // but this is very dangerous because you can mistakenly pass an icon instead 
  59 // of a bitmap to a function taking "const wxBitmap&" - which will *not* work 
  60 // because an icon is not a valid bitmap 
  62 // Starting from 2.1.12, you have the choice under this backwards compatible 
  63 // behaviour (your code will still compile, but probably won't behave as 
  64 // expected!) and not deriving wxIcon class from wxBitmap, but providing a 
  65 // conversion ctor wxBitmap(const wxIcon&) instead. 
  67 // Recommended setting: 0 
  68 #define wxICON_IS_BITMAP    0 
  70 // Define as 1 for font size to be backward compatible to 1.63 and earlier. 
  71 // 1.64 and later define point sizes to be compatible with Windows. 
  75 // Recommended setting: 0 
  76 #define wxFONT_SIZE_COMPATIBILITY    0 
  78 // Set to 0 for accurate dialog units, else 1 to be as per 2.1.16 and before. 
  79 // If migrating between versions, your dialogs may seem to shrink. 
  83 // Recommended setting: 0 (the new calculations are more correct!) 
  84 #define wxDIALOG_UNIT_COMPATIBILITY   1 
  86 // ---------------------------------------------------------------------------- 
  88 // ---------------------------------------------------------------------------- 
  90 // Generic comment about debugging settings: they are very useful if you don't 
  91 // use any other memory leak detection tools such as Purify/BoundsChecker, but 
  92 // are probably redundant otherwise. Also, Visual C++ CRT has the same features 
  93 // as wxWindows memory debugging subsystem built in since version 5.0 and you 
  94 // may prefer to use it instead of built in memory debugging code because it is 
  95 // faster and more fool proof. 
  97 // Using VC++ CRT memory debugging is enabled by default in debug mode 
  98 // (__WXDEBUG__) if wxUSE_GLOBAL_MEMORY_OPERATORS is *not* enabled (i.e. is 0) 
  99 // and if __NO_VC_CRTDBG__ is not defined. 
 101 // If 1, enables wxDebugContext, for writing error messages to file, etc. If 
 102 // __WXDEBUG__ is not defined, will still use normal memory operators. It's 
 103 // recommended to set this to 1, since you may well need to output an error log 
 104 // in a production version (or non-debugging beta). 
 108 // Recommended setting: 1 but see comment above 
 109 #define wxUSE_DEBUG_CONTEXT 1 
 111 // If 1, enables debugging versions of wxObject::new and wxObject::delete *IF* 
 112 // __WXDEBUG__ is also defined. 
 114 // WARNING: this code may not work with all architectures, especially if 
 115 // alignment is an issue. This switch is currently ignored for mingw / cygwin 
 119 // Recommended setting: 1 but see comment in the beginning of this section 
 120 #define wxUSE_MEMORY_TRACING 0 
 122 // In debug mode, cause new and delete to be redefined globally. 
 123 // If this causes problems (e.g. link errors), set this to 0. 
 124 // This switch is currently ignored for mingw / cygwin 
 128 // Recommended setting: 1 but see comment in the beginning of this section 
 129 #define wxUSE_GLOBAL_MEMORY_OPERATORS 0 
 131 // In debug mode, causes new to be defined to be WXDEBUG_NEW (see object.h). If 
 132 // this causes problems (e.g. link errors), set this to 0. You may need to set 
 133 // this to 0 if using templates (at least for VC++). This switch is currently 
 134 // ignored for mingw / cygwin 
 138 // Recommended setting: 1 but see comment in the beginning of this section 
 139 #define wxUSE_DEBUG_NEW_ALWAYS 0 
 141 // wxHandleFatalExceptions() may be used to catch the program faults at run 
 142 // time and, instead of terminating the program with a usual GPF message box, 
 143 // call the user-defined wxApp::OnFatalException() function. If you set 
 144 // wxUSE_ON_FATAL_EXCEPTION to 0, wxHandleFatalExceptions() will not work. 
 146 // This setting is for Win32 only and can only be enabled if your compiler 
 147 // supports Win32 structured exception handling (currently only VC++ does) 
 151 // Recommended setting: 1 if your compiler supports it. 
 153     #define wxUSE_ON_FATAL_EXCEPTION 1 
 155     #define wxUSE_ON_FATAL_EXCEPTION 0 
 158 // ---------------------------------------------------------------------------- 
 160 // ---------------------------------------------------------------------------- 
 162 // Set wxUSE_UNICODE to 1 to compile wxWindows in Unicode mode: wxChar will be 
 163 // defined as wchar_t, wxString will use Unicode internally. If you set this 
 164 // to 1, you must use wxT() macro for all literal strings in the program. 
 166 // Unicode is currently only fully supported under Windows NT/2000 (Windows 9x 
 167 // doesn't support it and the programs compiled in Unicode mode will not run 
 172 // Recommended setting: 0 (unless you only plan to use Windows NT/2000) 
 173 #define wxUSE_UNICODE 0 
 175 // Set wxUSE_UNICODE_MSLU to 1 if you want to compile wxWindows in Unicode mode 
 176 // and be able to run compiled apps under Windows 9x as well as NT/2000/XP. This 
 177 // setting enables use of unicows.dll from MSLU (MS Layer for Unicode, see 
 178 // http://www.microsoft.com/globaldev/Articles/mslu_announce.asp). Note that you 
 179 // will have to modify the makefiles to include unicows.lib import library as the first 
 184 // Recommended setting: 0 
 185 #define wxUSE_UNICODE_MSLU 0 
 187 // Setting wxUSE_WCHAR_T to 1 gives you some degree of Unicode support without 
 188 // compiling the program in Unicode mode. More precisely, it will be possible 
 189 // to construct wxString from a wide (Unicode) string and convert any wxString 
 194 // Recommended setting: 1 
 195 #define wxUSE_WCHAR_T 0 
 197 // ---------------------------------------------------------------------------- 
 199 // ---------------------------------------------------------------------------- 
 201 // Support for message/error logging. This includes wxLogXXX() functions and 
 202 // wxLog and derived classes. Don't set this to 0 unless you really know what 
 207 // Recommended setting: 1 (always) 
 210 // Support for command line parsing using wxCmdLineParser class. 
 214 // Recommended setting: 1 (can be set to 0 if you don't use the cmd line) 
 215 #define wxUSE_CMDLINE_PARSER 1 
 217 // Recommended setting: 1 
 218 #define wxUSE_LOGWINDOW 1 
 220 // Recommended setting: 1 
 221 #define wxUSE_LOGGUI 1 
 223 // Recommended setting: 1 
 224 #define wxUSE_LOG_DIALOG 0 
 226 // Support for multithreaded applications: if 1, compile in thread classes 
 227 // (thread.h) and make the library a bit more thread safe. Although thread 
 228 // support is quite stable by now, you may still consider recompiling the 
 229 // library without it if you have no use for it - this will result in a 
 230 // somewhat smaller and faster operation. 
 232 // This is ignored under Win16, threads are only supported under Win32. 
 236 // Recommended setting: 0 unless you do plan to develop MT applications 
 237 #define wxUSE_THREADS 0 
 239 // If enabled (1), compiles wxWindows streams classes 
 240 #define wxUSE_STREAMS       1 
 242 // Use standard C++ streams if 1. If 0, use wxWin streams implementation. 
 243 #define wxUSE_STD_IOSTREAM  0 
 245 // Use serialization (requires utils/serialize) 
 246 #define wxUSE_SERIAL        0 
 248 // ---------------------------------------------------------------------------- 
 249 // non GUI features selection 
 250 // ---------------------------------------------------------------------------- 
 252 // Set wxUSE_LONGLONG to 1 to compile the wxLongLong class. This is a 64 bit 
 253 // integer which is implemented in terms of native 64 bit integers if any or 
 254 // uses emulation otherwise. 
 256 // This class is required by wxDateTime and so you should enable it if you want 
 257 // to use wxDateTime. For most modern platforms, it will use the native 64 bit 
 258 // integers in which case (almost) all of its functions are inline and it 
 259 // almost does not take any space, so there should be no reason to switch it 
 262 // Recommended setting: 1 
 263 #define wxUSE_LONGLONG      1 
 265 // Set wxUSE_(F)FILE to 1 to compile wx(F)File classes. wxFile uses low level 
 266 // POSIX functions for file access, wxFFile uses ANSI C stdio.h functions. 
 270 // Recommended setting: 1 (wxFile is highly recommended as it is required by 
 271 // i18n code, wxFileConfig and others) 
 273 #define wxUSE_FFILE         1 
 275 // use wxTextBuffer class: required by wxTextFile 
 276 #define wxUSE_TEXTBUFFER    1 
 278 // use wxTextFile class: requires wxFile and wxTextBuffer, required by 
 280 #define wxUSE_TEXTFILE      1 
 282 // i18n support: _() macro, wxLocale class. Requires wxTextFile. 
 285 // Set wxUSE_DATETIME to 1 to compile the wxDateTime and related classes which 
 286 // allow to manipulate dates, times and time intervals. wxDateTime replaces the 
 287 // old wxTime and wxDate classes which are still provided for backwards 
 288 // compatibility (and implemented in terms of wxDateTime). 
 290 // Note that this class is relatively new and is still officially in alpha 
 291 // stage because some features are not yet (fully) implemented. It is already 
 292 // quite useful though and should only be disabled if you are aiming at 
 293 // absolutely minimal version of the library. 
 295 // Requires: wxUSE_LONGLONG 
 299 // Recommended setting: 1 
 300 #define wxUSE_DATETIME      1 
 302 // Set wxUSE_TIMER to 1 to compile wxTimer class 
 306 // Recommended setting: 1 
 307 #define wxUSE_TIMER         1 
 309 // Use wxStopWatch clas. 
 313 // Recommended setting: 1 (needed by wxSocket) 
 314 #define wxUSE_STOPWATCH     1 
 316 // Setting wxUSE_CONFIG to 1 enables the use of wxConfig and related classes 
 317 // which allow the application to store its settings in the persistent 
 318 // storage. Setting this to 1 will also enable on-demand creation of the 
 319 // global config object in wxApp. 
 321 // See also wxUSE_CONFIG_NATIVE below. 
 323 // Recommended setting: 1 
 324 #define wxUSE_CONFIG        1 
 326 // If wxUSE_CONFIG is 1, you may choose to use either the native config 
 327 // classes under Windows (using .INI files under Win16 and the registry under 
 328 // Win32) or the portable text file format used by the config classes under 
 331 // Default is 1 to use native classes. Note that you may still use 
 332 // wxFileConfig even if you set this to 1 - just the config object created by 
 333 // default for the applications needs will be a wxRegConfig or wxIniConfig and 
 336 // Recommended setting: 1 
 337 #define wxUSE_CONFIG_NATIVE   0 
 339 // If wxUSE_DIALUP_MANAGER is 1, compile in wxDialUpManager class which allows 
 340 // to connect/disconnect from the network and be notified whenever the dial-up 
 341 // network connection is established/terminated. Requires wxUSE_DYNLIB_CLASS. 
 345 // Recommended setting: 1 
 346 #define wxUSE_DIALUP_MANAGER   0 
 348 // Compile in wxLibrary class for run-time DLL loading and function calling. 
 349 // Required by wxUSE_DIALUP_MANAGER. 
 351 // This setting is for Win32 only 
 355 // Recommended setting: 1 
 356 #define wxUSE_DYNAMIC_LOADER  0 
 358 #define wxUSE_DYNLIB_CLASS  0 
 360 // Set to 1 to use socket classes 
 361 #define wxUSE_SOCKETS       0 
 363 // Set to 1 to enable virtual file systems (required by wxHTML) 
 364 #define wxUSE_FILESYSTEM    0 
 366 // Set to 1 to enable virtual ZIP filesystem (requires wxUSE_FILESYSTEM) 
 367 #define wxUSE_FS_ZIP        0 
 369 // Set to 1 to enable virtual Internet filesystem (requires wxUSE_FILESYSTEM) 
 370 #define wxUSE_FS_INET       0 
 372 // Set to 1 to compile wxZipInput/OutputStream classes. 
 373 #define wxUSE_ZIPSTREAM     0 
 375 // Set to 1 to compile wxZlibInput/OutputStream classes. Also required by 
 379 // If enabled, the code written by Apple will be used to write, in a portable 
 380 // way, float on the disk. See extended.c for the license which is different 
 381 // from wxWindows one. 
 385 // Recommended setting: 1 unless you don't like the license terms (unlikely) 
 386 #define wxUSE_APPLE_IEEE          1 
 388 // Joystick support class 
 389 #define wxUSE_JOYSTICK            1 
 391 // wxFontMapper class 
 392 #define wxUSE_FONTMAP 1 
 394 // wxMimeTypesManager class 
 395 #define wxUSE_MIMETYPE 0 
 397 // wxSystemOptions class 
 398 #define wxUSE_SYSTEM_OPTIONS 1 
 400 // Support for regular expression matching via wxRegEx class: enable this to 
 401 // use POSIX regular expressions in your code. You need to compile regex 
 402 // library from src/regex to use it under Windows. 
 406 // Recommended setting: 1 if your compiler supports it, if it doesn't please 
 407 // contribute us a makefile for src/regex for it 
 408 #define wxUSE_REGEX       0 
 413 // ---------------------------------------------------------------------------- 
 414 // Individual GUI controls 
 415 // ---------------------------------------------------------------------------- 
 417 // You must set wxUSE_CONTROLS to 1 if you are using any controls at all 
 418 // (without it, wxControl class is not compiled) 
 422 // Recommended setting: 1 (don't change except for very special programs) 
 423 #define wxUSE_CONTROLS     1 
 425 // wxPopupWindow class is not used currently by wxMSW 
 429 // Recommended setting: 0 
 430 #define wxUSE_POPUPWIN     1 
 432 // wxTipWindow allows to implement the custom tooltips, it is used by the 
 433 // context help classes. Requires wxUSE_POPUPWIN. 
 437 // Recommended setting: 1 (may be set to 0) 
 438 #define wxUSE_TIPWINDOW    1 
 440 // Each of the settings below corresponds to one wxWindows control. They are 
 441 // all switched on by default but may be disabled if you are sure that your 
 442 // program (including any standard dialogs it can show!) doesn't need them and 
 443 // if you desperately want to save some space. If you use any of these you must 
 444 // set wxUSE_CONTROLS as well. 
 448 // Recommended setting: 1 
 449 #define wxUSE_BUTTON       1    // wxButton 
 450 #define wxUSE_BMPBUTTON    1    // wxBitmapButton 
 451 #define wxUSE_CALENDARCTRL 0    // wxCalendarCtrl 
 452 #define wxUSE_CHECKBOX     1    // wxCheckBox 
 453 #define wxUSE_CHECKLISTBOX 1    // wxCheckListBox (requires wxUSE_OWNER_DRAWN) 
 454 #define wxUSE_CHOICE       1    // wxChoice 
 455 #define wxUSE_COMBOBOX     1    // wxComboBox 
 456 #define wxUSE_GAUGE        1    // wxGauge 
 457 #define wxUSE_LISTBOX      1    // wxListBox 
 458 #define wxUSE_LISTCTRL     0    // wxListCtrl 
 459 #define wxUSE_RADIOBOX     1    // wxRadioBox 
 460 #define wxUSE_RADIOBTN     1    // wxRadioButton 
 461 #define wxUSE_SCROLLBAR    1    // wxScrollBar 
 462 #define wxUSE_SLIDER       1    // wxSlider 
 463 #define wxUSE_SPINBTN      1    // wxSpinButton 
 464 #define wxUSE_SPINCTRL     1    // wxSpinCtrl 
 465 #define wxUSE_STATBOX      1    // wxStaticBox 
 466 #define wxUSE_STATLINE     1    // wxStaticLine 
 467 #define wxUSE_STATTEXT     1    // wxStaticText 
 468 #define wxUSE_STATBMP      1    // wxStaticBitmap 
 469 #define wxUSE_TEXTCTRL     1    // wxTextCtrl 
 470 #define wxUSE_TOGGLEBTN    0    // requires wxButton 
 471 #define wxUSE_TREECTRL     0    // wxTreeCtrl 
 473 // Use a status bar class? Depending on the value of wxUSE_NATIVE_STATUSBAR 
 474 // below either wxStatusBar95 or a generic wxStatusBar will be used. 
 478 // Recommended setting: 1 
 479 #define wxUSE_STATUSBAR    1 
 481 // Two status bar implementations are available under Win32: the generic one 
 482 // or the wrapper around native control. For native look and feel the native 
 483 // version should be used. 
 487 // Recommended setting: 1 (there is no advantage in using the generic one) 
 488 #define wxUSE_NATIVE_STATUSBAR        0 
 490 // wxToolBar related settings: if wxUSE_TOOLBAR is 0, don't compile any toolbar 
 491 // classes at all. Otherwise, use the native toolbar class unless 
 492 // wxUSE_TOOLBAR_NATIVE is 0. Additionally, the generic toolbar class which 
 493 // supports some features which might not be supported by the native wxToolBar 
 494 // class may be compiled in if wxUSE_TOOLBAR_SIMPLE is 1. 
 496 // Default is 1 for all settings. 
 498 // Recommended setting: 1 for wxUSE_TOOLBAR and wxUSE_TOOLBAR_NATIVE and 0 for 
 499 // wxUSE_TOOLBAR_SIMPLE (the default is 1 mainly for backwards compatibility). 
 500 #define wxUSE_TOOLBAR 0 
 501 #define wxUSE_TOOLBAR_NATIVE 0 
 502 #define wxUSE_TOOLBAR_SIMPLE 0 
 504 // this setting is obsolete, value is ignored 
 505 #define wxUSE_BUTTONBAR    0 
 507 // wxNotebook is a control with several "tabs" located on one of its sides. It 
 508 // may be used ot logically organise the data presented to the user instead of 
 509 // putting everything in one huge dialog. It replaces wxTabControl and related 
 510 // classes of wxWin 1.6x. 
 514 // Recommended setting: 1 
 515 #define wxUSE_NOTEBOOK 1 
 517 // wxTabDialog is a generic version of wxNotebook but it is incompatible with 
 518 // the new class. It shouldn't be used in new code. 
 522 // Recommended setting: 0 (use wxNotebook) 
 523 #define wxUSE_TAB_DIALOG    0 
 525 // wxGrid class comes in two flavours: the original (pre wxWin 2.2) one and 
 526 // the new, much imporved and enhanced version. The new version is backwards 
 527 // compatible with the old one and should be used whenever possible, i.e. if 
 528 // you set wxUSE_GRID to 1, set wxUSE_NEW_GRID to 1 too. 
 530 // Default is 1 for both options. 
 532 // Recommended setting: 1 for wxUSE_NEW_GRID, 0 if you have an old code using 
 533 // wxGrid and 100% backwards compatibality (with all old wxGrid quirks) is 
 536 // WIN16/BC++ resets wxUSE_NEW_GRID to 0 because it exceeds the data limit. 
 538 #define wxUSE_NEW_GRID     0 
 540 // wxProperty[Value/Form/List] classes, used by Dialog Editor 
 541 #define wxUSE_PROPSHEET    0 
 543 // ---------------------------------------------------------------------------- 
 544 // Miscellaneous GUI stuff 
 545 // ---------------------------------------------------------------------------- 
 547 // wxAcceleratorTable/Entry classes and support for them in wxMenu(Bar) 
 548 #define wxUSE_ACCEL 0 
 550 // Use wxCaret: a class implementing a "cursor" in a text control (called caret 
 555 // Recommended setting: 1 (can be safely set to 0, not used by the library) 
 556 #define wxUSE_CARET         1 
 558 // Miscellaneous geometry code: needed for Canvas library 
 559 #define wxUSE_GEOMETRY            1 
 561 // Use wxImageList. This class is needed by wxNotebook, wxTreeCtrl and 
 566 // Recommended setting: 1 (set it to 0 if you don't use any of the controls 
 567 // enumerated above, then this class is mostly useless too) 
 568 #define wxUSE_IMAGLIST      1 
 570 // Use wxMenu, wxMenuBar, wxMenuItem. 
 574 // Recommended setting: 1 (can't be disabled under MSW) 
 575 #define wxUSE_MENUS         1 
 577 // Use wxSashWindow class. 
 581 // Recommended setting: 1 
 584 // Use wxSplitterWindow class. 
 588 // Recommended setting: 1 
 589 #define wxUSE_SPLITTER      1 
 591 // Use wxToolTip and wxWindow::Set/GetToolTip() methods. 
 595 // Recommended setting: 1 
 596 #define wxUSE_TOOLTIPS      0 
 598 // wxValidator class and related methods 
 599 #define wxUSE_VALIDATORS 0 
 601 // wxDC cacheing implementation 
 602 #define wxUSE_DC_CACHEING 0 
 604 // ---------------------------------------------------------------------------- 
 606 // ---------------------------------------------------------------------------- 
 608 // Define 1 to use generic dialogs in Windows, even though they duplicate 
 609 // native common dialog (e.g. wxColourDialog). This is mainly useful for 
 614 // Recommended setting: 0 
 615 #define wxUSE_GENERIC_DIALOGS_IN_MSW 0 
 617 // On rare occasions (e.g. using DJGPP) may want to omit common dialogs (e.g. 
 618 // file selector, printer dialog). Switching this off also switches off the 
 619 // printing architecture and interactive wxPrinterDC. 
 623 // Recommended setting: 1 (unless it really doesn't work) 
 624 #define wxUSE_COMMON_DIALOGS 1 
 626 // wxBusyInfo displays window with message when app is busy. Works in same way 
 628 #define wxUSE_BUSYINFO      0 
 630 // Use single/multiple choice dialogs. 
 634 // Recommended setting: 1 (used in the library itself) 
 635 #define wxUSE_CHOICEDLG     1 
 637 // Use colour picker dialog 
 641 // Recommended setting: 1 
 642 #define wxUSE_COLOURDLG     0 
 644 // wxDirDlg class for getting a directory name from user 
 645 #define wxUSE_DIRDLG 0 
 647 // TODO: setting to choose the generic or native one 
 649 // Use file open/save dialogs. 
 653 // Recommended setting: 1 (used in many places in the library itself) 
 654 #define wxUSE_FILEDLG       0 
 656 // Use find/replace dialogs. 
 660 // Recommended setting: 1 (but may be safely set to 0) 
 661 #define wxUSE_FINDREPLDLG       0 
 663 // Use font picker dialog 
 667 // Recommended setting: 1 (used in the library itself) 
 668 #define wxUSE_FONTDLG       0 
 670 // Use wxMessageDialog and wxMessageBox. 
 674 // Recommended setting: 1 (used in the library itself) 
 675 #define wxUSE_MSGDLG        1 
 677 // progress dialog class for lengthy operations 
 678 #define wxUSE_PROGRESSDLG 0 
 680 // support for startup tips (wxShowTip &c) 
 681 #define wxUSE_STARTUP_TIPS 0 
 683 // text entry dialog and wxGetTextFromUser function 
 684 #define wxUSE_TEXTDLG 0 
 686 // number entry dialog 
 687 #define wxUSE_NUMBERDLG 0 
 689 // splash screen class 
 690 #define wxUSE_SPLASH 0 
 693 #define wxUSE_WIZARDDLG 0 
 695 // ---------------------------------------------------------------------------- 
 697 // ---------------------------------------------------------------------------- 
 699 // Windows supports the graphics format known as metafile which is, though not 
 700 // portable, is widely used under Windows and so is supported by wxWin (under 
 701 // Windows only, of course). Win16 (Win3.1) used the so-called "Window 
 702 // MetaFiles" or WMFs which were replaced with "Enhanced MetaFiles" or EMFs in 
 703 // Win32 (Win9x, NT, 2000). Both of these are supported in wxWin and, by 
 704 // default, WMFs will be used under Win16 and EMFs under Win32. This may be 
 705 // changed by setting wxUSE_WIN_METAFILES_ALWAYS to 1 and/or setting 
 706 // wxUSE_ENH_METAFILE to 0. You may also set wxUSE_METAFILE to 0 to not compile 
 707 // in any metafile related classes at all. 
 709 // Default is 1 for wxUSE_ENH_METAFILE and 0 for wxUSE_WIN_METAFILES_ALWAYS. 
 711 // Recommended setting: default or 0 for everything for portable programs. 
 712 #define wxUSE_METAFILE              0 
 713 #define wxUSE_ENH_METAFILE          0 
 714 #define wxUSE_WIN_METAFILES_ALWAYS  0 
 716 // ---------------------------------------------------------------------------- 
 717 // Big GUI components 
 718 // ---------------------------------------------------------------------------- 
 720 // Set to 0 to disable document/view architecture 
 721 #define wxUSE_DOC_VIEW_ARCHITECTURE 0 
 723 // Set to 0 to disable MDI document/view architecture 
 724 #define wxUSE_MDI_ARCHITECTURE    0 
 726 // Set to 0 to disable print/preview architecture code 
 727 #define wxUSE_PRINTING_ARCHITECTURE  0 
 729 // wxHTML sublibrary allows to display HTML in wxWindow programs and much, 
 734 // Recommended setting: 1 (wxHTML is great!), set to 0 if you want compile a 
 739 #define wxUSE_GLCANVAS       0 
 741 // wxTreeLayout class 
 742 #define wxUSE_TREELAYOUT     0 
 744 // ---------------------------------------------------------------------------- 
 746 // ---------------------------------------------------------------------------- 
 748 // Use wxClipboard class for clipboard copy/paste. 
 752 // Recommended setting: 1 
 753 #define wxUSE_CLIPBOARD     0 
 755 // Use wxDataObject and related classes. Needed for clipboard and OLE drag and 
 760 // Recommended setting: 1 
 761 #define wxUSE_DATAOBJ       0 
 763 // Use wxDropTarget and wxDropSource classes for drag and drop (this is 
 764 // different from "built in" drag and drop in wxTreeCtrl which is always 
 765 // available). Requires wxUSE_DATAOBJ. 
 769 // Recommended setting: 1 
 770 #define wxUSE_DRAG_AND_DROP 0 
 772 // ---------------------------------------------------------------------------- 
 773 // miscellaneous settings 
 774 // ---------------------------------------------------------------------------- 
 776 // wxSingleInstanceChecker class allows to verify at startup if another program 
 777 // instance is running (it is only available under Win32) 
 781 // Recommended setting: 1 (the class is tiny, disabling it won't save much 
 783 #define wxUSE_SNGLINST_CHECKER  0 
 785 #define wxUSE_DRAGIMAGE 0 
 788                                 // 0 for no interprocess comms 
 790                                 // 0 for no help facility 
 791 #define wxUSE_MS_HTML_HELP 0 
 792                                 // 0 for no MS HTML Help 
 794 // Use wxHTML-based help controller? 
 795 #define wxUSE_WXHTML_HELP 0 
 797 #define wxUSE_RESOURCES   0 
 798                                 // 0 for no wxGetResource/wxWriteResource 
 799 #define wxUSE_CONSTRAINTS 1 
 800                                 // 0 for no window layout constraint system 
 802 #define wxUSE_SPLINES     1 
 805 #define wxUSE_XPM_IN_MSW   1 
 806                                 // 0 for no XPM support in wxBitmap. 
 807                                 // Default is 1, as XPM is now fully 
 808                                 // supported this makes easier the issue 
 809                                 // of portable icons and bitmaps. 
 811 #define wxUSE_IMAGE_LOADING_IN_MSW        0 
 812                                 // Use dynamic DIB loading/saving code in utils/dib under MSW. 
 813 #define wxUSE_RESOURCE_LOADING_IN_MSW     0 
 814                                 // Use dynamic icon/cursor loading/saving code 
 816 #define wxUSE_WX_RESOURCES        0 
 817                                 // Use .wxr resource mechanism (requires PrologIO library) 
 819 #define wxUSE_MOUSEWHEEL        0 
 820                                 // Include mouse wheel support 
 822 // ---------------------------------------------------------------------------- 
 823 // postscript support settings 
 824 // ---------------------------------------------------------------------------- 
 826 // Set to 1 for PostScript device context. 
 827 #define wxUSE_POSTSCRIPT  0 
 829 // Set to 1 to use font metric files in GetTextExtent 
 830 #define wxUSE_AFM_FOR_POSTSCRIPT 0 
 832 // Set to 0 to disable PostScript print/preview architecture code under Windows 
 833 // (just use Windows printing). 
 834 #define wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW 0 
 836 // ---------------------------------------------------------------------------- 
 838 // ---------------------------------------------------------------------------- 
 840 // Define 1 to use ODBC classes 
 843 // For backward compatibility reasons, this parameter now only controls the 
 844 // default scrolling method used by cursors.  This default behavior can be 
 845 // overriden by setting the second param of wxDB::wxDbGetConnection() or 
 846 // wxDb() constructor to indicate whether the connection (and any wxDbTable()s 
 847 // that use the connection) should support forward only scrolling of cursors, 
 848 // or both forward and backward support for backward scrolling cursors is 
 849 // dependent on the data source as well as the ODBC driver being used. 
 850 #define wxODBC_FWD_ONLY_CURSORS  1 
 852 // Default is 0.  Set to 1 to use the deprecated classes, enum types, function, 
 853 // member variables.  With a setting of 1, full backward compatability with the 
 854 // 2.0.x release is possible. It is STRONGLY recommended that this be set to 0, 
 855 // as future development will be done only on the non-deprecated 
 856 // functions/classes/member variables/etc. 
 857 #define wxODBC_BACKWARD_COMPATABILITY 0 
 859 // ---------------------------------------------------------------------------- 
 860 // other compiler (mis)features 
 861 // ---------------------------------------------------------------------------- 
 863 // Set this to 0 if your compiler can't cope with omission of prototype 
 868 // Recommended setting: 1 (should never need to set this to 0) 
 869 #define REMOVE_UNUSED_ARG   1 
 871 // VC++ 4.2 and above allows <iostream> and <iostream.h> but you can't mix 
 872 // them. Set to 1 for <iostream.h>, 0 for <iostream> 
 876 // Recommended setting: whatever your compiler likes more 
 877 #define wxUSE_IOSTREAMH     1 
 879 // ---------------------------------------------------------------------------- 
 880 // image format support 
 881 // ---------------------------------------------------------------------------- 
 883 // wxImage supports many different image formats which can be configured at 
 884 // compile-time. BMP is always supported, others are optional and can be safely 
 885 // disabled if you don't plan to use images in such format sometimes saving 
 886 // substantial amount of code in the final library. 
 888 // Some formats require an extra library which is included in wxWin sources 
 889 // which is mentioned if it is the case. 
 891 // Set to 1 for wxImage support (recommended). 
 892 #define wxUSE_IMAGE         1 
 894 // Set to 1 for PNG format support (requires libpng). Also requires wxUSE_ZLIB. 
 895 #define wxUSE_LIBPNG        0 
 897 // Set to 1 for JPEG format support (requires libjpeg) 
 898 #define wxUSE_LIBJPEG       0 
 900 // Set to 1 for TIFF format support (requires libtiff) 
 901 #define wxUSE_LIBTIFF       0 
 903 // Set to 1 for GIF format support 
 906 // Set to 1 for PNM format support 
 909 // Set to 1 for PCX format support 
 912 // Set to 1 for IFF format support 
 915 // Set to 1 for XPM format support 
 918 // Set to 1 for MS Icons and Cursors format support 
 919 #define wxUSE_ICO_CUR       1 
 921 // Set to 1 to compile in wxPalette class 
 922 #define wxUSE_PALETTE       1 
 924 // ---------------------------------------------------------------------------- 
 925 // Windows-only settings 
 926 // ---------------------------------------------------------------------------- 
 928 // Set this to 1 if you want to use wxWindows and MFC in the same program. This 
 929 // will override some other settings (see below) 
 933 // Recommended setting: 0 unless you really have to use MFC 
 936 // Set this to 1 for generic OLE support: this is required for drag-and-drop, 
 937 // clipboard, OLE Automation. Only set it to 0 if your compiler is very old and 
 938 // can't compile/doesn't have the OLE headers. 
 942 // Recommended setting: 1 
 945 // Set this to 1 to use Microsoft CTL3D library for "3D-look" under Win16 or NT 
 946 // 3.x. This setting is ignored under Win9x and NT 4.0+. 
 948 // Default is 0 for (most) Win32 (systems), 1 for Win16 
 950 // Recommended setting: same as default 
 951 #if defined(__WIN95__) 
 952 #define wxUSE_CTL3D                      0 
 954 #define wxUSE_CTL3D                      1 
 957 // Define as 1 to use Microsoft's ItsyBitsy small title bar library, for 
 958 // wxMiniFrame. This setting is only used for Win3.1; Win9x and NT use native 
 959 // miniframes support instead. 
 961 // Default is 0 for (most) Win32 (systems), 1 for Win16 
 963 // Recommended setting: same as default 
 964 #if defined(__WIN95__) 
 965 #define wxUSE_ITSY_BITSY             0 
 967 #define wxUSE_ITSY_BITSY             1 
 970 // Set this to 1 to use RICHEDIT controls for wxTextCtrl with style wxTE_RICH 
 971 // which allows to put more than ~32Kb of text in it even under Win9x (NT 
 972 // doesn't have such limitation). 
 974 // Default is 1 for compilers which support it 
 976 // Recommended setting: 1, only set it to 0 if your compiler doesn't have 
 977 //                      or can't compile <richedit.h> 
 978 #if defined(__WIN95__) && !defined(__WINE__) && !defined(__GNUWIN32_OLD__) 
 979 #define wxUSE_RICHEDIT  1 
 981 // TODO:  This should be ifdef'ed for any compilers that don't support 
 982 //        RichEdit 2.0 but do have RichEdit 1.0... 
 983 #define wxUSE_RICHEDIT2 1 
 986 #define wxUSE_RICHEDIT  0 
 987 #define wxUSE_RICHEDIT2 0 
 990 // Set this to 1 to enable support for the owner-drawn menu and listboxes. This 
 991 // is required by wxUSE_CHECKLISTBOX. 
 995 // Recommended setting: 1, set to 0 for a small library size reduction 
 996 #define wxUSE_OWNER_DRAWN 0 
 998 // ---------------------------------------------------------------------------- 
1000 // ---------------------------------------------------------------------------- 
1002 // NB: all settings in this section are obsolete and should not be used/changed 
1003 //     at all, they will disappear 
1005 // Set to 1 to use PenWindows 
1006 #define wxUSE_PENWINDOWS             0 
1008 // Define 1 to use bitmap messages. 
1009 #define wxUSE_BITMAP_MESSAGE         1 
1011 // If 1, enables provision of run-time type information. 
1012 // NOW MANDATORY: don't change. 
1013 #define wxUSE_DYNAMIC_CLASSES     1 
1015 // ---------------------------------------------------------------------------- 
1016 // disable the settings which don't work for some compilers 
1017 // ---------------------------------------------------------------------------- 
1019 #ifndef wxUSE_NORLANDER_HEADERS 
1020 #if (defined(__MINGW32__) || defined(__CYGWIN__)) && ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95))) 
1021 #   define wxUSE_NORLANDER_HEADERS 1 
1023 #   define wxUSE_NORLANDER_HEADERS 0 
1027 #if defined(__GNUWIN32__) 
1028 // These don't work as expected for mingw32 and cygwin32 
1029 #undef  wxUSE_MEMORY_TRACING 
1030 #define wxUSE_MEMORY_TRACING            0 
1032 #undef  wxUSE_GLOBAL_MEMORY_OPERATORS 
1033 #define wxUSE_GLOBAL_MEMORY_OPERATORS   0 
1035 #undef  wxUSE_DEBUG_NEW_ALWAYS 
1036 #define wxUSE_DEBUG_NEW_ALWAYS          0 
1038 // Cygwin betas don't have wcslen 
1039 #if defined(__CYGWIN__) || defined(__CYGWIN32__) 
1040 #  if ! ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95))) 
1041 #    undef wxUSE_WCHAR_T 
1042 #    define wxUSE_WCHAR_T 0 
1046 #endif // __GNUWIN32__ 
1048 // MFC duplicates these operators 
1050 #undef  wxUSE_GLOBAL_MEMORY_OPERATORS 
1051 #define wxUSE_GLOBAL_MEMORY_OPERATORS   0 
1053 #undef  wxUSE_DEBUG_NEW_ALWAYS 
1054 #define wxUSE_DEBUG_NEW_ALWAYS          0 
1057 #if (!defined(WIN32) && !defined(__WIN32__)) || (defined(__GNUWIN32__) && !wxUSE_NORLANDER_HEADERS) 
1058 // Can't use OLE drag and drop in Windows 3.1 because we don't know how 
1059 // to implement UUIDs 
1060 // GnuWin32 doesn't have appropriate headers for e.g. IUnknown. 
1061 #undef wxUSE_DRAG_AND_DROP 
1062 #define wxUSE_DRAG_AND_DROP 0 
1065 // Only WIN32 supports wxStatusBar95 
1066 #if !defined(__WIN32__) && wxUSE_NATIVE_STATUSBAR 
1067 #undef  wxUSE_NATIVE_STATUSBAR 
1068 #define wxUSE_NATIVE_STATUSBAR 0 
1071 #if !wxUSE_OWNER_DRAWN 
1072 #undef wxUSE_CHECKLISTBOX 
1073 #define wxUSE_CHECKLISTBOX 0 
1076 // Salford C++ doesn't like some of the memory operator definitions 
1078 #undef  wxUSE_MEMORY_TRACING 
1079 #define wxUSE_MEMORY_TRACING      0 
1081 #undef wxUSE_GLOBAL_MEMORY_OPERATORS 
1082 #define wxUSE_GLOBAL_MEMORY_OPERATORS 0 
1084 #undef wxUSE_DEBUG_NEW_ALWAYS 
1085 #define wxUSE_DEBUG_NEW_ALWAYS 0 
1087 #undef wxUSE_THREADS 
1088 #define wxUSE_THREADS 0 
1090 #undef wxUSE_OWNER_DRAWN 
1091 #define wxUSE_OWNER_DRAWN 0 
1092 #endif // __SALFORDC__ 
1094 // BC++/Win16 can't cope with the amount of data in resource.cpp 
1095 #if defined(__WIN16__) && defined(__BORLANDC__) 
1096 #undef wxUSE_WX_RESOURCES 
1097 #define wxUSE_WX_RESOURCES        0 
1100 #define wxUSE_ODBC                0 
1102 #undef wxUSE_NEW_GRID 
1103 #define wxUSE_NEW_GRID            0 
1106 #if defined(__BORLANDC__) && (__BORLANDC__ < 0x500) 
1107 // BC++ 4.0 can't compile JPEG library 
1108 #undef wxUSE_LIBJPEG 
1109 #define wxUSE_LIBJPEG 0 
1112 // wxUSE_DEBUG_NEW_ALWAYS = 1 not compatible with BC++ in DLL mode 
1113 #if defined(__BORLANDC__) && (defined(WXMAKINGDLL) || defined(WXUSINGDLL)) 
1114 #undef wxUSE_DEBUG_NEW_ALWAYS 
1115 #define wxUSE_DEBUG_NEW_ALWAYS 0 
1118 #if defined(__WXMSW__) && defined(__WATCOMC__) 
1120 #undef  wxUSE_GLCANVAS 
1121 #define wxUSE_GLCANVAS 0 
1124 #undef wxUSE_WCHAR_T 
1125 #define wxUSE_WCHAR_T 0 
1128 #if defined(__WXMSW__) && !defined(__WIN32__) 
1130 #undef wxUSE_SOCKETS 
1131 #define wxUSE_SOCKETS 0 
1133 #undef wxUSE_THREADS 
1134 #define wxUSE_THREADS 0 
1136 #undef wxUSE_TOOLTIPS 
1137 #define wxUSE_TOOLTIPS 0 
1139 #undef wxUSE_SPINCTRL 
1140 #define wxUSE_SPINCTRL 0 
1142 #undef wxUSE_SPINBTN 
1143 #define wxUSE_SPINBTN 0 
1146 #define wxUSE_LIBPNG 0 
1148 #undef wxUSE_LIBJPEG 
1149 #define wxUSE_LIBJPEG 0 
1151 #undef wxUSE_LIBTIFF 
1152 #define wxUSE_LIBTIFF 0 
1163 #undef wxUSE_GLCANVAS 
1164 #define wxUSE_GLCANVAS 0 
1166 #undef wxUSE_MS_HTML_HELP 
1167 #define wxUSE_MS_HTML_HELP 0 
1169 #undef wxUSE_WCHAR_T 
1170 #define wxUSE_WCHAR_T 0 
1174 // ---------------------------------------------------------------------------- 
1175 // undef the things which don't make sense for wxBase build 
1176 // ---------------------------------------------------------------------------- 
1181 #define wxUSE_HTML 0 
1183 #endif // !wxUSE_GUI 
1185 // ---------------------------------------------------------------------------- 
1186 // check the settings consistency: do it here to abort compilation immediately 
1187 // and not almost in the very end when the relevant file fails to compile and 
1188 // you need to modify setup.h and rebuild everything 
1189 // ---------------------------------------------------------------------------- 
1191 #if wxUSE_DATETIME && !wxUSE_LONGLONG 
1192     #error wxDateTime requires wxLongLong 
1195 #if wxUSE_TEXTFILE && !wxUSE_FILE 
1196     #error You cannot compile wxTextFile without wxFile 
1199 #if wxUSE_FILESYSTEM && !wxUSE_STREAMS 
1200     #error You cannot compile virtual file systems without wxUSE_STREAMS 
1203 #if wxUSE_HTML && !wxUSE_FILESYSTEM 
1204     #error You cannot compile wxHTML without virtual file systems 
1207 // add more tests here...