]>
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 2.0 API: set it to 1 to 
  36 // Recommended setting: 0 (please update your code instead!) 
  37 #define WXWIN_COMPATIBILITY_2_2 1 
  39 // in wxMSW version 2.1.11 and earlier, wxIcon always derives from wxBitmap, 
  40 // but this is very dangerous because you can mistakenly pass an icon instead 
  41 // of a bitmap to a function taking "const wxBitmap&" - which will *not* work 
  42 // because an icon is not a valid bitmap 
  44 // Starting from 2.1.12, you have the choice under this backwards compatible 
  45 // behaviour (your code will still compile, but probably won't behave as 
  46 // expected!) and not deriving wxIcon class from wxBitmap, but providing a 
  47 // conversion ctor wxBitmap(const wxIcon&) instead. 
  49 // Recommended setting: 0 
  50 #define wxICON_IS_BITMAP    0 
  52 // Define as 1 for font size to be backward compatible to 1.63 and earlier. 
  53 // 1.64 and later define point sizes to be compatible with Windows. 
  57 // Recommended setting: 0 
  58 #define wxFONT_SIZE_COMPATIBILITY    0 
  60 // Set to 0 for accurate dialog units, else 1 to be as per 2.1.16 and before. 
  61 // If migrating between versions, your dialogs may seem to shrink. 
  65 // Recommended setting: 0 (the new calculations are more correct!) 
  66 #define wxDIALOG_UNIT_COMPATIBILITY   1 
  68 // ---------------------------------------------------------------------------- 
  70 // ---------------------------------------------------------------------------- 
  72 // Generic comment about debugging settings: they are very useful if you don't 
  73 // use any other memory leak detection tools such as Purify/BoundsChecker, but 
  74 // are probably redundant otherwise. Also, Visual C++ CRT has the same features 
  75 // as wxWindows memory debugging subsystem built in since version 5.0 and you 
  76 // may prefer to use it instead of built in memory debugging code because it is 
  77 // faster and more fool proof. 
  79 // Using VC++ CRT memory debugging is enabled by default in debug mode 
  80 // (__WXDEBUG__) if wxUSE_GLOBAL_MEMORY_OPERATORS is *not* enabled (i.e. is 0) 
  81 // and if __NO_VC_CRTDBG__ is not defined. 
  83 // If 1, enables wxDebugContext, for writing error messages to file, etc. If 
  84 // __WXDEBUG__ is not defined, will still use normal memory operators. It's 
  85 // recommended to set this to 1, since you may well need to output an error log 
  86 // in a production version (or non-debugging beta). 
  90 // Recommended setting: 1 but see comment above 
  91 #define wxUSE_DEBUG_CONTEXT 1 
  93 // If 1, enables debugging versions of wxObject::new and wxObject::delete *IF* 
  94 // __WXDEBUG__ is also defined. 
  96 // WARNING: this code may not work with all architectures, especially if 
  97 // alignment is an issue. This switch is currently ignored for mingw / cygwin 
 101 // Recommended setting: 1 but see comment in the beginning of this section 
 102 #define wxUSE_MEMORY_TRACING 0 
 104 // In debug mode, cause new and delete to be redefined globally. 
 105 // If this causes problems (e.g. link errors), set this to 0. 
 106 // This switch is currently ignored for mingw / cygwin 
 110 // Recommended setting: 1 but see comment in the beginning of this section 
 111 #define wxUSE_GLOBAL_MEMORY_OPERATORS 0 
 113 // In debug mode, causes new to be defined to be WXDEBUG_NEW (see object.h). If 
 114 // this causes problems (e.g. link errors), set this to 0. You may need to set 
 115 // this to 0 if using templates (at least for VC++). This switch is currently 
 116 // ignored for mingw / cygwin 
 120 // Recommended setting: 1 but see comment in the beginning of this section 
 121 #define wxUSE_DEBUG_NEW_ALWAYS 0 
 123 // wxHandleFatalExceptions() may be used to catch the program faults at run 
 124 // time and, instead of terminating the program with a usual GPF message box, 
 125 // call the user-defined wxApp::OnFatalException() function. If you set 
 126 // wxUSE_ON_FATAL_EXCEPTION to 0, wxHandleFatalExceptions() will not work. 
 128 // This setting is for Win32 only and can only be enabled if your compiler 
 129 // supports Win32 structured exception handling (currently only VC++ does) 
 133 // Recommended setting: 1 if your compiler supports it. 
 135     #define wxUSE_ON_FATAL_EXCEPTION 1 
 137     #define wxUSE_ON_FATAL_EXCEPTION 0 
 140 // ---------------------------------------------------------------------------- 
 142 // ---------------------------------------------------------------------------- 
 144 // Set wxUSE_UNICODE to 1 to compile wxWindows in Unicode mode: wxChar will be 
 145 // defined as wchar_t, wxString will use Unicode internally. If you set this 
 146 // to 1, you must use wxT() macro for all literal strings in the program. 
 148 // Unicode is currently only fully supported under Windows NT/2000 (Windows 9x 
 149 // doesn't support it and the programs compiled in Unicode mode will not run 
 154 // Recommended setting: 0 (unless you only plan to use Windows NT/2000) 
 155 #define wxUSE_UNICODE 0 
 157 // Set wxUSE_UNICODE_MSLU to 1 if you want to compile wxWindows in Unicode mode 
 158 // and be able to run compiled apps under Windows 9x as well as NT/2000/XP. This 
 159 // setting enables use of unicows.dll from MSLU (MS Layer for Unicode, see 
 160 // http://www.microsoft.com/globaldev/Articles/mslu_announce.asp). Note that you 
 161 // will have to modify the makefiles to include unicows.lib import library as the first 
 166 // Recommended setting: 0 
 167 #define wxUSE_UNICODE_MSLU 0 
 169 // Setting wxUSE_WCHAR_T to 1 gives you some degree of Unicode support without 
 170 // compiling the program in Unicode mode. More precisely, it will be possible 
 171 // to construct wxString from a wide (Unicode) string and convert any wxString 
 176 // Recommended setting: 1 
 177 #define wxUSE_WCHAR_T 0 
 179 // ---------------------------------------------------------------------------- 
 181 // ---------------------------------------------------------------------------- 
 183 // Support for message/error logging. This includes wxLogXXX() functions and 
 184 // wxLog and derived classes. Don't set this to 0 unless you really know what 
 189 // Recommended setting: 1 (always) 
 192 // Support for command line parsing using wxCmdLineParser class. 
 196 // Recommended setting: 1 (can be set to 0 if you don't use the cmd line) 
 197 #define wxUSE_CMDLINE_PARSER 1 
 199 // Recommended setting: 1 
 200 #define wxUSE_LOGWINDOW 1 
 202 // Recommended setting: 1 
 203 #define wxUSE_LOGGUI 1 
 205 // Recommended setting: 1 
 206 #define wxUSE_LOG_DIALOG 0 
 208 // Support for multithreaded applications: if 1, compile in thread classes 
 209 // (thread.h) and make the library a bit more thread safe. Although thread 
 210 // support is quite stable by now, you may still consider recompiling the 
 211 // library without it if you have no use for it - this will result in a 
 212 // somewhat smaller and faster operation. 
 214 // This is ignored under Win16, threads are only supported under Win32. 
 218 // Recommended setting: 0 unless you do plan to develop MT applications 
 219 #define wxUSE_THREADS 0 
 221 // If enabled (1), compiles wxWindows streams classes 
 222 #define wxUSE_STREAMS       1 
 224 // Use standard C++ streams if 1. If 0, use wxWin streams implementation. 
 225 #define wxUSE_STD_IOSTREAM  0 
 227 // Use serialization (requires utils/serialize) 
 228 #define wxUSE_SERIAL        0 
 230 // ---------------------------------------------------------------------------- 
 231 // non GUI features selection 
 232 // ---------------------------------------------------------------------------- 
 234 // Set wxUSE_LONGLONG to 1 to compile the wxLongLong class. This is a 64 bit 
 235 // integer which is implemented in terms of native 64 bit integers if any or 
 236 // uses emulation otherwise. 
 238 // This class is required by wxDateTime and so you should enable it if you want 
 239 // to use wxDateTime. For most modern platforms, it will use the native 64 bit 
 240 // integers in which case (almost) all of its functions are inline and it 
 241 // almost does not take any space, so there should be no reason to switch it 
 244 // Recommended setting: 1 
 245 #define wxUSE_LONGLONG      1 
 247 // Set wxUSE_(F)FILE to 1 to compile wx(F)File classes. wxFile uses low level 
 248 // POSIX functions for file access, wxFFile uses ANSI C stdio.h functions. 
 252 // Recommended setting: 1 (wxFile is highly recommended as it is required by 
 253 // i18n code, wxFileConfig and others) 
 255 #define wxUSE_FFILE         1 
 257 // use wxTextBuffer class: required by wxTextFile 
 258 #define wxUSE_TEXTBUFFER    1 
 260 // use wxTextFile class: requires wxFile and wxTextBuffer, required by 
 262 #define wxUSE_TEXTFILE      1 
 264 // i18n support: _() macro, wxLocale class. Requires wxTextFile. 
 267 // Set wxUSE_DATETIME to 1 to compile the wxDateTime and related classes which 
 268 // allow to manipulate dates, times and time intervals. wxDateTime replaces the 
 269 // old wxTime and wxDate classes which are still provided for backwards 
 270 // compatibility (and implemented in terms of wxDateTime). 
 272 // Note that this class is relatively new and is still officially in alpha 
 273 // stage because some features are not yet (fully) implemented. It is already 
 274 // quite useful though and should only be disabled if you are aiming at 
 275 // absolutely minimal version of the library. 
 277 // Requires: wxUSE_LONGLONG 
 281 // Recommended setting: 1 
 282 #define wxUSE_DATETIME      1 
 284 // Set wxUSE_TIMER to 1 to compile wxTimer class 
 288 // Recommended setting: 1 
 289 #define wxUSE_TIMER         1 
 291 // Use wxStopWatch clas. 
 295 // Recommended setting: 1 (needed by wxSocket) 
 296 #define wxUSE_STOPWATCH     1 
 298 // Setting wxUSE_CONFIG to 1 enables the use of wxConfig and related classes 
 299 // which allow the application to store its settings in the persistent 
 300 // storage. Setting this to 1 will also enable on-demand creation of the 
 301 // global config object in wxApp. 
 303 // See also wxUSE_CONFIG_NATIVE below. 
 305 // Recommended setting: 1 
 306 #define wxUSE_CONFIG        1 
 308 // If wxUSE_CONFIG is 1, you may choose to use either the native config 
 309 // classes under Windows (using .INI files under Win16 and the registry under 
 310 // Win32) or the portable text file format used by the config classes under 
 313 // Default is 1 to use native classes. Note that you may still use 
 314 // wxFileConfig even if you set this to 1 - just the config object created by 
 315 // default for the applications needs will be a wxRegConfig or wxIniConfig and 
 318 // Recommended setting: 1 
 319 #define wxUSE_CONFIG_NATIVE   0 
 321 // If wxUSE_DIALUP_MANAGER is 1, compile in wxDialUpManager class which allows 
 322 // to connect/disconnect from the network and be notified whenever the dial-up 
 323 // network connection is established/terminated. Requires wxUSE_DYNLIB_CLASS. 
 327 // Recommended setting: 1 
 328 #define wxUSE_DIALUP_MANAGER   0 
 330 // Compile in wxLibrary class for run-time DLL loading and function calling. 
 331 // Required by wxUSE_DIALUP_MANAGER. 
 333 // This setting is for Win32 only 
 337 // Recommended setting: 1 
 338 #define wxUSE_DYNAMIC_LOADER  0 
 340 #define wxUSE_DYNLIB_CLASS  0 
 342 // Set to 1 to use socket classes 
 343 #define wxUSE_SOCKETS       0 
 345 // Set to 1 to enable virtual file systems (required by wxHTML) 
 346 #define wxUSE_FILESYSTEM    0 
 348 // Set to 1 to enable virtual ZIP filesystem (requires wxUSE_FILESYSTEM) 
 349 #define wxUSE_FS_ZIP        0 
 351 // Set to 1 to enable virtual Internet filesystem (requires wxUSE_FILESYSTEM) 
 352 #define wxUSE_FS_INET       0 
 354 // Set to 1 to compile wxZipInput/OutputStream classes. 
 355 #define wxUSE_ZIPSTREAM     0 
 357 // Set to 1 to compile wxZlibInput/OutputStream classes. Also required by 
 361 // If enabled, the code written by Apple will be used to write, in a portable 
 362 // way, float on the disk. See extended.c for the license which is different 
 363 // from wxWindows one. 
 367 // Recommended setting: 1 unless you don't like the license terms (unlikely) 
 368 #define wxUSE_APPLE_IEEE          1 
 370 // Joystick support class 
 371 #define wxUSE_JOYSTICK            1 
 373 // wxFontMapper class 
 374 #define wxUSE_FONTMAP 1 
 376 // wxMimeTypesManager class 
 377 #define wxUSE_MIMETYPE 0 
 379 // wxSystemOptions class 
 380 #define wxUSE_SYSTEM_OPTIONS 1 
 382 // Support for regular expression matching via wxRegEx class: enable this to 
 383 // use POSIX regular expressions in your code. You need to compile regex 
 384 // library from src/regex to use it under Windows. 
 388 // Recommended setting: 1 if your compiler supports it, if it doesn't please 
 389 // contribute us a makefile for src/regex for it 
 390 #define wxUSE_REGEX       0 
 395 // ---------------------------------------------------------------------------- 
 396 // Individual GUI controls 
 397 // ---------------------------------------------------------------------------- 
 399 // You must set wxUSE_CONTROLS to 1 if you are using any controls at all 
 400 // (without it, wxControl class is not compiled) 
 404 // Recommended setting: 1 (don't change except for very special programs) 
 405 #define wxUSE_CONTROLS     1 
 407 // wxPopupWindow class is not used currently by wxMSW 
 411 // Recommended setting: 0 
 412 #define wxUSE_POPUPWIN     1 
 414 // wxTipWindow allows to implement the custom tooltips, it is used by the 
 415 // context help classes. Requires wxUSE_POPUPWIN. 
 419 // Recommended setting: 1 (may be set to 0) 
 420 #define wxUSE_TIPWINDOW    1 
 422 // Each of the settings below corresponds to one wxWindows control. They are 
 423 // all switched on by default but may be disabled if you are sure that your 
 424 // program (including any standard dialogs it can show!) doesn't need them and 
 425 // if you desperately want to save some space. If you use any of these you must 
 426 // set wxUSE_CONTROLS as well. 
 430 // Recommended setting: 1 
 431 #define wxUSE_BUTTON       1    // wxButton 
 432 #define wxUSE_BMPBUTTON    1    // wxBitmapButton 
 433 #define wxUSE_CALENDARCTRL 0    // wxCalendarCtrl 
 434 #define wxUSE_CHECKBOX     1    // wxCheckBox 
 435 #define wxUSE_CHECKLISTBOX 1    // wxCheckListBox (requires wxUSE_OWNER_DRAWN) 
 436 #define wxUSE_CHOICE       1    // wxChoice 
 437 #define wxUSE_COMBOBOX     1    // wxComboBox 
 438 #define wxUSE_GAUGE        1    // wxGauge 
 439 #define wxUSE_LISTBOX      1    // wxListBox 
 440 #define wxUSE_LISTCTRL     0    // wxListCtrl 
 441 #define wxUSE_RADIOBOX     1    // wxRadioBox 
 442 #define wxUSE_RADIOBTN     1    // wxRadioButton 
 443 #define wxUSE_SCROLLBAR    1    // wxScrollBar 
 444 #define wxUSE_SLIDER       1    // wxSlider 
 445 #define wxUSE_SPINBTN      1    // wxSpinButton 
 446 #define wxUSE_SPINCTRL     1    // wxSpinCtrl 
 447 #define wxUSE_STATBOX      1    // wxStaticBox 
 448 #define wxUSE_STATLINE     1    // wxStaticLine 
 449 #define wxUSE_STATTEXT     1    // wxStaticText 
 450 #define wxUSE_STATBMP      1    // wxStaticBitmap 
 451 #define wxUSE_TEXTCTRL     1    // wxTextCtrl 
 452 #define wxUSE_TOGGLEBTN    0    // requires wxButton 
 453 #define wxUSE_TREECTRL     0    // wxTreeCtrl 
 455 // Use a status bar class? Depending on the value of wxUSE_NATIVE_STATUSBAR 
 456 // below either wxStatusBar95 or a generic wxStatusBar will be used. 
 460 // Recommended setting: 1 
 461 #define wxUSE_STATUSBAR    1 
 463 // Two status bar implementations are available under Win32: the generic one 
 464 // or the wrapper around native control. For native look and feel the native 
 465 // version should be used. 
 469 // Recommended setting: 1 (there is no advantage in using the generic one) 
 470 #define wxUSE_NATIVE_STATUSBAR        0 
 472 // wxToolBar related settings: if wxUSE_TOOLBAR is 0, don't compile any toolbar 
 473 // classes at all. Otherwise, use the native toolbar class unless 
 474 // wxUSE_TOOLBAR_NATIVE is 0. Additionally, the generic toolbar class which 
 475 // supports some features which might not be supported by the native wxToolBar 
 476 // class may be compiled in if wxUSE_TOOLBAR_SIMPLE is 1. 
 478 // Default is 1 for all settings. 
 480 // Recommended setting: 1 for wxUSE_TOOLBAR and wxUSE_TOOLBAR_NATIVE and 0 for 
 481 // wxUSE_TOOLBAR_SIMPLE (the default is 1 mainly for backwards compatibility). 
 482 #define wxUSE_TOOLBAR 0 
 483 #define wxUSE_TOOLBAR_NATIVE 0 
 484 #define wxUSE_TOOLBAR_SIMPLE 0 
 486 // this setting is obsolete, value is ignored 
 487 #define wxUSE_BUTTONBAR    0 
 489 // wxNotebook is a control with several "tabs" located on one of its sides. It 
 490 // may be used ot logically organise the data presented to the user instead of 
 491 // putting everything in one huge dialog. It replaces wxTabControl and related 
 492 // classes of wxWin 1.6x. 
 496 // Recommended setting: 1 
 497 #define wxUSE_NOTEBOOK 1 
 499 // wxTabDialog is a generic version of wxNotebook but it is incompatible with 
 500 // the new class. It shouldn't be used in new code. 
 504 // Recommended setting: 0 (use wxNotebook) 
 505 #define wxUSE_TAB_DIALOG    0 
 512 // wxProperty[Value/Form/List] classes, used by Dialog Editor 
 513 #define wxUSE_PROPSHEET    0 
 515 // ---------------------------------------------------------------------------- 
 516 // Miscellaneous GUI stuff 
 517 // ---------------------------------------------------------------------------- 
 519 // wxAcceleratorTable/Entry classes and support for them in wxMenu(Bar) 
 520 #define wxUSE_ACCEL 0 
 522 // Use wxCaret: a class implementing a "cursor" in a text control (called caret 
 527 // Recommended setting: 1 (can be safely set to 0, not used by the library) 
 528 #define wxUSE_CARET         1 
 530 // Miscellaneous geometry code: needed for Canvas library 
 531 #define wxUSE_GEOMETRY            1 
 533 // Use wxImageList. This class is needed by wxNotebook, wxTreeCtrl and 
 538 // Recommended setting: 1 (set it to 0 if you don't use any of the controls 
 539 // enumerated above, then this class is mostly useless too) 
 540 #define wxUSE_IMAGLIST      1 
 542 // Use wxMenu, wxMenuBar, wxMenuItem. 
 546 // Recommended setting: 1 (can't be disabled under MSW) 
 547 #define wxUSE_MENUS         1 
 549 // Use wxSashWindow class. 
 553 // Recommended setting: 1 
 556 // Use wxSplitterWindow class. 
 560 // Recommended setting: 1 
 561 #define wxUSE_SPLITTER      1 
 563 // Use wxToolTip and wxWindow::Set/GetToolTip() methods. 
 567 // Recommended setting: 1 
 568 #define wxUSE_TOOLTIPS      0 
 570 // wxValidator class and related methods 
 571 #define wxUSE_VALIDATORS 0 
 573 // wxDC cacheing implementation 
 574 #define wxUSE_DC_CACHEING 0 
 576 // ---------------------------------------------------------------------------- 
 578 // ---------------------------------------------------------------------------- 
 580 // Define 1 to use generic dialogs in Windows, even though they duplicate 
 581 // native common dialog (e.g. wxColourDialog). This is mainly useful for 
 586 // Recommended setting: 0 
 587 #define wxUSE_GENERIC_DIALOGS_IN_MSW 0 
 589 // On rare occasions (e.g. using DJGPP) may want to omit common dialogs (e.g. 
 590 // file selector, printer dialog). Switching this off also switches off the 
 591 // printing architecture and interactive wxPrinterDC. 
 595 // Recommended setting: 1 (unless it really doesn't work) 
 596 #define wxUSE_COMMON_DIALOGS 1 
 598 // wxBusyInfo displays window with message when app is busy. Works in same way 
 600 #define wxUSE_BUSYINFO      0 
 602 // Use single/multiple choice dialogs. 
 606 // Recommended setting: 1 (used in the library itself) 
 607 #define wxUSE_CHOICEDLG     1 
 609 // Use colour picker dialog 
 613 // Recommended setting: 1 
 614 #define wxUSE_COLOURDLG     0 
 616 // wxDirDlg class for getting a directory name from user 
 617 #define wxUSE_DIRDLG 0 
 619 // TODO: setting to choose the generic or native one 
 621 // Use file open/save dialogs. 
 625 // Recommended setting: 1 (used in many places in the library itself) 
 626 #define wxUSE_FILEDLG       0 
 628 // Use find/replace dialogs. 
 632 // Recommended setting: 1 (but may be safely set to 0) 
 633 #define wxUSE_FINDREPLDLG       0 
 635 // Use font picker dialog 
 639 // Recommended setting: 1 (used in the library itself) 
 640 #define wxUSE_FONTDLG       0 
 642 // Use wxMessageDialog and wxMessageBox. 
 646 // Recommended setting: 1 (used in the library itself) 
 647 #define wxUSE_MSGDLG        1 
 649 // progress dialog class for lengthy operations 
 650 #define wxUSE_PROGRESSDLG 0 
 652 // support for startup tips (wxShowTip &c) 
 653 #define wxUSE_STARTUP_TIPS 0 
 655 // text entry dialog and wxGetTextFromUser function 
 656 #define wxUSE_TEXTDLG 0 
 658 // number entry dialog 
 659 #define wxUSE_NUMBERDLG 0 
 661 // splash screen class 
 662 #define wxUSE_SPLASH 0 
 665 #define wxUSE_WIZARDDLG 0 
 667 // ---------------------------------------------------------------------------- 
 669 // ---------------------------------------------------------------------------- 
 671 // Windows supports the graphics format known as metafile which is, though not 
 672 // portable, is widely used under Windows and so is supported by wxWin (under 
 673 // Windows only, of course). Win16 (Win3.1) used the so-called "Window 
 674 // MetaFiles" or WMFs which were replaced with "Enhanced MetaFiles" or EMFs in 
 675 // Win32 (Win9x, NT, 2000). Both of these are supported in wxWin and, by 
 676 // default, WMFs will be used under Win16 and EMFs under Win32. This may be 
 677 // changed by setting wxUSE_WIN_METAFILES_ALWAYS to 1 and/or setting 
 678 // wxUSE_ENH_METAFILE to 0. You may also set wxUSE_METAFILE to 0 to not compile 
 679 // in any metafile related classes at all. 
 681 // Default is 1 for wxUSE_ENH_METAFILE and 0 for wxUSE_WIN_METAFILES_ALWAYS. 
 683 // Recommended setting: default or 0 for everything for portable programs. 
 684 #define wxUSE_METAFILE              0 
 685 #define wxUSE_ENH_METAFILE          0 
 686 #define wxUSE_WIN_METAFILES_ALWAYS  0 
 688 // ---------------------------------------------------------------------------- 
 689 // Big GUI components 
 690 // ---------------------------------------------------------------------------- 
 692 // Set to 0 to disable document/view architecture 
 693 #define wxUSE_DOC_VIEW_ARCHITECTURE 0 
 695 // Set to 0 to disable MDI document/view architecture 
 696 #define wxUSE_MDI_ARCHITECTURE    0 
 698 // Set to 0 to disable print/preview architecture code 
 699 #define wxUSE_PRINTING_ARCHITECTURE  0 
 701 // wxHTML sublibrary allows to display HTML in wxWindow programs and much, 
 706 // Recommended setting: 1 (wxHTML is great!), set to 0 if you want compile a 
 711 #define wxUSE_GLCANVAS       0 
 713 // wxTreeLayout class 
 714 #define wxUSE_TREELAYOUT     0 
 716 // ---------------------------------------------------------------------------- 
 718 // ---------------------------------------------------------------------------- 
 720 // Use wxClipboard class for clipboard copy/paste. 
 724 // Recommended setting: 1 
 725 #define wxUSE_CLIPBOARD     0 
 727 // Use wxDataObject and related classes. Needed for clipboard and OLE drag and 
 732 // Recommended setting: 1 
 733 #define wxUSE_DATAOBJ       0 
 735 // Use wxDropTarget and wxDropSource classes for drag and drop (this is 
 736 // different from "built in" drag and drop in wxTreeCtrl which is always 
 737 // available). Requires wxUSE_DATAOBJ. 
 741 // Recommended setting: 1 
 742 #define wxUSE_DRAG_AND_DROP 0 
 744 // ---------------------------------------------------------------------------- 
 745 // miscellaneous settings 
 746 // ---------------------------------------------------------------------------- 
 748 // wxSingleInstanceChecker class allows to verify at startup if another program 
 749 // instance is running (it is only available under Win32) 
 753 // Recommended setting: 1 (the class is tiny, disabling it won't save much 
 755 #define wxUSE_SNGLINST_CHECKER  0 
 757 #define wxUSE_DRAGIMAGE 0 
 760                                 // 0 for no interprocess comms 
 762                                 // 0 for no help facility 
 763 #define wxUSE_MS_HTML_HELP 0 
 764                                 // 0 for no MS HTML Help 
 766 // Use wxHTML-based help controller? 
 767 #define wxUSE_WXHTML_HELP 0 
 769 #define wxUSE_RESOURCES   0 
 770                                 // 0 for no wxGetResource/wxWriteResource 
 771 #define wxUSE_CONSTRAINTS 1 
 772                                 // 0 for no window layout constraint system 
 774 #define wxUSE_SPLINES     1 
 777 #define wxUSE_XPM_IN_MSW   1 
 778                                 // 0 for no XPM support in wxBitmap. 
 779                                 // Default is 1, as XPM is now fully 
 780                                 // supported this makes easier the issue 
 781                                 // of portable icons and bitmaps. 
 783 #define wxUSE_IMAGE_LOADING_IN_MSW        0 
 784                                 // Use dynamic DIB loading/saving code in utils/dib under MSW. 
 785 #define wxUSE_RESOURCE_LOADING_IN_MSW     0 
 786                                 // Use dynamic icon/cursor loading/saving code 
 788 #define wxUSE_WX_RESOURCES        0 
 789                                 // Use .wxr resource mechanism (requires PrologIO library) 
 791 #define wxUSE_MOUSEWHEEL        0 
 792                                 // Include mouse wheel support 
 794 // ---------------------------------------------------------------------------- 
 795 // postscript support settings 
 796 // ---------------------------------------------------------------------------- 
 798 // Set to 1 for PostScript device context. 
 799 #define wxUSE_POSTSCRIPT  0 
 801 // Set to 1 to use font metric files in GetTextExtent 
 802 #define wxUSE_AFM_FOR_POSTSCRIPT 0 
 804 // Set to 0 to disable PostScript print/preview architecture code under Windows 
 805 // (just use Windows printing). 
 806 #define wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW 0 
 808 // ---------------------------------------------------------------------------- 
 810 // ---------------------------------------------------------------------------- 
 812 // Define 1 to use ODBC classes 
 815 // For backward compatibility reasons, this parameter now only controls the 
 816 // default scrolling method used by cursors.  This default behavior can be 
 817 // overriden by setting the second param of wxDB::wxDbGetConnection() or 
 818 // wxDb() constructor to indicate whether the connection (and any wxDbTable()s 
 819 // that use the connection) should support forward only scrolling of cursors, 
 820 // or both forward and backward support for backward scrolling cursors is 
 821 // dependent on the data source as well as the ODBC driver being used. 
 822 #define wxODBC_FWD_ONLY_CURSORS  1 
 824 // Default is 0.  Set to 1 to use the deprecated classes, enum types, function, 
 825 // member variables.  With a setting of 1, full backward compatability with the 
 826 // 2.0.x release is possible. It is STRONGLY recommended that this be set to 0, 
 827 // as future development will be done only on the non-deprecated 
 828 // functions/classes/member variables/etc. 
 829 #define wxODBC_BACKWARD_COMPATABILITY 0 
 831 // ---------------------------------------------------------------------------- 
 832 // other compiler (mis)features 
 833 // ---------------------------------------------------------------------------- 
 835 // Set this to 0 if your compiler can't cope with omission of prototype 
 840 // Recommended setting: 1 (should never need to set this to 0) 
 841 #define REMOVE_UNUSED_ARG   1 
 843 // VC++ 4.2 and above allows <iostream> and <iostream.h> but you can't mix 
 844 // them. Set to 1 for <iostream.h>, 0 for <iostream> 
 848 // Recommended setting: whatever your compiler likes more 
 849 #define wxUSE_IOSTREAMH     1 
 851 // ---------------------------------------------------------------------------- 
 852 // image format support 
 853 // ---------------------------------------------------------------------------- 
 855 // wxImage supports many different image formats which can be configured at 
 856 // compile-time. BMP is always supported, others are optional and can be safely 
 857 // disabled if you don't plan to use images in such format sometimes saving 
 858 // substantial amount of code in the final library. 
 860 // Some formats require an extra library which is included in wxWin sources 
 861 // which is mentioned if it is the case. 
 863 // Set to 1 for wxImage support (recommended). 
 864 #define wxUSE_IMAGE         1 
 866 // Set to 1 for PNG format support (requires libpng). Also requires wxUSE_ZLIB. 
 867 #define wxUSE_LIBPNG        0 
 869 // Set to 1 for JPEG format support (requires libjpeg) 
 870 #define wxUSE_LIBJPEG       0 
 872 // Set to 1 for TIFF format support (requires libtiff) 
 873 #define wxUSE_LIBTIFF       0 
 875 // Set to 1 for GIF format support 
 878 // Set to 1 for PNM format support 
 881 // Set to 1 for PCX format support 
 884 // Set to 1 for IFF format support 
 887 // Set to 1 for XPM format support 
 890 // Set to 1 for MS Icons and Cursors format support 
 891 #define wxUSE_ICO_CUR       1 
 893 // Set to 1 to compile in wxPalette class 
 894 #define wxUSE_PALETTE       1 
 896 // ---------------------------------------------------------------------------- 
 897 // Windows-only settings 
 898 // ---------------------------------------------------------------------------- 
 900 // Set this to 1 if you want to use wxWindows and MFC in the same program. This 
 901 // will override some other settings (see below) 
 905 // Recommended setting: 0 unless you really have to use MFC 
 908 // Set this to 1 for generic OLE support: this is required for drag-and-drop, 
 909 // clipboard, OLE Automation. Only set it to 0 if your compiler is very old and 
 910 // can't compile/doesn't have the OLE headers. 
 914 // Recommended setting: 1 
 917 // Set this to 1 to use Microsoft CTL3D library for "3D-look" under Win16 or NT 
 918 // 3.x. This setting is ignored under Win9x and NT 4.0+. 
 920 // Default is 0 for (most) Win32 (systems), 1 for Win16 
 922 // Recommended setting: same as default 
 923 #if defined(__WIN95__) 
 924 #define wxUSE_CTL3D                      0 
 926 #define wxUSE_CTL3D                      1 
 929 // Define as 1 to use Microsoft's ItsyBitsy small title bar library, for 
 930 // wxMiniFrame. This setting is only used for Win3.1; Win9x and NT use native 
 931 // miniframes support instead. 
 933 // Default is 0 for (most) Win32 (systems), 1 for Win16 
 935 // Recommended setting: same as default 
 936 #if defined(__WIN95__) 
 937 #define wxUSE_ITSY_BITSY             0 
 939 #define wxUSE_ITSY_BITSY             1 
 942 // Set this to 1 to use RICHEDIT controls for wxTextCtrl with style wxTE_RICH 
 943 // which allows to put more than ~32Kb of text in it even under Win9x (NT 
 944 // doesn't have such limitation). 
 946 // Default is 1 for compilers which support it 
 948 // Recommended setting: 1, only set it to 0 if your compiler doesn't have 
 949 //                      or can't compile <richedit.h> 
 950 #if defined(__WIN95__) && !defined(__WINE__) && !defined(__GNUWIN32_OLD__) 
 951 #define wxUSE_RICHEDIT  1 
 953 // TODO:  This should be ifdef'ed for any compilers that don't support 
 954 //        RichEdit 2.0 but do have RichEdit 1.0... 
 955 #define wxUSE_RICHEDIT2 1 
 958 #define wxUSE_RICHEDIT  0 
 959 #define wxUSE_RICHEDIT2 0 
 962 // Set this to 1 to enable support for the owner-drawn menu and listboxes. This 
 963 // is required by wxUSE_CHECKLISTBOX. 
 967 // Recommended setting: 1, set to 0 for a small library size reduction 
 968 #define wxUSE_OWNER_DRAWN 0 
 970 // ---------------------------------------------------------------------------- 
 972 // ---------------------------------------------------------------------------- 
 974 // NB: all settings in this section are obsolete and should not be used/changed 
 975 //     at all, they will disappear 
 977 // Set to 1 to use PenWindows 
 978 #define wxUSE_PENWINDOWS             0 
 980 // Define 1 to use bitmap messages. 
 981 #define wxUSE_BITMAP_MESSAGE         1 
 983 // If 1, enables provision of run-time type information. 
 984 // NOW MANDATORY: don't change. 
 985 #define wxUSE_DYNAMIC_CLASSES     1 
 987 // ---------------------------------------------------------------------------- 
 988 // disable the settings which don't work for some compilers 
 989 // ---------------------------------------------------------------------------- 
 991 #ifndef wxUSE_NORLANDER_HEADERS 
 992 #if (defined(__MINGW32__) || defined(__CYGWIN__)) && ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95))) 
 993 #   define wxUSE_NORLANDER_HEADERS 1 
 995 #   define wxUSE_NORLANDER_HEADERS 0 
 999 #if defined(__GNUWIN32__) 
1000 // These don't work as expected for mingw32 and cygwin32 
1001 #undef  wxUSE_MEMORY_TRACING 
1002 #define wxUSE_MEMORY_TRACING            0 
1004 #undef  wxUSE_GLOBAL_MEMORY_OPERATORS 
1005 #define wxUSE_GLOBAL_MEMORY_OPERATORS   0 
1007 #undef  wxUSE_DEBUG_NEW_ALWAYS 
1008 #define wxUSE_DEBUG_NEW_ALWAYS          0 
1010 // Cygwin betas don't have wcslen 
1011 #if defined(__CYGWIN__) || defined(__CYGWIN32__) 
1012 #  if ! ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95))) 
1013 #    undef wxUSE_WCHAR_T 
1014 #    define wxUSE_WCHAR_T 0 
1018 #endif // __GNUWIN32__ 
1020 // MFC duplicates these operators 
1022 #undef  wxUSE_GLOBAL_MEMORY_OPERATORS 
1023 #define wxUSE_GLOBAL_MEMORY_OPERATORS   0 
1025 #undef  wxUSE_DEBUG_NEW_ALWAYS 
1026 #define wxUSE_DEBUG_NEW_ALWAYS          0 
1029 #if (!defined(WIN32) && !defined(__WIN32__)) || (defined(__GNUWIN32__) && !wxUSE_NORLANDER_HEADERS) 
1030 // Can't use OLE drag and drop in Windows 3.1 because we don't know how 
1031 // to implement UUIDs 
1032 // GnuWin32 doesn't have appropriate headers for e.g. IUnknown. 
1033 #undef wxUSE_DRAG_AND_DROP 
1034 #define wxUSE_DRAG_AND_DROP 0 
1037 // Only WIN32 supports wxStatusBar95 
1038 #if !defined(__WIN32__) && wxUSE_NATIVE_STATUSBAR 
1039 #undef  wxUSE_NATIVE_STATUSBAR 
1040 #define wxUSE_NATIVE_STATUSBAR 0 
1043 #if !wxUSE_OWNER_DRAWN 
1044 #undef wxUSE_CHECKLISTBOX 
1045 #define wxUSE_CHECKLISTBOX 0 
1048 // Salford C++ doesn't like some of the memory operator definitions 
1050 #undef  wxUSE_MEMORY_TRACING 
1051 #define wxUSE_MEMORY_TRACING      0 
1053 #undef wxUSE_GLOBAL_MEMORY_OPERATORS 
1054 #define wxUSE_GLOBAL_MEMORY_OPERATORS 0 
1056 #undef wxUSE_DEBUG_NEW_ALWAYS 
1057 #define wxUSE_DEBUG_NEW_ALWAYS 0 
1059 #undef wxUSE_THREADS 
1060 #define wxUSE_THREADS 0 
1062 #undef wxUSE_OWNER_DRAWN 
1063 #define wxUSE_OWNER_DRAWN 0 
1064 #endif // __SALFORDC__ 
1066 // BC++/Win16 can't cope with the amount of data in resource.cpp 
1067 #if defined(__WIN16__) && defined(__BORLANDC__) 
1068 #undef wxUSE_WX_RESOURCES 
1069 #define wxUSE_WX_RESOURCES        0 
1072 #define wxUSE_ODBC                0 
1074 #undef wxUSE_NEW_GRID 
1075 #define wxUSE_NEW_GRID            0 
1078 #if defined(__BORLANDC__) && (__BORLANDC__ < 0x500) 
1079 // BC++ 4.0 can't compile JPEG library 
1080 #undef wxUSE_LIBJPEG 
1081 #define wxUSE_LIBJPEG 0 
1084 // wxUSE_DEBUG_NEW_ALWAYS = 1 not compatible with BC++ in DLL mode 
1085 #if defined(__BORLANDC__) && (defined(WXMAKINGDLL) || defined(WXUSINGDLL)) 
1086 #undef wxUSE_DEBUG_NEW_ALWAYS 
1087 #define wxUSE_DEBUG_NEW_ALWAYS 0 
1090 #if defined(__WXMSW__) && defined(__WATCOMC__) 
1092 #undef  wxUSE_GLCANVAS 
1093 #define wxUSE_GLCANVAS 0 
1096 #undef wxUSE_WCHAR_T 
1097 #define wxUSE_WCHAR_T 0 
1100 #if defined(__WXMSW__) && !defined(__WIN32__) 
1102 #undef wxUSE_SOCKETS 
1103 #define wxUSE_SOCKETS 0 
1105 #undef wxUSE_THREADS 
1106 #define wxUSE_THREADS 0 
1108 #undef wxUSE_TOOLTIPS 
1109 #define wxUSE_TOOLTIPS 0 
1111 #undef wxUSE_SPINCTRL 
1112 #define wxUSE_SPINCTRL 0 
1114 #undef wxUSE_SPINBTN 
1115 #define wxUSE_SPINBTN 0 
1118 #define wxUSE_LIBPNG 0 
1120 #undef wxUSE_LIBJPEG 
1121 #define wxUSE_LIBJPEG 0 
1123 #undef wxUSE_LIBTIFF 
1124 #define wxUSE_LIBTIFF 0 
1135 #undef wxUSE_GLCANVAS 
1136 #define wxUSE_GLCANVAS 0 
1138 #undef wxUSE_MS_HTML_HELP 
1139 #define wxUSE_MS_HTML_HELP 0 
1141 #undef wxUSE_WCHAR_T 
1142 #define wxUSE_WCHAR_T 0 
1146 // ---------------------------------------------------------------------------- 
1147 // undef the things which don't make sense for wxBase build 
1148 // ---------------------------------------------------------------------------- 
1153 #define wxUSE_HTML 0 
1155 #endif // !wxUSE_GUI 
1157 // ---------------------------------------------------------------------------- 
1158 // check the settings consistency: do it here to abort compilation immediately 
1159 // and not almost in the very end when the relevant file fails to compile and 
1160 // you need to modify setup.h and rebuild everything 
1161 // ---------------------------------------------------------------------------- 
1163 #if wxUSE_DATETIME && !wxUSE_LONGLONG 
1164     #error wxDateTime requires wxLongLong 
1167 #if wxUSE_TEXTFILE && !wxUSE_FILE 
1168     #error You cannot compile wxTextFile without wxFile 
1171 #if wxUSE_FILESYSTEM && !wxUSE_STREAMS 
1172     #error You cannot compile virtual file systems without wxUSE_STREAMS 
1175 #if wxUSE_HTML && !wxUSE_FILESYSTEM 
1176     #error You cannot compile wxHTML without virtual file systems 
1179 // add more tests here...