setup.h 56 KB

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