X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4decd6afa5dab2dcb235778554028aac05e3b256..15b6757b26a0277472a4f6b071b52050abd922da:/docs/doxygen/introduction.h diff --git a/docs/doxygen/introduction.h b/docs/doxygen/introduction.h new file mode 100644 index 0000000000..feac6189da --- /dev/null +++ b/docs/doxygen/introduction.h @@ -0,0 +1,239 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: introduction.h +// Purpose: Introduction page of the Doxygen manual +// Author: wxWidgets team +// RCS-ID: $Id$ +// Licence: wxWindows license +///////////////////////////////////////////////////////////////////////////// + + +/*! + + @page introduction_page Introduction + + @li @ref whatis + @li @ref why + @li @ref requirements + @li @ref where + @li @ref acknowledgements + + +
+ + + @section whatis What is wxWidgets? + + wxWidgets is a C++ framework providing GUI (Graphical User + Interface) and other facilities on more than one platform. Version 2 and higher + currently support all desktop versions of MS Windows, Unix with GTK+ 1.x or 2.x, + Unix with Motif, Unix with just X11, Unix with DirectFB, Mac OS X, OS/2. + + wxWidgets was originally developed at the Artificial Intelligence + Applications Institute, University of Edinburgh, for internal use, + and was first made publicly available in 1992. + Version 2 is a vastly improved version written and maintained by + Julian Smart, Robert Roebling, Vadim Zeitlin, Vaclav Slavik and many others. + + This manual contains a class reference and topic overviews. + For a selection of wxWidgets tutorials, please see the documentation page on the \urlref{wxWidgets web site}{http://www.wxwidgets.org}. + + Please note that in the following, ``MS Windows" often refers to all + platforms related to Microsoft Windows, including 32-bit and 64-bit + variants, unless otherwise stated. All trademarks are acknowledged. + + @section why Why another cross-platform development tool? + + wxWidgets was developed to provide a cheap and flexible way to maximize + investment in GUI application development. While a number of commercial + class libraries already existed for cross-platform development, + none met all of the following criteria: + + \begin{enumerate}\itemsep=0pt + \item low price; + \item source availability; + \item simplicity of programming; + \item support for a wide range of compilers. + \end{enumerate} + + Since wxWidgets was started, several other free or almost-free + GUI frameworks have emerged. However, none has the range of + features, flexibility, documentation and the well-established + development team that wxWidgets has. + + As open source software, wxWidgets has benefited from comments, + ideas, bug fixes, enhancements and the sheer enthusiasm of + users. This gives wxWidgets a certain advantage over its + commercial competitors (and over free libraries without an + independent development team), plus a robustness against the + transience of one individual or company. This openness and + availability of source code is especially important when the + future of thousands of lines of application code may depend upon + the longevity of the underlying class library. + + Version 2 goes much further than previous versions in terms of + generality and features, allowing applications to be produced + that are often indistinguishable from those produced using + single-platform toolkits such as Motif, GTK+ and MFC. + + The importance of using a platform-independent class library + cannot be overstated, since GUI application development is very + time-consuming, and sustained popularity of particular GUIs + cannot be guaranteed. Code can very quickly become obsolete if + it addresses the wrong platform or audience. wxWidgets helps to + insulate the programmer from these winds of change. Although + wxWidgets may not be suitable for every application (such as an + OLE-intensive program), it provides access to most of the + functionality a GUI program normally requires, plus many extras + such as network programming, PostScript output, and HTML + rendering; and it can of course be extended as needs dictate. + As a bonus, it provides a far cleaner and easier programming + interface than the native APIs. Programmers may find it + worthwhile to use wxWidgets even if they are developing on only + one platform. + + It is impossible to sum up the functionality of wxWidgets in a few paragraphs, but + here are some of the benefits: + + \begin{itemize}\itemsep=0pt + \item Low cost (free, in fact!) + \item You get the source. + \item Available on a variety of popular platforms. + \item Works with almost all popular C++ compilers and Python. + \item Over 70 example programs. + \item Over 1000 pages of printable and on-line documentation. + \item Simple-to-use, object-oriented API. + \item Flexible event system. + \item Graphics calls include lines, rounded rectangles, splines, polylines, etc. + \item Constraint-based and sizer-based layouts. + \item Print/preview and document/view architectures. + \item Toolbar, notebook, tree control, advanced list control classes. + \item PostScript generation under Unix, normal MS Windows printing on the PC. + \item MDI (Multiple Document Interface) support. + \item Can be used to create DLLs under Windows, dynamic libraries on Unix. + \item Common dialogs for file browsing, printing, colour selection, etc. + \item Under MS Windows, support for creating metafiles and copying + them to the clipboard. + \item An API for invoking help from applications. + \item Ready-to-use HTML window (supporting a subset of HTML). + \item Network support via a family of socket and protocol classes. + \item Support for platform independent image processing. + \item Built-in support for many file formats (BMP, PNG, JPEG, GIF, XPM, PNM, PCX). + \item Includes Tex2RTF, to allow you to produce your own documentation + in Windows Help, HTML and Word RTF formats. + \end{itemize} + + @section requirements wxWidgets requirements + + To make use of wxWidgets, you currently need one of the following setups. + + (a) MS-Windows: + + \begin{enumerate}\itemsep=0pt + \item A 32-bit or 64-bit PC running MS Windows. + \item A Windows compiler: MS Visual C++ (embedded Visual C++ for wxWinCE + port), Borland C++, Watcom C++, Cygwin, MinGW, Metrowerks CodeWarrior, + Digital Mars C++. See {\tt install.txt} for details about compiler + version supported. + \end{enumerate} + + (b) Unix: + + \begin{enumerate}\itemsep=0pt + \item Almost any C++ compiler, including GNU C++ and many Unix vendors + compilers such as Sun CC, HP-UX aCC or SGI mipsPro. + \item Almost any Unix workstation, and one of: GTK+ 2.4 or higher (GTK+ 1.2.10 + may still be supported but wxGTK1 port is not maintained any longer and lacks + many features of wxGTK2), Motif 1.2 or higher or Lesstif. If using the wxX11 + port, no such widget set is required. + \end{enumerate} + + (c) Mac OS/Mac OS X: + + \begin{enumerate}\itemsep=0pt + \item A PowerPC or Intel Mac running Mac OS X 10.3 or higher + \item The Apple Developer Tools (eg. GNU C++) or MetroWerks CodeWarrior (not + actively supported) + \end{enumerate} + + Under all platforms it's recommended to have large amounts of free hard disk + space. The exact amount needed depends on the port, compiler and build + configurations but to give an example, a debug build of the library may take up + to 500MB. + + @section where Availability and location of wxWidgets + + \winhelponly{wxWidgets is available by anonymous FTP and World Wide Web + from ftp://biolpc22.york.ac.uk/pub and/or http://www.wxwidgets.org.} + \winhelpignore{wxWidgets is available by anonymous FTP and World Wide Web + from \urlref{ftp://biolpc22.york.ac.uk/pub}{ftp://biolpc22.york.ac.uk/pub} + and/or \urlref{http://www.wxwidgets.org}{http://www.wxwidgets.org}.} + + You can also buy a CD-ROM using the form on the Web site. + + @section acknowledgements Acknowledgements + + The following is the list of the core, active developers of wxWidgets which keep + it running and have provided an invaluable, extensive and high-quality amount of + changes over the many of years of wxWidgets' life: + + \begin{description}\itemsep=0pt + \item Julian Smart + \item Vadim Zeitlin + \item Robert Roebling + \item Robin Dunn + \item Stefan Csomor + \item Vaclav Slavik + \item Paul Cornett + \item Wlodzimierz `ABX' Skiba + \item Chris Elliott + \item David Elliott + \item Kevin Hock + \item Stefan Neis + \item Michael Wetherell + \end{description} + + We would particularly like to thank the following peoples for their contributions + to wxWidgets, and the many others who have been involved in the project over the years. + Apologies for any unintentional omissions from this alphabetic list: + + Yiorgos Adamopoulos, Jamshid Afshar, Alejandro Aguilar-Sierra, AIAI, + Patrick Albert, Karsten Ballueder, Mattia Barbon, Michael Bedward, + Kai Bendorf, Yura Bidus, Keith Gary Boyce, Chris Breeze, Pete Britton, + Ian Brown, C. Buckley, Marco Cavallini, Dmitri Chubraev, Robin Corbet, Cecil Coupe, + Andrew Davison, Gilles Depeyrot, Neil Dudman, Hermann Dunkel, Jos van Eijndhoven, + Tom Felici, Thomas Fettig, Matthew Flatt, Pasquale Foggia, Josep Fortiana, Todd Fries, + Dominic Gallagher, Guillermo Rodriguez Garcia, Wolfram Gloger, Norbert Grotz, + Stefan Gunter, Bill Hale, Patrick Halke, Stefan Hammes, Guillaume Helle, + Harco de Hilster, Cord Hockemeyer, Markus Holzem, Olaf Klein, Leif Jensen, + Bart Jourquin, Guilhem Lavaux, Ron Lee, Jan Lessner, Nicholas Liebmann, + Torsten Liermann, Per Lindqvist, Francesco Montorsi, Thomas Runge, Tatu M\"{a}nnist\"{o}, + Scott Maxwell, Thomas Myers, Oliver Niedung, Ryan Norton, Hernan Otero, + Ian Perrigo, Timothy Peters, Giordano Pezzoli, Harri Pasanen, Thomaso Paoletti, + Garrett Potts, Marcel Rasche, Dino Scaringella, Jobst Schmalenbach, Arthur Seaton, + Paul Shirley, Stein Somers, Petr Smilauer, Neil Smith, Kari Syst\"{a}, George Tasker, + Arthur Tetzlaff-Deas, Jonathan Tonberg, Jyrki Tuomi, Janos Vegh, Andrea Venturoli, + David Webster, Otto Wyss, Xiaokun Zhu, Edward Zimmermann. + + Many thanks also to AIAI for being willing to release the original version of + wxWidgets into the public domain, and to our patient partners. + + `Graphplace', the basis for the wxGraphLayout library, is copyright Dr. Jos + T.J. van Eijndhoven of Eindhoven University of Technology. The code has + been used in wxGraphLayout (not in wxWidgets anymore) with his permission. + + We also acknowledge the author of XFIG, the excellent Unix drawing tool, + from the source of which we have borrowed some spline drawing code. + His copyright is included below. + + {\it XFig2.1 is copyright (c) 1985 by Supoj Sutanthavibul. Permission to + use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided + that the above copyright notice appear in all copies and that both that + copyright notice and this permission notice appear in supporting + documentation, and that the name of M.I.T. not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. M.I.T. makes no representations about the + suitability of this software for any purpose. It is provided ``as is'' + without express or implied warranty.} + +*/