introduction.h 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name: introduction.h
  3. // Purpose: Introduction page of the Doxygen manual
  4. // Author: wxWidgets team
  5. // Licence: wxWindows licence
  6. /////////////////////////////////////////////////////////////////////////////
  7. /**
  8. @page page_introduction Introduction
  9. @tableofcontents
  10. @section page_introduction_whatis What is wxWidgets?
  11. wxWidgets is an open source C++ framework allowing to write cross-platform
  12. GUI applications with native look and feel in C++ and other languages.
  13. wxWidgets was originally developed by Julian Smart at the Artificial
  14. Intelligence Applications Institute, University of Edinburgh, for internal use,
  15. and was first made publicly available in 1992, with a vastly improved version 2
  16. released in 1999. The last major version of the library is 3 and was released
  17. in 2013. Currently wxWidgets is developed and maintained by Julian Smart, Vadim
  18. Zeitlin, Stefan Csomor, Robert Roebling, Vaclav Slavik and many others.
  19. More information about wxWidgets is available on its web site at
  20. http://www.wxwidgets.org.
  21. @section page_introduction_why Why choose wxWidgets?
  22. Compared to the other similar libraries, wxWidgets is:
  23. 1. The only C++ GUI library built by wrapping native GUI widgets which results
  24. in the best user experience on each platform.
  25. 2. Written using only the standard C++ and doesn't rely on any custom
  26. extensions or preprocessing.
  27. 3. Open source and free for use in both open source and commercial projects.
  28. wxWidgets provides a simple, easy to learn, yet very rich API. It is also
  29. mature and stable, and the applications written using wxWidgets 2.0
  30. pre-releases almost 20 years ago can still be built today with wxWidgets 3
  31. almost unchanged. wxWidgets has a large, active and friendly community of
  32. people, including both the users and developers of the library. It is also
  33. available now for more than a dozen other languages, including Python, Perl,
  34. Ruby, Lua, Haskell, D, Erlang, PHP, in addition to C++.
  35. It is impossible to sum up everything included in wxWidgets in a few
  36. paragraphs, but here are some of the benefits:
  37. @li Available on all major desktop platforms.
  38. @li Free for any use.
  39. @li Source is available and easy to read and modify if necessary.
  40. @li Over 100 example programs.
  41. @li Extensive documentation (almost 200,000 lines of it).
  42. @li Straightforward API.
  43. @li Simple but powerful layout system.
  44. @li Run-time loadable or compile-time embeddable resources.
  45. @li Flexible event system.
  46. @li All the usual and quite a few of more rare GUI controls.
  47. @li And also all the standard dialogs.
  48. @li 2D path-based drawing API with full support for transparency.
  49. @li Built-in support for many file formats (BMP, PNG, JPEG, GIF, XPM, PNM, PCX, TGA, ...).
  50. @li Printing, help, clipboard, drag-and-drop, document/view, ... support.
  51. @li Integration with the native platform HTML rendering engine.
  52. @li Dockable windows framework.
  53. @li Word processor-like widget.
  54. @li Powerful text editing widget with syntax highlighting.
  55. @li And much, much more...
  56. @section page_introduction_requirements wxWidgets Requirements
  57. wxWidgets first-tier "ports", ie implementations of wxWidgets API, are:
  58. @li wxMSW: This is the native port for Microsoft Windows systems (from Windows
  59. 95 up to Windows 8.1 with at least Windows XP being recommended), either 32 or
  60. 64 bits. The primarily supported compilers are Microsoft Visual C++ (versions 6
  61. up to 2013 are supported, at least 2005 is recommended) and GNU g++ (either
  62. from the traditional MinGW, TDM-GCC or MinGW-w64 distributions).
  63. @li wxGTK: wxGTK2 and wxGTK3 are the ports using GTK+ library version 2.x and
  64. 3.x respectively. They are very similar, with wxGTK2 being, however, more
  65. mature. Both ports work on almost any Unix system (Linux, FreeBSD, OpenBSD,
  66. NetBSD, Solaris, AIX, ...) and require GTK+ 2.6 or later or GTK+ 3.x. The
  67. primary supported compiler is GNU g++.
  68. @li wxOSX: wxOSX/Cocoa is the primary port for Apple computers, replacing the
  69. older and now deprecated wxOSX/Carbon port. wxOSX supports either PowerPC or
  70. Intel Macs running OS X 10.5 or higher and can be compiled in either 32 or 64
  71. bits using Apple Developer Tools (both GNU g++ and clang are supported).
  72. Other platforms (iOS, Windows CE, OS/2), compilers (Borland C++ under Windows,
  73. Sun CC, HP-UX aCC, IBM xlC or SGI mipsPro under Unix) and ports (wxOSX/Carbon,
  74. wxGTK1, wxX11, wxDFB, wxPM...) are also supported but to a lesser extent.
  75. Please see the @subpage page_port "platform details page" for more information.
  76. There are no CPU speed requirements but the faster (and more) CPU(s) you have,
  77. the faster the library will compile. You do need to have enough RAM, especially
  78. under Windows platforms, to avoid running out of memory during link phase.
  79. Depending on the compiler used, you may need at least 4GB to be able to link.
  80. Under all platforms it's recommended to have large amounts of free hard disk
  81. space. The exact amount needed depends on the port, compiler and build
  82. configurations but at least 1GB and possibly more is required.
  83. @section page_introduction_where Where to get wxWidgets and support for it
  84. The download links can be found at http://www.wxwidgets.org. The primary
  85. download location is https://sourceforge.net/downloads/wxwindows/ and there is
  86. also an FTP mirror at ftp://ftp.wxwidgets.org/pub/. Additionally, the latest
  87. version can always be retrieved from our version control system using either
  88. Subversion (http://svn.wxwidgets.org/svn/wx/wxWidgets/) or Git
  89. (https://github.com/wxWidgets/wxWidgets).
  90. wxWidgets documentation that you are reading is also available online at
  91. http://docs.wxwidgets.org/trunk/ and please also visit our wiki at
  92. http://wiki.wxwidgets.org/ for user-contributed contents.
  93. And if you have any questions, you can join wxWidgets community using
  94. - Web-based <a href="http://forums.wxwidgets.org/">wxForum</a>.
  95. - <a href="http://www.wxwidgets.org/support/maillst2.htm">Mailing lists</a>.
  96. - @c #wxwidgets IRC channel.
  97. - Or asking questions with @c wxwidgets tag on http://stackoverflow.com/
  98. */