X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/75a29ef15c261a2e92e530e399f56b82b6846907..85047589a993f5c5529e1dae284be8af84cd68ef:/include/wx/motif/setup0.h diff --git a/include/wx/motif/setup0.h b/include/wx/motif/setup0.h index eceb880441..4f0758aa59 100644 --- a/include/wx/motif/setup0.h +++ b/include/wx/motif/setup0.h @@ -60,6 +60,50 @@ // debugging settings // ---------------------------------------------------------------------------- +// wxDEBUG_LEVEL will be defined as 1 in wx/debug.h so normally there is no +// need to define it here. You may do it for two reasons: either completely +// disable/compile out the asserts in release version (then do it inside #ifdef +// NDEBUG) or, on the contrary, enable more asserts, including the usually +// disabled ones, in the debug build (then do it inside #ifndef NDEBUG) +// +// #ifdef NDEBUG +// #define wxDEBUG_LEVEL 0 +// #else +// #define wxDEBUG_LEVEL 2 +// #endif + +// wxHandleFatalExceptions() may be used to catch the program faults at run +// time and, instead of terminating the program with a usual GPF message box, +// call the user-defined wxApp::OnFatalException() function. If you set +// wxUSE_ON_FATAL_EXCEPTION to 0, wxHandleFatalExceptions() will not work. +// +// This setting is for Win32 only and can only be enabled if your compiler +// supports Win32 structured exception handling (currently only VC++ does) +// +// Default is 1 +// +// Recommended setting: 1 if your compiler supports it. +#define wxUSE_ON_FATAL_EXCEPTION 1 + +// Set this to 1 to be able to generate a human-readable (unlike +// machine-readable minidump created by wxCrashReport::Generate()) stack back +// trace when your program crashes using wxStackWalker +// +// Default is 1 if supported by the compiler. +// +// Recommended setting: 1, set to 0 if your programs never crash +#define wxUSE_STACKWALKER 1 + +// Set this to 1 to compile in wxDebugReport class which allows you to create +// and optionally upload to your web site a debug report consisting of back +// trace of the crash (if wxUSE_STACKWALKER == 1) and other information. +// +// Default is 1 if supported by the compiler. +// +// Recommended setting: 1, it is compiled into a separate library so there +// is no overhead if you don't use it +#define wxUSE_DEBUGREPORT 1 + // Generic comment about debugging settings: they are very useful if you don't // use any other memory leak detection tools such as Purify/BoundsChecker, but // are probably redundant otherwise. Also, Visual C++ CRT has the same features @@ -67,10 +111,13 @@ // may prefer to use it instead of built in memory debugging code because it is // faster and more fool proof. // -// Using VC++ CRT memory debugging is enabled by default in debug mode -// (__WXDEBUG__) if wxUSE_GLOBAL_MEMORY_OPERATORS is *not* enabled (i.e. is 0) +// Using VC++ CRT memory debugging is enabled by default in debug build (_DEBUG +// is defined) if wxUSE_GLOBAL_MEMORY_OPERATORS is *not* enabled (i.e. is 0) // and if __NO_VC_CRTDBG__ is not defined. +// The rest of the options in this section are obsolete and not supported, +// enable them at your own risk. + // If 1, enables wxDebugContext, for writing error messages to file, etc. If // __WXDEBUG__ is not defined, will still use the normal memory operators. // @@ -111,37 +158,6 @@ // Recommended setting: 0 #define wxUSE_DEBUG_NEW_ALWAYS 0 -// wxHandleFatalExceptions() may be used to catch the program faults at run -// time and, instead of terminating the program with a usual GPF message box, -// call the user-defined wxApp::OnFatalException() function. If you set -// wxUSE_ON_FATAL_EXCEPTION to 0, wxHandleFatalExceptions() will not work. -// -// This setting is for Win32 only and can only be enabled if your compiler -// supports Win32 structured exception handling (currently only VC++ does) -// -// Default is 1 -// -// Recommended setting: 1 if your compiler supports it. -#define wxUSE_ON_FATAL_EXCEPTION 1 - -// Set this to 1 to be able to generate a human-readable (unlike -// machine-readable minidump created by wxCrashReport::Generate()) stack back -// trace when your program crashes using wxStackWalker -// -// Default is 1 if supported by the compiler. -// -// Recommended setting: 1, set to 0 if your programs never crash -#define wxUSE_STACKWALKER 1 - -// Set this to 1 to compile in wxDebugReport class which allows you to create -// and optionally upload to your web site a debug report consisting of back -// trace of the crash (if wxUSE_STACKWALKER == 1) and other information. -// -// Default is 1 if supported by the compiler. -// -// Recommended setting: 1, it is compiled into a separate library so there -// is no overhead if you don't use it -#define wxUSE_DEBUGREPORT 1 // ---------------------------------------------------------------------------- // Unicode support @@ -185,15 +201,6 @@ // Recommended setting: 0 (this is still work in progress...) #define wxUSE_EXTENDED_RTTI 0 -// Set wxUSE_STL to 1 to derive wxList(Foo) and wxArray(Foo) from -// std::list and std::vector, with a compatibility interface, -// and for wxHashMap to be implemented with templates. -// -// Default is 0 -// -// Recommended setting: YMMV -#define wxUSE_STL 0 - // Support for message/error logging. This includes wxLogXXX() functions and // wxLog and derived classes. Don't set this to 0 unless you really know what // you are doing. @@ -245,51 +252,123 @@ // Recommended setting: 1 as setting it to 0 disables many other things #define wxUSE_STREAMS 1 -// Use standard C++ streams if 1 instead of wx streams in some places. If -// disabled (default), wx streams are used everywhere and wxWidgets doesn't -// depend on the standard streams library. +// Support for positional parameters (e.g. %1$d, %2$s ...) in wxVsnprintf. +// Note that if the system's implementation does not support positional +// parameters, setting this to 1 forces the use of the wxWidgets implementation +// of wxVsnprintf. The standard vsnprintf() supports positional parameters on +// many Unix systems but usually doesn't under Windows. // -// Notice that enabling this does not replace wx streams with std streams -// everywhere, in a lot of places wx streams are used no matter what. +// Positional parameters are very useful when translating a program since using +// them in formatting strings allow translators to correctly reorder the +// translated sentences. // -// Default is 0 +// Default is 1 // -// Recommended setting: 1 if you use the standard streams anyhow and so -// dependency on the standard streams library is not a -// problem -#define wxUSE_STD_IOSTREAM 0 +// Recommended setting: 1 if you want to support multiple languages +#define wxUSE_PRINTF_POS_PARAMS 1 + + +// ---------------------------------------------------------------------------- +// Interoperability with the standard library. +// ---------------------------------------------------------------------------- -// Enable conversion to standard C++ string if 1. +// Set wxUSE_STL to 1 to enable maximal interoperability with the standard +// library, even at the cost of backwards compatibility. // -// Default is 1 for most compilers. +// Default is 0 +// +// Recommended setting: 0 as the options below already provide a relatively +// good level of interoperability and changing this option arguably isn't worth +// diverging from the official builds of the library. +#define wxUSE_STL 0 + +// This is not a real option but is used as the default value for +// wxUSE_STD_IOSTREAM, wxUSE_STD_STRING and wxUSE_STD_CONTAINERS. // // Currently the Digital Mars and Watcom compilers come without standard C++ // library headers by default, wxUSE_STD_STRING can be set to 1 if you do have // them (e.g. from STLPort). // -// VC++ 5.0 does include standard C++ library header, however they produce +// VC++ 5.0 does include standard C++ library headers, however they produce // many warnings that can't be turned off when compiled at warning level 4. #if defined(__DMC__) || defined(__WATCOMC__) \ || (defined(_MSC_VER) && _MSC_VER < 1200) - #define wxUSE_STD_STRING 0 + #define wxUSE_STD_DEFAULT 0 #else - #define wxUSE_STD_STRING 1 + #define wxUSE_STD_DEFAULT 1 #endif -// Support for positional parameters (e.g. %1$d, %2$s ...) in wxVsnprintf. -// Note that if the system's implementation does not support positional -// parameters, setting this to 1 forces the use of the wxWidgets implementation -// of wxVsnprintf. The standard vsnprintf() supports positional parameters on -// many Unix systems but usually doesn't under Windows. +// Use standard C++ containers to implement wxVector<>, wxStack<>, wxDList<> +// and wxHashXXX<> classes. If disabled, wxWidgets own (mostly compatible but +// usually more limited) implementations are used which allows to avoid the +// dependency on the C++ run-time library. +// +// Default is 1 if compiler supports it. Currently this means not one of the +// compilers mentioned in wxUSE_STD_DEFAULT comment and also not VC6 as it +// needs non-default options for such build to avoid getting "fatal error +// C1076: compiler limit : internal heap limit reached; use /Zm to specify a +// higher limit" in its own standard headers, so you need to ensure you do +// increase the heap size before enabling this option for this compiler. +// +// Recommended setting: 1 unless you use a system without good implementation +// of STL. +#if defined(_MSC_VER) && _MSC_VER < 1300 + #define wxUSE_STD_CONTAINERS 0 +#else + #define wxUSE_STD_CONTAINERS wxUSE_STD_DEFAULT +#endif + +// Use standard C++ streams if 1 instead of wx streams in some places. If +// disabled, wx streams are used everywhere and wxWidgets doesn't depend on the +// standard streams library. // -// Positional parameters are very useful when translating a program since using -// them in formatting strings allow translators to correctly reorder the -// translated sentences. +// Notice that enabling this does not replace wx streams with std streams +// everywhere, in a lot of places wx streams are used no matter what. // -// Default is 1 +// Default is 1 if compiler supports it. // -// Recommended setting: 1 if you want to support multiple languages -#define wxUSE_PRINTF_POS_PARAMS 1 +// Recommended setting: 1 if you use the standard streams anyhow and so +// dependency on the standard streams library is not a +// problem +#define wxUSE_STD_IOSTREAM wxUSE_STD_DEFAULT + +// Enable minimal interoperability with the standard C++ string class if 1. +// "Minimal" means that wxString can be constructed from std::string or +// std::wstring but can't be implicitly converted to them. You need to enable +// the option below for the latter. +// +// Default is 1 for most compilers. +// +// Recommended setting: 1 unless you want to ensure your program doesn't use +// the standard C++ library at all. +#define wxUSE_STD_STRING wxUSE_STD_DEFAULT + +// Make wxString as much interchangeable with std::[w]string as possible, in +// particular allow implicit conversion of wxString to either of these classes. +// This comes at a price (or a benefit, depending on your point of view) of not +// allowing implicit conversion to "const char *" and "const wchar_t *". +// +// Because a lot of existing code relies on these conversions, this option is +// disabled by default but can be enabled for your build if you don't care +// about compatibility. +// +// Default is 0 if wxUSE_STL has its default value or 1 if it is enabled. +// +// Recommended setting: 0 to remain compatible with the official builds of +// wxWidgets. +#define wxUSE_STD_STRING_CONV_IN_WXSTRING wxUSE_STL + +// VC++ 4.2 and above allows and but you can't mix +// them. Set this option to 1 to use , 0 to use . +// +// Note that newer compilers (including VC++ 7.1 and later) don't support +// wxUSE_IOSTREAMH == 1 and so will be used anyhow. +// +// Default is 0. +// +// Recommended setting: 0, only set to 1 if you use a really old compiler +#define wxUSE_IOSTREAMH 0 + // ---------------------------------------------------------------------------- // non GUI features selection @@ -361,6 +440,21 @@ // i18n support: _() macro, wxLocale class. Requires wxTextFile. #define wxUSE_INTL 1 +// Provide wxFoo_l() functions similar to standard foo() functions but taking +// an extra locale parameter. +// +// Notice that this is fully implemented only for the systems providing POSIX +// xlocale support or Microsoft Visual C++ >= 8 (which provides proprietary +// almost-equivalent of xlocale functions), otherwise wxFoo_l() functions will +// only work for the current user locale and "C" locale. You can use +// wxHAS_XLOCALE_SUPPORT to test whether the full support is available. +// +// Default is 1 +// +// Recommended setting: 1 but may be disabled if you are writing programs +// running only in C locale anyhow +#define wxUSE_XLOCALE 1 + // Set wxUSE_DATETIME to 1 to compile the wxDateTime and related classes which // allow to manipulate dates, times and time intervals. wxDateTime replaces the // old wxTime and wxDate classes which are still provided for backwards @@ -392,6 +486,13 @@ // Recommended setting: 1 (needed by wxSocket) #define wxUSE_STOPWATCH 1 +// Set wxUSE_FSWATCHER to 1 if you want to enable wxFileSystemWatcher +// +// Default is 1 +// +// Recommended setting: 1 +#define wxUSE_FSWATCHER 1 + // Setting wxUSE_CONFIG to 1 enables the use of wxConfig and related classes // which allow the application to store its settings in the persistent // storage. Setting this to 1 will also enable on-demand creation of the @@ -532,6 +633,14 @@ // possible in which case setting this to 0 can gain up to 100KB. #define wxUSE_VARIANT 1 +// Support for wxAny class, the successor for wxVariant. +// +// Default is 1. +// +// Recommended setting: 1 unless you want to reduce the library size by a small amount, +// or your compiler cannot for some reason cope with complexity of templates used. +#define wxUSE_ANY 1 + // Support for regular expression matching via wxRegEx class: enable this to // use POSIX regular expressions in your code. You need to compile regex // library from src/regex to use it under Windows. @@ -555,13 +664,6 @@ // Recommended setting: 1 #define wxUSE_MEDIACTRL 1 -// Use GStreamer for Unix (req a lot of dependancies) -// -// Default is 0 -// -// Recommended setting: 1 (wxMediaCtrl won't work by default without it) -#define wxUSE_GSTREAMER 0 - // Use wxWidget's XRC XML-based resource system. Recommended. // // Default is 1 @@ -584,6 +686,20 @@ // Recommended setting: 1 #define wxUSE_AUI 1 +// Use wxWidget's Ribbon classes for interfaces +// +// Default is 1 +// +// Recommended setting: 1 +#define wxUSE_RIBBON 1 + +// Use wxPropertyGrid. +// +// Default is 1 +// +// Recommended setting: 1 +#define wxUSE_PROPGRID 1 + // Use wxStyledTextCtrl, a wxWidgets implementation of Scintilla. // // Default is 1 @@ -595,16 +711,52 @@ // Enable the new wxGraphicsPath and wxGraphicsContext classes for an advanced // 2D drawing API. (Still somewhat experimental) // -// Please note that on Windows you will need to link with gdiplus.lib (use -// USE_GDIPLUS=1 for makefile builds) and distribute gdiplus.dll with your -// application if you want it to be runnable on pre-XP systems. +// Please note that on Windows gdiplus.dll is loaded dynamically which means +// that nothing special needs to be done as long as you don't use +// wxGraphicsContext at all or only use it on XP and later systems but you +// still do need to distribute it yourself for an application using +// wxGraphicsContext to be runnable on pre-XP systems. +// +// Default is 1 except if you're using a non-Microsoft compiler under Windows +// as only MSVC7+ is known to ship with gdiplus.h. For other compilers (e.g. +// mingw32) you may need to install the headers (and just the headers) +// yourself. If you do, change the setting below manually. +// +// Recommended setting: 1 if supported by the compilation environment + +// notice that we can't use wxCHECK_VISUALC_VERSION() here as this file is +// included from wx/platform.h before wxCHECK_VISUALC_VERSION() is defined +#ifdef _MSC_VER +# if _MSC_VER >= 1310 + // MSVC7.1+ comes with new enough Platform SDK, enable + // wxGraphicsContext support for it +# define wxUSE_GRAPHICS_CONTEXT 1 +# else + // MSVC 6 didn't include GDI+ headers so disable by default, enable it + // here if you use MSVC 6 with a newer SDK +# define wxUSE_GRAPHICS_CONTEXT 0 +# endif +#else + // Disable support for other Windows compilers, enable it if your compiler + // comes with new enough SDK or you installed the headers manually. + // + // Notice that this will be set by configure under non-Windows platforms + // anyhow so the value there is not important. +# define wxUSE_GRAPHICS_CONTEXT 0 +#endif + +// Enable wxGraphicsContext implementation using Cairo library. +// +// This is not needed under Windows and detected automatically by configure +// under other systems, however you may set this to 1 manually if you installed +// Cairo under Windows yourself and prefer to use it instead the native GDI+ +// implementation. // // Default is 0 // -// Recommended setting: 1 -#ifndef wxUSE_GRAPHICS_CONTEXT -#define wxUSE_GRAPHICS_CONTEXT 0 -#endif +// Recommended setting: 0 +#define wxUSE_CAIRO 0 + // ---------------------------------------------------------------------------- // Individual GUI controls @@ -618,6 +770,15 @@ // Recommended setting: 1 (don't change except for very special programs) #define wxUSE_CONTROLS 1 +// Support markup in control labels, i.e. provide wxControl::SetLabelMarkup(). +// Currently markup is supported only by a few controls and only some ports but +// their number will increase with time. +// +// Default is 1 +// +// Recommended setting: 1 (may be set to 0 if you want to save on code size) +#define wxUSE_MARKUP 1 + // wxPopupWindow class is a top level transient window. It is currently used // to implement wxTipWindow // @@ -653,6 +814,7 @@ #define wxUSE_COLLPANE 1 // wxCollapsiblePane #define wxUSE_COLOURPICKERCTRL 1 // wxColourPickerCtrl #define wxUSE_COMBOBOX 1 // wxComboBox +#define wxUSE_COMMANDLINKBUTTON 1 // wxCommandLinkButton #define wxUSE_DATAVIEWCTRL 1 // wxDataViewCtrl #define wxUSE_DATEPICKCTRL 1 // wxDatePickerCtrl #define wxUSE_DIRPICKERCTRL 1 // wxDirPickerCtrl @@ -661,11 +823,13 @@ #define wxUSE_FILEPICKERCTRL 1 // wxFilePickerCtrl #define wxUSE_FONTPICKERCTRL 1 // wxFontPickerCtrl #define wxUSE_GAUGE 1 // wxGauge +#define wxUSE_HEADERCTRL 1 // wxHeaderCtrl #define wxUSE_HYPERLINKCTRL 1 // wxHyperlinkCtrl #define wxUSE_LISTBOX 1 // wxListBox #define wxUSE_LISTCTRL 1 // wxListCtrl #define wxUSE_RADIOBOX 1 // wxRadioBox #define wxUSE_RADIOBTN 1 // wxRadioButton +#define wxUSE_RICHMSGDLG 1 // wxRichMessageDialog #define wxUSE_SCROLLBAR 1 // wxScrollBar #define wxUSE_SEARCHCTRL 1 // wxSearchCtrl #define wxUSE_SLIDER 1 // wxSlider @@ -748,14 +912,6 @@ // Recommended setting: 1 #define wxUSE_TOOLBOOK 1 -// wxTabDialog is a generic version of wxNotebook but it is incompatible with -// the new class. It shouldn't be used in new code. -// -// Default is 0. -// -// Recommended setting: 0 (use wxNotebook) -#define wxUSE_TAB_DIALOG 0 - // wxTaskBarIcon is a small notification icon shown in the system toolbar or // dock. // @@ -805,6 +961,15 @@ // Recommended setting: 1 but can be safely set to 0 #define wxUSE_BITMAPCOMBOBOX 1 +// wxRearrangeCtrl is a wxCheckListBox with two buttons allowing to move items +// up and down in it. It is also used as part of wxRearrangeDialog. +// +// Default is 1. +// +// Recommended setting: 1 but can be safely set to 0 (currently used only by +// wxHeaderCtrl) +#define wxUSE_REARRANGECTRL 1 + // ---------------------------------------------------------------------------- // Miscellaneous GUI stuff // ---------------------------------------------------------------------------- @@ -812,6 +977,29 @@ // wxAcceleratorTable/Entry classes and support for them in wxMenu(Bar) #define wxUSE_ACCEL 1 +// Use the standard art provider. The icons returned by this provider are +// embedded into the library as XPMs so disabling it reduces the library size +// somewhat but this should only be done if you use your own custom art +// provider returning the icons or never use any icons not provided by the +// native art provider (which might not be implemented at all for some +// platforms) or by the Tango icons provider (if it's not itself disabled +// below). +// +// Default is 1. +// +// Recommended setting: 1 unless you use your own custom art provider. +#define wxUSE_ARTPROVIDER_STD 1 + +// Use art provider providing Tango icons: this art provider has higher quality +// icons than the default ones using smaller size XPM icons without +// transparency but the embedded PNG icons add to the library size. +// +// Default is 1 under non-GTK ports. Under wxGTK the native art provider using +// the GTK+ stock icons replaces it so it is normally not necessary. +// +// Recommended setting: 1 but can be turned off to reduce the library size. +#define wxUSE_ARTPROVIDER_TANGO 1 + // Hotkey support (currently Windows only) #define wxUSE_HOTKEY 1 @@ -844,6 +1032,14 @@ // enumerated above, then this class is mostly useless too) #define wxUSE_IMAGLIST 1 +// Use wxInfoBar class. +// +// Default is 1. +// +// Recommended setting: 1 (but can be disabled without problems as nothing +// depends on it) +#define wxUSE_INFOBAR 1 + // Use wxMenu, wxMenuBar, wxMenuItem. // // Default is 1. @@ -990,6 +1186,13 @@ // use this function #define wxUSE_ABOUTDLG 1 +// wxFileHistory class +// +// Default is 1 +// +// Recommended setting: 1 +#define wxUSE_FILE_HISTORY 1 + // ---------------------------------------------------------------------------- // Metafiles support // ---------------------------------------------------------------------------- @@ -1046,14 +1249,16 @@ // Setting wxUSE_GLCANVAS to 1 enables OpenGL support. You need to have OpenGL // headers and libraries to be able to compile the library with wxUSE_GLCANVAS -// set to 1. Note that for some compilers (notably Microsoft Visual C++) you -// will need to manually add opengl32.lib and glu32.lib to the list of -// libraries linked with your program if you use OpenGL. +// set to 1 and, under Windows, also to add opengl32.lib and glu32.lib to the +// list of libraries used to link your application (although this is done +// implicitly for Microsoft Visual C++ users). // -// Default is 0. +// Default is 1 unless the compiler is known to ship without the necessary +// headers (Digital Mars) or the platform doesn't support OpenGL (Windows CE). // -// Recommended setting: 1 if you intend to use OpenGL, 0 otherwise -#define wxUSE_GLCANVAS 0 +// Recommended setting: 1 if you intend to use OpenGL, can be safely set to 0 +// otherwise. +#define wxUSE_GLCANVAS 1 // wxRichTextCtrl allows editing of styled text. // @@ -1104,7 +1309,7 @@ // ---------------------------------------------------------------------------- // wxSingleInstanceChecker class allows to verify at startup if another program -// instance is running (it is only available under Win32) +// instance is running. // // Default is 1 // @@ -1141,6 +1346,9 @@ #define wxUSE_MOUSEWHEEL 1 // Include mouse wheel support +// Compile wxUIActionSimulator class? +#define wxUSE_UIACTIONSIMULATOR 1 + // ---------------------------------------------------------------------------- // wxDC classes for various output formats // ---------------------------------------------------------------------------- @@ -1152,31 +1360,9 @@ #define wxUSE_AFM_FOR_POSTSCRIPT 1 // Set to 1 to compile in support for wxSVGFileDC, a wxDC subclass which allows -// to create fiels in SVG (Scalable Vector Graphics) format. +// to create files in SVG (Scalable Vector Graphics) format. #define wxUSE_SVG 1 -// ---------------------------------------------------------------------------- -// other compiler (mis)features -// ---------------------------------------------------------------------------- - -// Set this to 0 if your compiler can't cope with omission of prototype -// parameters. -// -// Default is 1. -// -// Recommended setting: 1 (should never need to set this to 0) -#define REMOVE_UNUSED_ARG 1 - -// VC++ 4.2 and above allows and but you can't mix -// them. Set to 1 for , 0 for . Note that VC++ 7.1 -// and later doesn't support wxUSE_IOSTREAMH == 1 and so will be -// used anyhow. -// -// Default is 1. -// -// Recommended setting: whatever your compiler likes more -#define wxUSE_IOSTREAMH 1 - // ---------------------------------------------------------------------------- // image format support // ----------------------------------------------------------------------------