added initial version of the Doxygen manual
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51901 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
239
docs/doxygen/introduction.h
Normal file
239
docs/doxygen/introduction.h
Normal file
@@ -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
|
||||
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
@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.}
|
||||
|
||||
*/
|
Reference in New Issue
Block a user