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