4 <TITLE>wxWindows Book
</TITLE>
7 <BODY BGCOLOR=#FFFFFF TEXT=#
000000 LINK=#FF0000 VLINK=#
000000>
9 <font face=
"Arial, Lucida Sans, Helvetica">
11 <table width=
100% border=
0 cellpadding=
5 cellspacing=
0>
13 <td bgcolor=
"#C4ECF9">
14 <font size=+
1 face=
"Arial, Lucida Sans, Helvetica" color=
"#000000">
24 <a href=
"#about">About
</a> |
25 <a href=
"#participants">Participants
</a> |
26 <a href=
"#publication">Publication
</a> |
27 <!-- <a href="#suggestions">Suggestions</a> | -->
28 <a href=
"#format">Format
</a> |
29 <a href=
"#style">Style guide
</a> |
30 <a href=
"#titles">Titles
</a> |
31 <a href=
"#contents">Contents
</a>
38 <H3><a name=
"about">About the wxWindows book
</a></H3>
40 August
2000: the 'wxBook' project is getting going again,
41 with a good response from potential contributors.
<P>
43 Robin Dunn has set up a
<a href=
"http://wxwindows.org/mailman/listinfo/wxbook">wxBook mailing list
</a>.
<P>
45 The book will comprise
30 or so chapters dealing with progressively
46 more advanced areas of wxWindows; each chapter will be as stand-alone as
47 possible. The book will
48 not include the API reference, though this could be a
49 separate project. The book will be accompanied by a CD-ROM with
50 wxWindows and its documentation. It will initially be
51 available on-line, and when enough is done we will look for a
54 There will also be a separate small booklet which can easily be printed
55 out and which gives an overview of wxWindows facilities by taking
56 the reader through a single worked example. Guillermo Rodriguez
57 Garcia has volunteered to write this, and will use his Life!
58 demo to illustrate it.
<P>
60 Goals for the book:
<P>
63 <li> to allow users to become accomplished wxWindows developers rapidly;
64 <li> to be useful over a longer period than just the first few weeks, since
65 there are a lot of complex areas to address and not all features will be
66 used up-front in a project;
67 <li> to promote wxWindows to a wider audience;
68 <li> to make at least some money for the authors.
73 Audience: beginners + experienced wxWindows users, but with reasonable C++
76 It is suggested that any financial return from the book be allocated on a points system,
77 with a predefined number of points for chapters, indexing, editing, proof-reading etc.
<P>
83 <H3><a name=
"participants">Participants
</a></H3>
85 So far, the following people are interested in taking part in this project:
<P>
88 <li><a href=
"mailto:julian.smart@ukonline.co.uk">Julian Smart
</a> -
89 editor and coordinator of the project; introductory chapter, some other
91 <li><a href=
"mailto:guille@iies.es">Guillermo Rodriguez Garcia
</a> - Separate tutorial booklet;
92 communication classes (wxSocket, wxXXXServer, some protocol stuff); timing and timers.
93 <li><a href=
"mailto:robin@alldunn.com">Robin Dunn
</a> - wxPython chapter.
95 <li><a href=
"mailto:zeitlin@dptmaths.ens-cachan.fr">Vadim Zeitlin
</a> - drag and drop, several other chapters.
96 <li><a href=
"mailto:roebling@uni-freiburg.de">Robert Roebling
</a> - not known.
97 <li><a href=
"mailto:slavik2@czn.cz">Vaclav Slavik
</a> - wxHTML section.
98 <li><a href=
"mailto:gtasker@fastpicsystems.com">George Tasker
</a> - database chapter.
99 <li><a href=
"mailto:moreno@mochima.com">Carlos Moreno
</a> - wxImage, wxBitmap.
100 <li><a href=
"mailto:Shiv@pspl.co.in">Shiv Shankar Ramakrishnan
</a> - wxWindows advocacy, convincing your manager,
101 container classes and strings, comparison with STL
102 <li><a href=
"mailto:markusneifer@my-Deja.com">Markus Neifer
</a> - user-defined events.
105 <li><a href="mailto:csomor@advancedconcepts.ch">Stefan Csomor</a>. The sequence of events i.e. which action provokes which event sequence,
106 this is implicit for the use on MSW, but very important for other systems; and porting to new platforms
109 <li><a href="mailto:tomr@scitechsoft.com">Tom Ryan</a>, SciTech Software.
112 <li><a href="mailto:karsten@phy.hw.ac.uk">Karsten Ballueder</a>. Short tutorials on some useful
113 GNU tools, like autoconf/configure/make, programming
117 <li><a href="mailto:mheck@www.surveyorcorp.com">Matt Heck</a>, SurveyorCorp Inc.
120 <li>a case study of how and why we've used wxWindows at Surveyor Corp., and
121 how it's worked out so far;
122 <li>an appendix something similar about how to use wxLIVID for video capture and display;
129 Others welcome! Please contact
<a href=
"mailto:julian.smart@ukonline.co.uk">Julian Smart
</a>
130 if you would like to contribute.
136 <H3><a name=
"publication">Publication
</a></H3>
138 We wll investigate publishers, especially O'Reilly. We will have to get together
139 several sample chapters to convince a publisher that the many-author approach will
143 Tom Ryan originally wrote:<P>
148 I just wanted to let you know that I have spoken with officials here
149 at California State University, Chico and they are potentially
150 interested in publishing a book on wxWindows! A wxWindows
151 book would give wxWindows a great deal of exposure.
153 These discussions came out of the fact that CSUC wanted to
154 switch from MFC to wxWindows in their GUI programming classes,
155 but there was not a book available for students to work with.
157 I was thinking that the first edition could be primarily the reference
158 documentation combined with a basic wxTutorial and examples. In
159 this case, it would be fairly straightforward to get something out
160 initially and then we could take it from there.
165 <a href="mailto:benles@powernet.net">Ben Allfree</a> has also expressed an interest
166 in publishing a wxWindows book, and distributing it via Amazon. Ben was thinking
167 in terms of a quickie job using the existing reference manual.<P>
169 Another publishing name to think of is O'Reilly. They would probably give us a lot
170 of guidance for style, formatting, etc.<P>
172 <a href="mailto:Roald.Ribe@winlink.no">Roald Ribe</a> writes:
173 "<a href="http://www.bruceeckel.com/javabook.html" target=_new>Thinking in Java</a>
174 is published both as a PDF for internet (by the author) and in print by Prentice Hall."<P>
184 <H3><a name="suggestions">Suggestions and comments</a></H3>
187 <li>Chapter on converting from MFC. (Julian Smart)
188 <li>A chapter on why some inconsistencies are almost always going to show up in a
189 multiplatform toolkit, how to avoid them, how to deal with when you have
190 no choice, and (if wxBook explains the internals or philosophy of
191 wxWindows at all) how wxWindows attempts to minimize the number we
192 encounter. (Matt Heck)
193 <li>Creating the shortest possible path to writing "Hello World" from scratch in wxWindows. (Matt Heck)
194 <li>How will royalties for subsequent editions be shared out? (Tom Ryan)
195 <li>"My personal feeling is that this project will wind up being developed
196 by a small team, led by an editor that will wind up doing about half
197 of the total amount of work." (Tom Ryan)
205 <H3><a name=
"format">File format
</a></H3>
211 <li><a href=
"http://www.abisource.com" target=_top
>Abiword
</a>: possibly not developed enough yet, but
212 it can output Latex which would make conversion to Tex2RTF format quite simple
213 <li>Latex: favoured format so far. The LyX near-WYSIWYG word processor (Unix only) can output Latex.
214 See also
<a href=
"http://www.esat.kuleuven.ac.be/~minten/NTTeXing/NTTeXing.html" target=_top
>NTTex
</a>
215 which uses EMACS as an editor. For an introduction to Latex, see
<a href=
"ftp://ftp.tex.ac.uk/tex-archive/info/lshort" target=_top
>here
</a>.
216 A free TeX for Windows: see
<a href=
"http://www.miktex.org/" target=_top
>MikTex
</a>. More TeX info:
<a href=
"http://www.tug.org/" target=_top
>TUG
</a>.
217 <li>XML: hard to read/write
219 <li>DocBook: don't have any information about this, but
<a href=
"http://www.LinuxNinja.com/linux-admin/" target=_top
>Linux Admin Made Easy
</a>
221 <li><a href=
"http://www.zope.org//Members/jim/StructuredTextWiki/StructuredTextNG" target=_top
>Structured text
</a> -
222 plain text with indentation and other elements to provide structure. The tools seem under-developed and there
223 doesn't seem to be a simple way of getting them without using the CVS Zope archive.
224 <li>troff - favoured by O'Reilly
231 <H3><a name=
"style">Style guide
</a></H3>
233 We should write a style and formatting guide.
<P>
239 <H3><a name=
"titles">Book Titles
</a></H3>
241 It would be good to include certain buzzwords such as Linux and open source, to get
242 a publisher's (and the potential reader's) attention. The trick is to do that and
243 not narrow the scope unduly.
<P>
245 Suggestions for the main book:
<P>
248 <li>Multiplatform GUI development with wxWindows
249 <li>wxWindows: an open source multiplatform toolkit
250 <li>wxWindows: GUI development for Linux and other platforms
254 Other book titles that a publisher might be interested (but would be distinct projects):
<P>
257 <li>Writing GTK+ Application Using wxWindows
258 <li>Migrating MFC Apps to Linux Using wxWindows
265 <H3><a name=
"contents">Contents
</a></H3>
267 The following is open to discussion.
<P>
270 <li>Chapter
01: Introduction to wxWindows: history, advocacy, future developments
271 <li>Chapter
02: Installing wxWindows (and what tools to use)
272 <li>Chapter
03: C++ and wxWindows. Summarises the sorts of constructs used/not used, plus wxString class,
273 some conventions. Vadim suggests putting it in
1st chapter but I think it deserves a chapter of its own.
274 <li>Chapter
04: Getting started: Hello World. Introduces app class, frames, menus, status bar, message box
275 <li>Chapter
05: Basic event handling
276 <li>Chapter
06: Frames and menubars. The components of a frame, menubars.
277 <li>Chapter
07: Toolbars and status bars
278 <li>Chapter
08: Basic controls
279 <li>Chapter
09: Common dialogs
280 <li>Chapter
10: Custom dialogs and resources (XML + WXR)
281 <li>Chapter
11: Drawing on device contexts
282 <li>Chapter
12: Handling input (mouse, keyboard, joystick)
283 <li>Chapter
14: Sizers
284 <li>Chapter
15: Images and bitmaps
285 <li>Chapter
16: Clipboard and drag and drop
286 <li>Chapter
17: Advanced controls (list,tree,notebook,splitter,wxWizard,wxCalCtrl...)
287 <li>Chapter
18: Document/view classes
288 <li>Chapter
19: Scrolling
290 <li>Chapter
21: Printing
291 <li>Chapter
22: Providing help in your applications
292 <li>Chapter
23: Strings and internationalization
293 <li>Chapter
24: Collection and container classes
294 <li>Chapter
25: Memory management and debugging (including wxLog)
295 <li>Chapter
26: Run-time class information
296 <li>Chapter
27: Advanced event handling (user-defined events, ...)
297 <li>Chapter
28: Communication classes, including wxSocket
298 <li>Chapter
29: Database classes
299 <li>Chapter
30: File and stream classes
300 <li>Chapter
31: Configuration classes
301 <li>Chapter
32: Time, timers and idle processing
302 <li>Chapter
33: Writing multithreading applications
303 <li>Chapter
34: Perfecting your UI (Adapting to system settings, accelerators, ...)
304 <li>Chapter
35: Platform-specific programming (metafiles, OLE automation, taskbar, ...)
305 <li>Chapter
36: Using wxHTML
306 <li>Chapter
37: Using wxPython
307 <li>Chapter
38: wxBase?
308 <li>Appendix: Comparison with other toolkits: MFC, Qt etc.