1///////////////////////////////////////////////////////////////////////////// 2// Name: wx/msw/setup.h 3// Purpose: Configuration for the library 4// Author: Julian Smart 5// Modified by: 6// Created: 01/02/97 7// RCS-ID: $Id: setup_microwin.h 40766 2006-08-23 09:54:29Z VS $ 8// Copyright: (c) Julian Smart 9// Licence: wxWindows licence 10///////////////////////////////////////////////////////////////////////////// 11 12#ifndef _WX_SETUP_H_ 13#define _WX_SETUP_H_ 14 15// ---------------------------------------------------------------------------- 16// global settings 17// ---------------------------------------------------------------------------- 18 19//#define WXWIN_OS_DESCRIPTION wxT("MicroWindows") 20 21// define this to 0 when building wxBase library - this can also be done from 22// makefile/project file overriding the value here 23#ifndef wxUSE_GUI 24 #define wxUSE_GUI 1 25#endif // wxUSE_GUI 26 27// ---------------------------------------------------------------------------- 28// compatibility settings 29// ---------------------------------------------------------------------------- 30 31// This setting determines the compatibility with 2.4 API: set it to 1 to 32// enable it but please consider updating your code instead. 33// 34// Default is 0 35// 36// Recommended setting: 0 (please update your code) 37#define WXWIN_COMPATIBILITY_2_4 0 38 39// This setting determines the compatibility with 2.6 API: set it to 0 to 40// flag all cases of using deprecated functions. 41// 42// Default is 1 but please try building your code with 0 as the default will 43// change to 0 in the next version and the deprecated functions will disappear 44// in the version after it completely. 45// 46// Recommended setting: 0 (please update your code) 47#define WXWIN_COMPATIBILITY_2_6 1 48 49// Set to 0 for accurate dialog units, else 1 to be as per 2.1.16 and before. 50// If migrating between versions, your dialogs may seem to shrink. 51// 52// Default is 1 53// 54// Recommended setting: 0 (the new calculations are more correct!) 55#define wxDIALOG_UNIT_COMPATIBILITY 1 56 57// ---------------------------------------------------------------------------- 58// debugging settings 59// ---------------------------------------------------------------------------- 60 61// Generic comment about debugging settings: they are very useful if you don't 62// use any other memory leak detection tools such as Purify/BoundsChecker, but 63// are probably redundant otherwise. Also, Visual C++ CRT has the same features 64// as wxWidgets memory debugging subsystem built in since version 5.0 and you 65// may prefer to use it instead of built in memory debugging code because it is 66// faster and more fool proof. 67// 68// Using VC++ CRT memory debugging is enabled by default in debug mode 69// (__WXDEBUG__) if wxUSE_GLOBAL_MEMORY_OPERATORS is *not* enabled (i.e. is 0) 70// and if __NO_VC_CRTDBG__ is not defined. 71 72// If 1, enables wxDebugContext, for writing error messages to file, etc. If 73// __WXDEBUG__ is not defined, will still use normal memory operators. It's 74// recommended to set this to 1, since you may well need to output an error log 75// in a production version (or non-debugging beta). 76// 77// Default is 1. 78// 79// Recommended setting: 1 but see comment above 80#define wxUSE_DEBUG_CONTEXT 1 81 82// If 1, enables debugging versions of wxObject::new and wxObject::delete *IF* 83// __WXDEBUG__ is also defined. 84// 85// WARNING: this code may not work with all architectures, especially if 86// alignment is an issue. This switch is currently ignored for mingw / cygwin 87// 88// Default is 1 89// 90// Recommended setting: 1 but see comment in the beginning of this section 91#define wxUSE_MEMORY_TRACING 0 92 93// In debug mode, cause new and delete to be redefined globally. 94// If this causes problems (e.g. link errors), set this to 0. 95// This switch is currently ignored for mingw / cygwin 96// 97// Default is 1 98// 99// Recommended setting: 1 but see comment in the beginning of this section 100#define wxUSE_GLOBAL_MEMORY_OPERATORS 0 101 102// In debug mode, causes new to be defined to be WXDEBUG_NEW (see object.h). If 103// this causes problems (e.g. link errors), set this to 0. You may need to set 104// this to 0 if using templates (at least for VC++). This switch is currently 105// ignored for mingw / cygwin 106// 107// Default is 1 108// 109// Recommended setting: 1 but see comment in the beginning of this section 110#define wxUSE_DEBUG_NEW_ALWAYS 0 111 112// wxHandleFatalExceptions() may be used to catch the program faults at run 113// time and, instead of terminating the program with a usual GPF message box, 114// call the user-defined wxApp::OnFatalException() function. If you set 115// wxUSE_ON_FATAL_EXCEPTION to 0, wxHandleFatalExceptions() will not work. 116// 117// This setting is for Win32 only and can only be enabled if your compiler 118// supports Win32 structured exception handling (currently only VC++ does) 119// 120// Default is 1 121// 122// Recommended setting: 1 if your compiler supports it. 123#ifdef _MSC_VER 124 #define wxUSE_ON_FATAL_EXCEPTION 1 125#else 126 #define wxUSE_ON_FATAL_EXCEPTION 0 127#endif 128 129// ---------------------------------------------------------------------------- 130// Unicode support 131// ---------------------------------------------------------------------------- 132 133// Set wxUSE_UNICODE to 1 to compile wxWidgets in Unicode mode: wxChar will be 134// defined as wchar_t, wxString will use Unicode internally. If you set this 135// to 1, you must use wxT() macro for all literal strings in the program. 136// 137// Unicode is currently only fully supported under Windows NT/2000 (Windows 9x 138// doesn't support it and the programs compiled in Unicode mode will not run 139// under 9x). 140// 141// Default is 0 142// 143// Recommended setting: 0 (unless you only plan to use Windows NT/2000) 144#define wxUSE_UNICODE 0 145 146// Set wxUSE_UNICODE_MSLU to 1 if you want to compile wxWidgets in Unicode mode 147// and be able to run compiled apps under Windows 9x as well as NT/2000/XP. This 148// setting enables use of unicows.dll from MSLU (MS Layer for Unicode, see 149// http://www.microsoft.com/globaldev/Articles/mslu_announce.asp). Note that you 150// will have to modify the makefiles to include unicows.lib import library as the first 151// library. 152// 153// Default is 0 154// 155// Recommended setting: 0 156#define wxUSE_UNICODE_MSLU 0 157 158// Setting wxUSE_WCHAR_T to 1 gives you some degree of Unicode support without 159// compiling the program in Unicode mode. More precisely, it will be possible 160// to construct wxString from a wide (Unicode) string and convert any wxString 161// to Unicode. 162// 163// Default is 1 164// 165// Recommended setting: 1 166#define wxUSE_WCHAR_T 0 167 168// ---------------------------------------------------------------------------- 169// global features 170// ---------------------------------------------------------------------------- 171 172// Support for message/error logging. This includes wxLogXXX() functions and 173// wxLog and derived classes. Don't set this to 0 unless you really know what 174// you are doing. 175// 176// Default is 1 177// 178// Recommended setting: 1 (always) 179#define wxUSE_LOG 1 180 181// Support for command line parsing using wxCmdLineParser class. 182// 183// Default is 1 184// 185// Recommended setting: 1 (can be set to 0 if you don't use the cmd line) 186#define wxUSE_CMDLINE_PARSER 1 187 188// Recommended setting: 1 189#define wxUSE_LOGWINDOW 1 190 191// Recommended setting: 1 192#define wxUSE_LOGGUI 1 193 194// Recommended setting: 1 195#define wxUSE_LOG_DIALOG 0 196 197// Support for multithreaded applications: if 1, compile in thread classes 198// (thread.h) and make the library a bit more thread safe. Although thread 199// support is quite stable by now, you may still consider recompiling the 200// library without it if you have no use for it - this will result in a 201// somewhat smaller and faster operation. 202// 203// This is ignored under Win16, threads are only supported under Win32. 204// 205// Default is 1 206// 207// Recommended setting: 0 unless you do plan to develop MT applications 208#define wxUSE_THREADS 0 209 210// If enabled (1), compiles wxWidgets streams classes 211#define wxUSE_STREAMS 1 212 213// Use standard C++ streams if 1. If 0, use wxWin streams implementation. 214#define wxUSE_STD_IOSTREAM 0 215 216// Use serialization (requires utils/serialize) 217#define wxUSE_SERIAL 0 218 219// ---------------------------------------------------------------------------- 220// non GUI features selection 221// ---------------------------------------------------------------------------- 222 223// Set wxUSE_LONGLONG to 1 to compile the wxLongLong class. This is a 64 bit 224// integer which is implemented in terms of native 64 bit integers if any or 225// uses emulation otherwise. 226// 227// This class is required by wxDateTime and so you should enable it if you want 228// to use wxDateTime. For most modern platforms, it will use the native 64 bit 229// integers in which case (almost) all of its functions are inline and it 230// almost does not take any space, so there should be no reason to switch it 231// off. 232// 233// Recommended setting: 1 234#define wxUSE_LONGLONG 1 235 236// Set wxUSE_(F)FILE to 1 to compile wx(F)File classes. wxFile uses low level 237// POSIX functions for file access, wxFFile uses ANSI C stdio.h functions. 238// 239// Default is 1 240// 241// Recommended setting: 1 (wxFile is highly recommended as it is required by 242// i18n code, wxFileConfig and others) 243#define wxUSE_FILE 1 244#define wxUSE_FFILE 1 245 246// use wxTextBuffer class: required by wxTextFile 247#define wxUSE_TEXTBUFFER 1 248 249// use wxTextFile class: requires wxFile and wxTextBuffer, required by 250// wxFileConfig 251#define wxUSE_TEXTFILE 1 252 253// i18n support: _() macro, wxLocale class. Requires wxTextFile. 254#define wxUSE_INTL 1 255 256// Set wxUSE_DATETIME to 1 to compile the wxDateTime and related classes which 257// allow to manipulate dates, times and time intervals. wxDateTime replaces the 258// old wxTime and wxDate classes which are still provided for backwards 259// compatibility (and implemented in terms of wxDateTime). 260// 261// Note that this class is relatively new and is still officially in alpha 262// stage because some features are not yet (fully) implemented. It is already 263// quite useful though and should only be disabled if you are aiming at 264// absolutely minimal version of the library. 265// 266// Requires: wxUSE_LONGLONG 267// 268// Default is 1 269// 270// Recommended setting: 1 271#define wxUSE_DATETIME 1 272 273// Set wxUSE_TIMER to 1 to compile wxTimer class 274// 275// Default is 1 276// 277// Recommended setting: 1 278#define wxUSE_TIMER 1 279 280// Use wxStopWatch clas. 281// 282// Default is 1 283// 284// Recommended setting: 1 (needed by wxSocket) 285#define wxUSE_STOPWATCH 1 286 287// Setting wxUSE_CONFIG to 1 enables the use of wxConfig and related classes 288// which allow the application to store its settings in the persistent 289// storage. Setting this to 1 will also enable on-demand creation of the 290// global config object in wxApp. 291// 292// See also wxUSE_CONFIG_NATIVE below. 293// 294// Recommended setting: 1 295#define wxUSE_CONFIG 1 296 297// If wxUSE_CONFIG is 1, you may choose to use either the native config 298// classes under Windows (using .INI files under Win16 and the registry under 299// Win32) or the portable text file format used by the config classes under 300// Unix. 301// 302// Default is 1 to use native classes. Note that you may still use 303// wxFileConfig even if you set this to 1 - just the config object created by 304// default for the applications needs will be a wxRegConfig or wxIniConfig and 305// not wxFileConfig. 306// 307// Recommended setting: 1 308#define wxUSE_CONFIG_NATIVE 0 309 310// If wxUSE_DIALUP_MANAGER is 1, compile in wxDialUpManager class which allows 311// to connect/disconnect from the network and be notified whenever the dial-up 312// network connection is established/terminated. Requires wxUSE_DYNLIB_CLASS. 313// 314// Default is 1. 315// 316// Recommended setting: 1 317#define wxUSE_DIALUP_MANAGER 0 318 319// Compile in wxLibrary class for run-time DLL loading and function calling. 320// Required by wxUSE_DIALUP_MANAGER. 321// 322// This setting is for Win32 only 323// 324// Default is 1. 325// 326// Recommended setting: 1 327#define wxUSE_DYNAMIC_LOADER 0 328 329#define wxUSE_DYNLIB_CLASS 0 330 331// Set to 1 to use socket classes 332#define wxUSE_SOCKETS 0 333 334// Set to 1 to enable virtual file systems (required by wxHTML) 335#define wxUSE_FILESYSTEM 0 336 337// Set to 1 to enable virtual ZIP filesystem (requires wxUSE_FILESYSTEM) 338#define wxUSE_FS_ZIP 0 339 340// Set to 1 to enable virtual Internet filesystem (requires wxUSE_FILESYSTEM) 341#define wxUSE_FS_INET 0 342 343// Set to 1 to compile wxZipInput/OutputStream classes. 344#define wxUSE_ZIPSTREAM 0 345 346// Set to 1 to compile wxZlibInput/OutputStream classes. Also required by 347// wxUSE_LIBPNG. 348#define wxUSE_ZLIB 0 349 350// If enabled, the code written by Apple will be used to write, in a portable 351// way, float on the disk. See extended.c for the license which is different 352// from wxWidgets one. 353// 354// Default is 1. 355// 356// Recommended setting: 1 unless you don't like the license terms (unlikely) 357#define wxUSE_APPLE_IEEE 1 358 359// Joystick support class 360#define wxUSE_JOYSTICK 1 361 362// wxFontMapper class 363#define wxUSE_FONTMAP 1 364 365// wxMimeTypesManager class 366#define wxUSE_MIMETYPE 0 367 368// wxSystemOptions class 369#define wxUSE_SYSTEM_OPTIONS 1 370 371// Support for regular expression matching via wxRegEx class: enable this to 372// use POSIX regular expressions in your code. You need to compile regex 373// library from src/regex to use it under Windows. 374// 375// Default is 0 376// 377// Recommended setting: 1 if your compiler supports it, if it doesn't please 378// contribute us a makefile for src/regex for it 379#define wxUSE_REGEX 0 380 381// wxSound class 382#define wxUSE_SOUND 0 383 384// Use wxMediaCtrl 385// 386// Default is 1. 387// 388// Recommended setting: 1 389#define wxUSE_MEDIACTRL 1 390 391// Use QuickTime 392// 393// Default is 0 394// 395// Recommended setting: 1 if you have the QT SDK installed and you need it, else 0 396#define wxUSE_QUICKTIME 0 397 398// Use DirectShow 399// 400// Default is 0 401// 402// Recommended setting: 1 if the DirectX 7 SDK is installed (highly recommended), else 0 403#define wxUSE_DIRECTSHOW 1 404 405// Use wxWidget's XRC XML-based resource system. Recommended. 406// 407// Default is 1 408// 409// Recommended setting: 1 (requires wxUSE_XML) 410#define wxUSE_XRC 1 411 412// XML parsing classes. Note that their API will change in the future, so 413// using wxXmlDocument and wxXmlNode in your app is not recommended. 414// 415// Default is 1 416// 417// Recommended setting: 1 (required by XRC) 418#if wxUSE_XRC 419# define wxUSE_XML 1 420#else 421# define wxUSE_XML 0 422#endif 423 424// ---------------------------------------------------------------------------- 425// Individual GUI controls 426// ---------------------------------------------------------------------------- 427 428// You must set wxUSE_CONTROLS to 1 if you are using any controls at all 429// (without it, wxControl class is not compiled) 430// 431// Default is 1 432// 433// Recommended setting: 1 (don't change except for very special programs) 434#define wxUSE_CONTROLS 1 435 436// wxPopupWindow class is not used currently by wxMSW 437// 438// Default is 0 439// 440// Recommended setting: 0 441#define wxUSE_POPUPWIN 1 442 443// wxTipWindow allows to implement the custom tooltips, it is used by the 444// context help classes. Requires wxUSE_POPUPWIN. 445// 446// Default is 1 447// 448// Recommended setting: 1 (may be set to 0) 449#define wxUSE_TIPWINDOW 1 450 451// Each of the settings below corresponds to one wxWidgets control. They are 452// all switched on by default but may be disabled if you are sure that your 453// program (including any standard dialogs it can show!) doesn't need them and 454// if you desperately want to save some space. If you use any of these you must 455// set wxUSE_CONTROLS as well. 456// 457// Default is 1 458// 459// Recommended setting: 1 460#define wxUSE_BUTTON 1 // wxButton 461#define wxUSE_BMPBUTTON 1 // wxBitmapButton 462#define wxUSE_CALENDARCTRL 0 // wxCalendarCtrl 463#define wxUSE_CHECKBOX 1 // wxCheckBox 464#define wxUSE_CHECKLISTBOX 1 // wxCheckListBox (requires wxUSE_OWNER_DRAWN) 465#define wxUSE_CHOICE 1 // wxChoice 466#define wxUSE_COMBOBOX 1 // wxComboBox 467#define wxUSE_GAUGE 1 // wxGauge 468#define wxUSE_LISTBOX 1 // wxListBox 469#define wxUSE_LISTCTRL 0 // wxListCtrl 470#define wxUSE_RADIOBOX 1 // wxRadioBox 471#define wxUSE_RADIOBTN 1 // wxRadioButton 472#define wxUSE_SCROLLBAR 1 // wxScrollBar 473#define wxUSE_SLIDER 1 // wxSlider 474#define wxUSE_SPINBTN 1 // wxSpinButton 475#define wxUSE_SPINCTRL 1 // wxSpinCtrl 476#define wxUSE_STATBOX 1 // wxStaticBox 477#define wxUSE_STATLINE 1 // wxStaticLine 478#define wxUSE_STATTEXT 1 // wxStaticText 479#define wxUSE_STATBMP 1 // wxStaticBitmap 480#define wxUSE_TEXTCTRL 1 // wxTextCtrl 481#define wxUSE_TOGGLEBTN 0 // requires wxButton 482#define wxUSE_TREECTRL 0 // wxTreeCtrl 483 484// Use a status bar class? Depending on the value of wxUSE_NATIVE_STATUSBAR 485// below either wxStatusBar95 or a generic wxStatusBar will be used. 486// 487// Default is 1 488// 489// Recommended setting: 1 490#define wxUSE_STATUSBAR 1 491 492// Two status bar implementations are available under Win32: the generic one 493// or the wrapper around native control. For native look and feel the native 494// version should be used. 495// 496// Default is 1. 497// 498// Recommended setting: 1 (there is no advantage in using the generic one) 499#define wxUSE_NATIVE_STATUSBAR 0 500 501// wxToolBar related settings: if wxUSE_TOOLBAR is 0, don't compile any toolbar 502// classes at all. Otherwise, use the native toolbar class unless 503// wxUSE_TOOLBAR_NATIVE is 0. 504// 505// Default is 1 for all settings. 506// 507// Recommended setting: 1 for wxUSE_TOOLBAR and wxUSE_TOOLBAR_NATIVE. 508#define wxUSE_TOOLBAR 0 509#define wxUSE_TOOLBAR_NATIVE 0 510 511// wxNotebook is a control with several "tabs" located on one of its sides. It 512// may be used ot logically organise the data presented to the user instead of 513// putting everything in one huge dialog. It replaces wxTabControl and related 514// classes of wxWin 1.6x. 515// 516// Default is 1. 517// 518// Recommended setting: 1 519#define wxUSE_NOTEBOOK 1 520 521// wxTabDialog is a generic version of wxNotebook but it is incompatible with 522// the new class. It shouldn't be used in new code. 523// 524// Default is 0. 525// 526// Recommended setting: 0 (use wxNotebook) 527#define wxUSE_TAB_DIALOG 0 528 529// wxGrid class 530// Default is 1 531// 532#define wxUSE_GRID 0 533 534// wxProperty[Value/Form/List] classes, used by Dialog Editor 535#define wxUSE_PROPSHEET 0 536 537// ---------------------------------------------------------------------------- 538// Miscellaneous GUI stuff 539// ---------------------------------------------------------------------------- 540 541// wxAcceleratorTable/Entry classes and support for them in wxMenu(Bar) 542#define wxUSE_ACCEL 0 543 544// Use wxCaret: a class implementing a "cursor" in a text control (called caret 545// under Windows). 546// 547// Default is 1. 548// 549// Recommended setting: 1 (can be safely set to 0, not used by the library) 550#define wxUSE_CARET 1 551 552// Miscellaneous geometry code: needed for Canvas library 553#define wxUSE_GEOMETRY 1 554 555// Use wxImageList. This class is needed by wxNotebook, wxTreeCtrl and 556// wxListCtrl. 557// 558// Default is 1. 559// 560// Recommended setting: 1 (set it to 0 if you don't use any of the controls 561// enumerated above, then this class is mostly useless too) 562#define wxUSE_IMAGLIST 1 563 564// Use wxMenu, wxMenuBar, wxMenuItem. 565// 566// Default is 1. 567// 568// Recommended setting: 1 (can't be disabled under MSW) 569#define wxUSE_MENUS 1 570 571// Use wxSashWindow class. 572// 573// Default is 1. 574// 575// Recommended setting: 1 576#define wxUSE_SASH 1 577 578// Use wxSplitterWindow class. 579// 580// Default is 1. 581// 582// Recommended setting: 1 583#define wxUSE_SPLITTER 1 584 585// Use wxToolTip and wxWindow::Set/GetToolTip() methods. 586// 587// Default is 1. 588// 589// Recommended setting: 1 590#define wxUSE_TOOLTIPS 0 591 592// wxValidator class and related methods 593#define wxUSE_VALIDATORS 0 594 595// wxDC cacheing implementation 596#define wxUSE_DC_CACHEING 0 597 598// ---------------------------------------------------------------------------- 599// common dialogs 600// ---------------------------------------------------------------------------- 601 602// On rare occasions (e.g. using DJGPP) may want to omit common dialogs (e.g. 603// file selector, printer dialog). Switching this off also switches off the 604// printing architecture and interactive wxPrinterDC. 605// 606// Default is 1 607// 608// Recommended setting: 1 (unless it really doesn't work) 609#define wxUSE_COMMON_DIALOGS 1 610 611// wxBusyInfo displays window with message when app is busy. Works in same way 612// as wxBusyCursor 613#define wxUSE_BUSYINFO 0 614 615// Use single/multiple choice dialogs. 616// 617// Default is 1 618// 619// Recommended setting: 1 (used in the library itself) 620#define wxUSE_CHOICEDLG 1 621 622// Use colour picker dialog 623// 624// Default is 1 625// 626// Recommended setting: 1 627#define wxUSE_COLOURDLG 0 628 629// wxDirDlg class for getting a directory name from user 630#define wxUSE_DIRDLG 0 631 632// TODO: setting to choose the generic or native one 633 634// Use file open/save dialogs. 635// 636// Default is 1 637// 638// Recommended setting: 1 (used in many places in the library itself) 639#define wxUSE_FILEDLG 0 640 641// Use find/replace dialogs. 642// 643// Default is 1 644// 645// Recommended setting: 1 (but may be safely set to 0) 646#define wxUSE_FINDREPLDLG 0 647 648// Use font picker dialog 649// 650// Default is 1 651// 652// Recommended setting: 1 (used in the library itself) 653#define wxUSE_FONTDLG 0 654 655// Use wxMessageDialog and wxMessageBox. 656// 657// Default is 1 658// 659// Recommended setting: 1 (used in the library itself) 660#define wxUSE_MSGDLG 1 661 662// progress dialog class for lengthy operations 663#define wxUSE_PROGRESSDLG 0 664 665// support for startup tips (wxShowTip &c) 666#define wxUSE_STARTUP_TIPS 0 667 668// text entry dialog and wxGetTextFromUser function 669#define wxUSE_TEXTDLG 0 670 671// number entry dialog 672#define wxUSE_NUMBERDLG 0 673 674// splash screen class 675#define wxUSE_SPLASH 0 676 677// wizards 678#define wxUSE_WIZARDDLG 0 679 680// ---------------------------------------------------------------------------- 681// Metafiles support 682// ---------------------------------------------------------------------------- 683 684// Windows supports the graphics format known as metafile which is, though not 685// portable, is widely used under Windows and so is supported by wxWin (under 686// Windows only, of course). Win16 (Win3.1) used the so-called "Window 687// MetaFiles" or WMFs which were replaced with "Enhanced MetaFiles" or EMFs in 688// Win32 (Win9x, NT, 2000). Both of these are supported in wxWin and, by 689// default, WMFs will be used under Win16 and EMFs under Win32. This may be 690// changed by setting wxUSE_WIN_METAFILES_ALWAYS to 1 and/or setting 691// wxUSE_ENH_METAFILE to 0. You may also set wxUSE_METAFILE to 0 to not compile 692// in any metafile related classes at all. 693// 694// Default is 1 for wxUSE_ENH_METAFILE and 0 for wxUSE_WIN_METAFILES_ALWAYS. 695// 696// Recommended setting: default or 0 for everything for portable programs. 697#define wxUSE_METAFILE 0 698#define wxUSE_ENH_METAFILE 0 699#define wxUSE_WIN_METAFILES_ALWAYS 0 700 701// ---------------------------------------------------------------------------- 702// Big GUI components 703// ---------------------------------------------------------------------------- 704 705// Set to 0 to disable document/view architecture 706#define wxUSE_DOC_VIEW_ARCHITECTURE 0 707 708// Set to 0 to disable MDI document/view architecture 709#define wxUSE_MDI_ARCHITECTURE 0 710 711// Set to 0 to disable print/preview architecture code 712#define wxUSE_PRINTING_ARCHITECTURE 0 713 714// wxHTML sublibrary allows to display HTML in wxWindow programs and much, 715// much more. 716// 717// Default is 1. 718// 719// Recommended setting: 1 (wxHTML is great!), set to 0 if you want compile a 720// smaller library. 721#define wxUSE_HTML 0 722 723// OpenGL canvas 724#define wxUSE_GLCANVAS 0 725 726// wxTreeLayout class 727#define wxUSE_TREELAYOUT 0 728 729// ---------------------------------------------------------------------------- 730// Data transfer 731// ---------------------------------------------------------------------------- 732 733// Use wxClipboard class for clipboard copy/paste. 734// 735// Default is 1. 736// 737// Recommended setting: 1 738#define wxUSE_CLIPBOARD 0 739 740// Use wxDataObject and related classes. Needed for clipboard and OLE drag and 741// drop 742// 743// Default is 1. 744// 745// Recommended setting: 1 746#define wxUSE_DATAOBJ 0 747 748// Use wxDropTarget and wxDropSource classes for drag and drop (this is 749// different from "built in" drag and drop in wxTreeCtrl which is always 750// available). Requires wxUSE_DATAOBJ. 751// 752// Default is 1. 753// 754// Recommended setting: 1 755#define wxUSE_DRAG_AND_DROP 0 756 757// ---------------------------------------------------------------------------- 758// miscellaneous settings 759// ---------------------------------------------------------------------------- 760 761// wxSingleInstanceChecker class allows to verify at startup if another program 762// instance is running (it is only available under Win32) 763// 764// Default is 1 765// 766// Recommended setting: 1 (the class is tiny, disabling it won't save much 767// space) 768#define wxUSE_SNGLINST_CHECKER 0 769 770#define wxUSE_DRAGIMAGE 0 771 772#define wxUSE_IPC 0 773 // 0 for no interprocess comms 774#define wxUSE_HELP 0 775 // 0 for no help facility 776#define wxUSE_MS_HTML_HELP 0 777 // 0 for no MS HTML Help 778 779// Use wxHTML-based help controller? 780#define wxUSE_WXHTML_HELP 0 781 782#define wxUSE_RESOURCES 0 783 // 0 for no wxGetResource/wxWriteResource 784#define wxUSE_CONSTRAINTS 1 785 // 0 for no window layout constraint system 786 787#define wxUSE_SPLINES 1 788 // 0 for no splines 789 790#define wxUSE_XPM_IN_MSW 1 791 // 0 for no XPM support in wxBitmap. 792 // Default is 1, as XPM is now fully 793 // supported this makes easier the issue 794 // of portable icons and bitmaps. 795 796#define wxUSE_IMAGE_LOADING_IN_MSW 0 797 // Use dynamic DIB loading/saving code in utils/dib under MSW. 798#define wxUSE_RESOURCE_LOADING_IN_MSW 0 799 // Use dynamic icon/cursor loading/saving code 800 // under MSW. 801#define wxUSE_WX_RESOURCES 0 802 // Use .wxr resource mechanism (requires PrologIO library) 803 804#define wxUSE_MOUSEWHEEL 0 805 // Include mouse wheel support 806 807// ---------------------------------------------------------------------------- 808// postscript support settings 809// ---------------------------------------------------------------------------- 810 811// Set to 1 for PostScript device context. 812#define wxUSE_POSTSCRIPT 0 813 814// Set to 1 to use font metric files in GetTextExtent 815#define wxUSE_AFM_FOR_POSTSCRIPT 0 816 817// ---------------------------------------------------------------------------- 818// database classes 819// ---------------------------------------------------------------------------- 820 821// Define 1 to use ODBC classes 822#define wxUSE_ODBC 0 823 824// For backward compatibility reasons, this parameter now only controls the 825// default scrolling method used by cursors. This default behavior can be 826// overriden by setting the second param of wxDB::wxDbGetConnection() or 827// wxDb() constructor to indicate whether the connection (and any wxDbTable()s 828// that use the connection) should support forward only scrolling of cursors, 829// or both forward and backward support for backward scrolling cursors is 830// dependent on the data source as well as the ODBC driver being used. 831#define wxODBC_FWD_ONLY_CURSORS 1 832 833// Default is 0. Set to 1 to use the deprecated classes, enum types, function, 834// member variables. With a setting of 1, full backward compatibility with the 835// 2.0.x release is possible. It is STRONGLY recommended that this be set to 0, 836// as future development will be done only on the non-deprecated 837// functions/classes/member variables/etc. 838#define wxODBC_BACKWARD_COMPATABILITY 0 839 840// ---------------------------------------------------------------------------- 841// other compiler (mis)features 842// ---------------------------------------------------------------------------- 843 844// Set this to 0 if your compiler can't cope with omission of prototype 845// parameters. 846// 847// Default is 1. 848// 849// Recommended setting: 1 (should never need to set this to 0) 850#define REMOVE_UNUSED_ARG 1 851 852// VC++ 4.2 and above allows <iostream> and <iostream.h> but you can't mix 853// them. Set to 1 for <iostream.h>, 0 for <iostream> 854// 855// Default is 1. 856// 857// Recommended setting: whatever your compiler likes more 858#define wxUSE_IOSTREAMH 1 859 860// ---------------------------------------------------------------------------- 861// image format support 862// ---------------------------------------------------------------------------- 863 864// wxImage supports many different image formats which can be configured at 865// compile-time. BMP is always supported, others are optional and can be safely 866// disabled if you don't plan to use images in such format sometimes saving 867// substantial amount of code in the final library. 868// 869// Some formats require an extra library which is included in wxWin sources 870// which is mentioned if it is the case. 871 872// Set to 1 for wxImage support (recommended). 873#define wxUSE_IMAGE 1 874 875// Set to 1 for PNG format support (requires libpng). Also requires wxUSE_ZLIB. 876#define wxUSE_LIBPNG 0 877 878// Set to 1 for JPEG format support (requires libjpeg) 879#define wxUSE_LIBJPEG 0 880 881// Set to 1 for TIFF format support (requires libtiff) 882#define wxUSE_LIBTIFF 0 883 884// Set to 1 for GIF format support 885#define wxUSE_GIF 0 886 887// Set to 1 for PNM format support 888#define wxUSE_PNM 0 889 890// Set to 1 for PCX format support 891#define wxUSE_PCX 0 892 893// Set to 1 for IFF format support 894#define wxUSE_IFF 0 895 896// Set to 1 for XPM format support 897#define wxUSE_XPM 1 898 899// Set to 1 for MS Icons and Cursors format support 900#define wxUSE_ICO_CUR 1 901 902// Set to 1 to compile in wxPalette class 903#define wxUSE_PALETTE 1 904 905// ---------------------------------------------------------------------------- 906// Windows-only settings 907// ---------------------------------------------------------------------------- 908 909// Set this to 1 if you want to use wxWidgets and MFC in the same program. This 910// will override some other settings (see below) 911// 912// Default is 0. 913// 914// Recommended setting: 0 unless you really have to use MFC 915#define wxUSE_MFC 0 916 917// Set this to 1 for generic OLE support: this is required for drag-and-drop, 918// clipboard, OLE Automation. Only set it to 0 if your compiler is very old and 919// can't compile/doesn't have the OLE headers. 920// 921// Default is 1. 922// 923// Recommended setting: 1 924#define wxUSE_OLE 0 925 926// Set this to 1 to use Microsoft CTL3D library for "3D-look" under Win16 or NT 927// 3.x. This setting is ignored under Win9x and NT 4.0+. 928// 929// Default is 0 for (most) Win32 (systems), 1 for Win16 930// 931// Recommended setting: same as default 932#if defined(__WIN95__) 933#define wxUSE_CTL3D 0 934#else 935#define wxUSE_CTL3D 1 936#endif 937 938// Set to 0 to disable PostScript print/preview architecture code under Windows 939// (just use Windows printing). 940#define wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW 0 941 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). 945// 946// Default is 1 for compilers which support it 947// 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 952 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 956 957#else 958#define wxUSE_RICHEDIT 0 959#define wxUSE_RICHEDIT2 0 960#endif 961 962// Set this to 1 to enable support for the owner-drawn menu and listboxes. This 963// is required by wxUSE_CHECKLISTBOX. 964// 965// Default is 1. 966// 967// Recommended setting: 1, set to 0 for a small library size reduction 968#define wxUSE_OWNER_DRAWN 0 969 970// ---------------------------------------------------------------------------- 971// obsolete settings 972// ---------------------------------------------------------------------------- 973 974// NB: all settings in this section are obsolete and should not be used/changed 975// at all, they will disappear 976 977// Define 1 to use bitmap messages. 978#define wxUSE_BITMAP_MESSAGE 1 979 980// If 1, enables provision of run-time type information. 981// NOW MANDATORY: don't change. 982#define wxUSE_DYNAMIC_CLASSES 1 983 984// ---------------------------------------------------------------------------- 985// disable the settings which don't work for some compilers 986// ---------------------------------------------------------------------------- 987 988#ifndef wxUSE_NORLANDER_HEADERS 989#if (defined(__MINGW32__) || defined(__CYGWIN__)) && ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95))) 990# define wxUSE_NORLANDER_HEADERS 1 991#else 992# define wxUSE_NORLANDER_HEADERS 0 993#endif 994#endif 995 996#if defined(__GNUWIN32__) 997// These don't work as expected for mingw32 and cygwin32 998#undef wxUSE_MEMORY_TRACING 999#define wxUSE_MEMORY_TRACING 0 1000 1001#undef wxUSE_GLOBAL_MEMORY_OPERATORS 1002#define wxUSE_GLOBAL_MEMORY_OPERATORS 0 1003 1004#undef wxUSE_DEBUG_NEW_ALWAYS 1005#define wxUSE_DEBUG_NEW_ALWAYS 0 1006 1007// Cygwin betas don't have wcslen 1008#if defined(__CYGWIN__) || defined(__CYGWIN32__) 1009# if ! ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95))) 1010# undef wxUSE_WCHAR_T 1011# define wxUSE_WCHAR_T 0 1012# endif 1013#endif 1014 1015#endif // __GNUWIN32__ 1016 1017// MFC duplicates these operators 1018#if wxUSE_MFC 1019#undef wxUSE_GLOBAL_MEMORY_OPERATORS 1020#define wxUSE_GLOBAL_MEMORY_OPERATORS 0 1021 1022#undef wxUSE_DEBUG_NEW_ALWAYS 1023#define wxUSE_DEBUG_NEW_ALWAYS 0 1024#endif // wxUSE_MFC 1025 1026#if (!defined(WIN32) && !defined(__WIN32__)) || (defined(__GNUWIN32__) && !wxUSE_NORLANDER_HEADERS) 1027// Can't use OLE drag and drop in Windows 3.1 because we don't know how 1028// to implement UUIDs 1029// GnuWin32 doesn't have appropriate headers for e.g. IUnknown. 1030#undef wxUSE_DRAG_AND_DROP 1031#define wxUSE_DRAG_AND_DROP 0 1032#endif 1033 1034// Only WIN32 supports wxStatusBar95 1035#if !defined(__WIN32__) && wxUSE_NATIVE_STATUSBAR 1036#undef wxUSE_NATIVE_STATUSBAR 1037#define wxUSE_NATIVE_STATUSBAR 0 1038#endif 1039 1040#if !wxUSE_OWNER_DRAWN 1041#undef wxUSE_CHECKLISTBOX 1042#define wxUSE_CHECKLISTBOX 0 1043#endif 1044 1045// Salford C++ doesn't like some of the memory operator definitions 1046#ifdef __SALFORDC__ 1047#undef wxUSE_MEMORY_TRACING 1048#define wxUSE_MEMORY_TRACING 0 1049 1050#undef wxUSE_GLOBAL_MEMORY_OPERATORS 1051#define wxUSE_GLOBAL_MEMORY_OPERATORS 0 1052 1053#undef wxUSE_DEBUG_NEW_ALWAYS 1054#define wxUSE_DEBUG_NEW_ALWAYS 0 1055 1056#undef wxUSE_THREADS 1057#define wxUSE_THREADS 0 1058 1059#undef wxUSE_OWNER_DRAWN 1060#define wxUSE_OWNER_DRAWN 0 1061#endif // __SALFORDC__ 1062 1063// BC++/Win16 can't cope with the amount of data in resource.cpp 1064#if defined(__WIN16__) && defined(__BORLANDC__) 1065#undef wxUSE_WX_RESOURCES 1066#define wxUSE_WX_RESOURCES 0 1067 1068#undef wxUSE_ODBC 1069#define wxUSE_ODBC 0 1070 1071#undef wxUSE_NEW_GRID 1072#define wxUSE_NEW_GRID 0 1073#endif 1074 1075#if defined(__BORLANDC__) && (__BORLANDC__ < 0x500) 1076// BC++ 4.0 can't compile JPEG library 1077#undef wxUSE_LIBJPEG 1078#define wxUSE_LIBJPEG 0 1079#endif 1080 1081// wxUSE_DEBUG_NEW_ALWAYS = 1 not compatible with BC++ in DLL mode 1082#if defined(__BORLANDC__) && (defined(WXMAKINGDLL) || defined(WXUSINGDLL)) 1083#undef wxUSE_DEBUG_NEW_ALWAYS 1084#define wxUSE_DEBUG_NEW_ALWAYS 0 1085#endif 1086 1087#if defined(__WXMSW__) && defined(__WATCOMC__) 1088/* 1089#undef wxUSE_GLCANVAS 1090#define wxUSE_GLCANVAS 0 1091*/ 1092 1093#undef wxUSE_WCHAR_T 1094#define wxUSE_WCHAR_T 0 1095#endif 1096 1097#if defined(__WXMSW__) && !defined(__WIN32__) 1098 1099#undef wxUSE_SOCKETS 1100#define wxUSE_SOCKETS 0 1101 1102#undef wxUSE_THREADS 1103#define wxUSE_THREADS 0 1104 1105#undef wxUSE_TOOLTIPS 1106#define wxUSE_TOOLTIPS 0 1107 1108#undef wxUSE_SPINCTRL 1109#define wxUSE_SPINCTRL 0 1110 1111#undef wxUSE_SPINBTN 1112#define wxUSE_SPINBTN 0 1113 1114#undef wxUSE_LIBPNG 1115#define wxUSE_LIBPNG 0 1116 1117#undef wxUSE_LIBJPEG 1118#define wxUSE_LIBJPEG 0 1119 1120#undef wxUSE_LIBTIFF 1121#define wxUSE_LIBTIFF 0 1122 1123#undef wxUSE_GIF 1124#define wxUSE_GIF 0 1125 1126#undef wxUSE_PNM 1127#define wxUSE_PNM 0 1128 1129#undef wxUSE_PCX 1130#define wxUSE_PCX 0 1131 1132#undef wxUSE_GLCANVAS 1133#define wxUSE_GLCANVAS 0 1134 1135#undef wxUSE_MS_HTML_HELP 1136#define wxUSE_MS_HTML_HELP 0 1137 1138#undef wxUSE_WCHAR_T 1139#define wxUSE_WCHAR_T 0 1140 1141#endif // Win16 1142 1143// ---------------------------------------------------------------------------- 1144// undef the things which don't make sense for wxBase build 1145// ---------------------------------------------------------------------------- 1146 1147#if !wxUSE_GUI 1148 1149#undef wxUSE_HTML 1150#define wxUSE_HTML 0 1151 1152#endif // !wxUSE_GUI 1153 1154// ---------------------------------------------------------------------------- 1155// check the settings consistency: do it here to abort compilation immediately 1156// and not almost in the very end when the relevant file fails to compile and 1157// you need to modify setup.h and rebuild everything 1158// ---------------------------------------------------------------------------- 1159 1160#if wxUSE_DATETIME && !wxUSE_LONGLONG 1161 #error wxDateTime requires wxLongLong 1162#endif 1163 1164#if wxUSE_TEXTFILE && !wxUSE_FILE 1165 #error You cannot compile wxTextFile without wxFile 1166#endif 1167 1168#if wxUSE_FILESYSTEM && !wxUSE_STREAMS 1169 #error You cannot compile virtual file systems without wxUSE_STREAMS 1170#endif 1171 1172#if wxUSE_HTML && !wxUSE_FILESYSTEM 1173 #error You cannot compile wxHTML without virtual file systems 1174#endif 1175 1176// add more tests here... 1177 1178#endif 1179 // _WX_SETUP_H_ 1180