]> git.saurik.com Git - wxWidgets.git/blame - docs/doxygen/introduction.h
added wxWidgets samples
[wxWidgets.git] / docs / doxygen / introduction.h
CommitLineData
15b6757b
FM
1/////////////////////////////////////////////////////////////////////////////
2// Name: introduction.h
3// Purpose: Introduction page of the Doxygen manual
4// Author: wxWidgets team
5// RCS-ID: $Id$
6// Licence: wxWindows license
7/////////////////////////////////////////////////////////////////////////////
8
9
10/*!
11
12 @page introduction_page Introduction
13
14 @li @ref whatis
15 @li @ref why
16 @li @ref requirements
17 @li @ref where
18 @li @ref acknowledgements
19
20
21 <hr>
22
23
24 @section whatis What is wxWidgets?
36c9828f 25
15b6757b
FM
26 wxWidgets is a C++ framework providing GUI (Graphical User
27 Interface) and other facilities on more than one platform. Version 2 and higher
28 currently support all desktop versions of MS Windows, Unix with GTK+ 1.x or 2.x,
29 Unix with Motif, Unix with just X11, Unix with DirectFB, Mac OS X, OS/2.
36c9828f 30
15b6757b
FM
31 wxWidgets was originally developed at the Artificial Intelligence
32 Applications Institute, University of Edinburgh, for internal use,
33 and was first made publicly available in 1992.
34 Version 2 is a vastly improved version written and maintained by
35 Julian Smart, Robert Roebling, Vadim Zeitlin, Vaclav Slavik and many others.
36c9828f 36
15b6757b 37 This manual contains a class reference and topic overviews.
25c4a27c
FM
38 For a selection of wxWidgets tutorials, please see the documentation page
39 on the wxWidgets web site: http://www.wxwidgets.org.
36c9828f 40
15b6757b
FM
41 Please note that in the following, ``MS Windows" often refers to all
42 platforms related to Microsoft Windows, including 32-bit and 64-bit
43 variants, unless otherwise stated. All trademarks are acknowledged.
36c9828f 44
15b6757b 45 @section why Why another cross-platform development tool?
36c9828f 46
15b6757b
FM
47 wxWidgets was developed to provide a cheap and flexible way to maximize
48 investment in GUI application development. While a number of commercial
49 class libraries already existed for cross-platform development,
50 none met all of the following criteria:
36c9828f 51
25c4a27c
FM
52 @li low price;
53 @li source availability;
54 @li simplicity of programming;
55 @li support for a wide range of compilers.
36c9828f 56
15b6757b
FM
57 Since wxWidgets was started, several other free or almost-free
58 GUI frameworks have emerged. However, none has the range of
59 features, flexibility, documentation and the well-established
60 development team that wxWidgets has.
36c9828f 61
15b6757b
FM
62 As open source software, wxWidgets has benefited from comments,
63 ideas, bug fixes, enhancements and the sheer enthusiasm of
64 users. This gives wxWidgets a certain advantage over its
65 commercial competitors (and over free libraries without an
66 independent development team), plus a robustness against the
67 transience of one individual or company. This openness and
68 availability of source code is especially important when the
69 future of thousands of lines of application code may depend upon
70 the longevity of the underlying class library.
36c9828f 71
15b6757b
FM
72 Version 2 goes much further than previous versions in terms of
73 generality and features, allowing applications to be produced
74 that are often indistinguishable from those produced using
75 single-platform toolkits such as Motif, GTK+ and MFC.
36c9828f 76
15b6757b
FM
77 The importance of using a platform-independent class library
78 cannot be overstated, since GUI application development is very
79 time-consuming, and sustained popularity of particular GUIs
80 cannot be guaranteed. Code can very quickly become obsolete if
81 it addresses the wrong platform or audience. wxWidgets helps to
82 insulate the programmer from these winds of change. Although
83 wxWidgets may not be suitable for every application (such as an
84 OLE-intensive program), it provides access to most of the
85 functionality a GUI program normally requires, plus many extras
86 such as network programming, PostScript output, and HTML
87 rendering; and it can of course be extended as needs dictate.
88 As a bonus, it provides a far cleaner and easier programming
89 interface than the native APIs. Programmers may find it
90 worthwhile to use wxWidgets even if they are developing on only
91 one platform.
36c9828f 92
15b6757b
FM
93 It is impossible to sum up the functionality of wxWidgets in a few paragraphs, but
94 here are some of the benefits:
36c9828f 95
25c4a27c
FM
96 @li Low cost (free, in fact!)
97 @li You get the source.
98 @li Available on a variety of popular platforms.
99 @li Works with almost all popular C++ compilers and Python.
100 @li Over 70 example programs.
101 @li Over 1000 pages of printable and on-line documentation.
102 @li Simple-to-use, object-oriented API.
103 @li Flexible event system.
104 @li Graphics calls include lines, rounded rectangles, splines, polylines, etc.
105 @li Constraint-based and sizer-based layouts.
106 @li Print/preview and document/view architectures.
107 @li Toolbar, notebook, tree control, advanced list control classes.
108 @li PostScript generation under Unix, normal MS Windows printing on the PC.
109 @li MDI (Multiple Document Interface) support.
110 @li Can be used to create DLLs under Windows, dynamic libraries on Unix.
111 @li Common dialogs for file browsing, printing, colour selection, etc.
112 @li Under MS Windows, support for creating metafiles and copying them to the clipboard.
113 @li An API for invoking help from applications.
114 @li Ready-to-use HTML window (supporting a subset of HTML).
115 @li Network support via a family of socket and protocol classes.
116 @li Support for platform independent image processing.
117 @li Built-in support for many file formats (BMP, PNG, JPEG, GIF, XPM, PNM, PCX).
118 @li Includes Tex2RTF, to allow you to produce your own documentation
119 in Windows Help, HTML and Word RTF formats.
120
121
36c9828f 122
15b6757b 123 @section requirements wxWidgets requirements
36c9828f 124
15b6757b 125 To make use of wxWidgets, you currently need one of the following setups.
36c9828f 126
15b6757b 127 (a) MS-Windows:
36c9828f 128
25c4a27c
FM
129 @li A 32-bit or 64-bit PC running MS Windows.
130 @li A Windows compiler: MS Visual C++ (embedded Visual C++ for wxWinCE
131 port), Borland C++, Watcom C++, Cygwin, MinGW, Metrowerks CodeWarrior,
132 Digital Mars C++. See @c install.txt for details about compiler
133 version supported.
36c9828f 134
15b6757b 135 (b) Unix:
36c9828f 136
25c4a27c
FM
137 @li Almost any C++ compiler, including GNU C++ and many Unix vendors
138 compilers such as Sun CC, HP-UX aCC or SGI mipsPro.
139 @li Almost any Unix workstation, and one of: GTK+ 2.4 or higher (GTK+ 1.2.10
140 may still be supported but wxGTK1 port is not maintained any longer and lacks
141 many features of wxGTK2), Motif 1.2 or higher or Lesstif. If using the wxX11
142 port, no such widget set is required.
36c9828f 143
15b6757b 144 (c) Mac OS/Mac OS X:
36c9828f 145
25c4a27c
FM
146 @li A PowerPC or Intel Mac running Mac OS X 10.3 or higher
147 @li The Apple Developer Tools (eg. GNU C++) or MetroWerks CodeWarrior (not
148 actively supported)
36c9828f 149
15b6757b
FM
150 Under all platforms it's recommended to have large amounts of free hard disk
151 space. The exact amount needed depends on the port, compiler and build
152 configurations but to give an example, a debug build of the library may take up
153 to 500MB.
36c9828f 154
25c4a27c
FM
155
156
15b6757b 157 @section where Availability and location of wxWidgets
36c9828f 158
25c4a27c
FM
159 wxWidgets is available by anonymous FTP and World Wide Web
160 from ftp://biolpc22.york.ac.uk/pub and/or http://www.wxwidgets.org.
36c9828f 161
15b6757b 162 You can also buy a CD-ROM using the form on the Web site.
36c9828f 163
25c4a27c
FM
164
165
15b6757b 166 @section acknowledgements Acknowledgements
36c9828f 167
15b6757b
FM
168 The following is the list of the core, active developers of wxWidgets which keep
169 it running and have provided an invaluable, extensive and high-quality amount of
170 changes over the many of years of wxWidgets' life:
36c9828f 171
25c4a27c
FM
172 @li Julian Smart
173 @li Vadim Zeitlin
174 @li Robert Roebling
175 @li Robin Dunn
176 @li Stefan Csomor
177 @li Vaclav Slavik
178 @li Paul Cornett
179 @li Wlodzimierz `ABX' Skiba
180 @li Chris Elliott
181 @li David Elliott
182 @li Kevin Hock
183 @li Stefan Neis
184 @li Michael Wetherell
36c9828f
FM
185
186 We would particularly like to thank the following peoples for their contributions
187 to wxWidgets, and the many others who have been involved in the project over the years.
15b6757b 188 Apologies for any unintentional omissions from this alphabetic list:
36c9828f
FM
189
190 Yiorgos Adamopoulos, Jamshid Afshar, Alejandro Aguilar-Sierra, AIAI,
191 Patrick Albert, Karsten Ballueder, Mattia Barbon, Michael Bedward,
192 Kai Bendorf, Yura Bidus, Keith Gary Boyce, Chris Breeze, Pete Britton,
193 Ian Brown, C. Buckley, Marco Cavallini, Dmitri Chubraev, Robin Corbet, Cecil Coupe,
194 Andrew Davison, Gilles Depeyrot, Neil Dudman, Hermann Dunkel, Jos van Eijndhoven,
195 Tom Felici, Thomas Fettig, Matthew Flatt, Pasquale Foggia, Josep Fortiana, Todd Fries,
196 Dominic Gallagher, Guillermo Rodriguez Garcia, Wolfram Gloger, Norbert Grotz,
197 Stefan Gunter, Bill Hale, Patrick Halke, Stefan Hammes, Guillaume Helle,
198 Harco de Hilster, Cord Hockemeyer, Markus Holzem, Olaf Klein, Leif Jensen,
199 Bart Jourquin, Guilhem Lavaux, Ron Lee, Jan Lessner, Nicholas Liebmann,
25c4a27c 200 Torsten Liermann, Per Lindqvist, Francesco Montorsi, Thomas Runge, Tatu M&auml;nnist&ouml;,
36c9828f
FM
201 Scott Maxwell, Thomas Myers, Oliver Niedung, Ryan Norton, Hernan Otero,
202 Ian Perrigo, Timothy Peters, Giordano Pezzoli, Harri Pasanen, Thomaso Paoletti,
203 Garrett Potts, Marcel Rasche, Dino Scaringella, Jobst Schmalenbach, Arthur Seaton,
25c4a27c 204 Paul Shirley, Stein Somers, Petr Smilauer, Neil Smith, Kari Syst&auml;, George Tasker,
36c9828f 205 Arthur Tetzlaff-Deas, Jonathan Tonberg, Jyrki Tuomi, Janos Vegh, Andrea Venturoli,
15b6757b 206 David Webster, Otto Wyss, Xiaokun Zhu, Edward Zimmermann.
36c9828f 207
15b6757b
FM
208 Many thanks also to AIAI for being willing to release the original version of
209 wxWidgets into the public domain, and to our patient partners.
36c9828f 210
15b6757b
FM
211 `Graphplace', the basis for the wxGraphLayout library, is copyright Dr. Jos
212 T.J. van Eijndhoven of Eindhoven University of Technology. The code has
213 been used in wxGraphLayout (not in wxWidgets anymore) with his permission.
36c9828f 214
15b6757b
FM
215 We also acknowledge the author of XFIG, the excellent Unix drawing tool,
216 from the source of which we have borrowed some spline drawing code.
217 His copyright is included below.
36c9828f 218
25c4a27c
FM
219 <em>
220 XFig2.1 is copyright (c) 1985 by Supoj Sutanthavibul. Permission to
15b6757b
FM
221 use, copy, modify, distribute, and sell this software and its
222 documentation for any purpose is hereby granted without fee, provided
223 that the above copyright notice appear in all copies and that both that
224 copyright notice and this permission notice appear in supporting
225 documentation, and that the name of M.I.T. not be used in advertising or
226 publicity pertaining to distribution of the software without specific,
227 written prior permission. M.I.T. makes no representations about the
228 suitability of this software for any purpose. It is provided ``as is''
25c4a27c
FM
229 without express or implied warranty.
230 </em>
36c9828f 231
15b6757b 232*/