wxWidgets/docs/html/wxbook.htm
2002-06-07 20:15:28 +00:00

316 lines
11 KiB
HTML

<HTML>
<HEAD>
<TITLE>wxWindows Book</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
<font face="Arial, Lucida Sans, Helvetica">
<table width=100% border=0 cellpadding=5 cellspacing=0>
<tr>
<td bgcolor="#C4ECF9">
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#000000">
wxWindows Book
</font>
</td>
</tr>
</table>
<P>
<center>
<a href="#about">About</a> |
<a href="#participants">Participants</a> |
<a href="#publication">Publication</a> |
<!-- <a href="#suggestions">Suggestions</a> | -->
<a href="#format">Format</a> |
<a href="#style">Style guide</a> |
<a href="#titles">Titles</a> |
<a href="#contents">Contents</a>
</center>
<p>
<hr>
<p>
<H3><a name="about">About the wxWindows book</a></H3>
August 2000: the 'wxBook' project is getting going again,
with a good response from potential contributors.<P>
Robin Dunn has set up a <a href="http://wxwindows.org/mailman/listinfo/wxbook">wxBook mailing list</a>.<P>
The book will comprise 30 or so chapters dealing with progressively
more advanced areas of wxWindows; each chapter will be as stand-alone as
possible. The book will
not include the API reference, though this could be a
separate project. The book will be accompanied by a CD-ROM with
wxWindows and its documentation. It will initially be
available on-line, and when enough is done we will look for a
publisher.<P>
There will also be a separate small booklet which can easily be printed
out and which gives an overview of wxWindows facilities by taking
the reader through a single worked example. Guillermo Rodriguez
Garcia has volunteered to write this, and will use his Life!
demo to illustrate it.<P>
Goals for the book:<P>
<ol>
<li> to allow users to become accomplished wxWindows developers rapidly;
<li> to be useful over a longer period than just the first few weeks, since
there are a lot of complex areas to address and not all features will be
used up-front in a project;
<li> to promote wxWindows to a wider audience;
<li> to make at least some money for the authors.
</ol>
<P>
Audience: beginners + experienced wxWindows users, but with reasonable C++
knowledge.<P>
It is suggested that any financial return from the book be allocated on a points system,
with a predefined number of points for chapters, indexing, editing, proof-reading etc.<P>
<p>
<hr>
<p>
<H3><a name="participants">Participants</a></H3>
So far, the following people are interested in taking part in this project:<P>
<ul>
<li><a href="mailto:julian.smart@ukonline.co.uk">Julian Smart</a> -
editor and coordinator of the project; introductory chapter, some other
chapters.
<li><a href="mailto:guille@iies.es">Guillermo Rodriguez Garcia</a> - Separate tutorial booklet;
communication classes (wxSocket, wxXXXServer, some protocol stuff); timing and timers.
<li><a href="mailto:robin@alldunn.com">Robin Dunn</a> - wxPython chapter.
</i>
<li><a href="mailto:zeitlin@dptmaths.ens-cachan.fr">Vadim Zeitlin</a> - drag and drop, several other chapters.
<li><a href="mailto:roebling@uni-freiburg.de">Robert Roebling</a> - not known.
<li><a href="mailto:slavik2@czn.cz">Vaclav Slavik</a> - wxHTML section.
<li><a href="mailto:gtasker@fastpicsystems.com">George Tasker</a> - database chapter.
<li><a href="mailto:moreno@mochima.com">Carlos Moreno</a> - wxImage, wxBitmap.
<li><a href="mailto:Shiv@pspl.co.in">Shiv Shankar Ramakrishnan</a> - wxWindows advocacy, convincing your manager,
container classes and strings, comparison with STL
<li><a href="mailto:markusneifer@my-Deja.com">Markus Neifer</a> - user-defined events.
<!--
<li><a href="mailto:csomor@advancedconcepts.ch">Stefan Csomor</a>. The sequence of events i.e. which action provokes which event sequence,
this is implicit for the use on MSW, but very important for other systems; and porting to new platforms
-->
<!--
<li><a href="mailto:tomr@scitechsoft.com">Tom Ryan</a>, SciTech Software.
-->
<!--
<li><a href="mailto:karsten@phy.hw.ac.uk">Karsten Ballueder</a>. Short tutorials on some useful
GNU tools, like autoconf/configure/make, programming
strategies, etc.
-->
<!--
<li><a href="mailto:mheck@www.surveyorcorp.com">Matt Heck</a>, SurveyorCorp Inc.
<i>
<ol>
<li>a case study of how and why we've used wxWindows at Surveyor Corp., and
how it's worked out so far;
<li>an appendix something similar about how to use wxLIVID for video capture and display;
<li>proofreading
</ol>
-->
</ul>
<P>
Others welcome! Please contact <a href="mailto:julian.smart@ukonline.co.uk">Julian Smart</a>
if you would like to contribute.
<p>
<hr>
<p>
<H3><a name="publication">Publication</a></H3>
We will investigate publishers, especially O'Reilly. We will have to get together
several sample chapters to convince a publisher that the many-author approach will
work.<P>
<!--
Tom Ryan originally wrote:<P>
<PRE>
Hi Guys,
I just wanted to let you know that I have spoken with officials here
at California State University, Chico and they are potentially
interested in publishing a book on wxWindows! A wxWindows
book would give wxWindows a great deal of exposure.
These discussions came out of the fact that CSUC wanted to
switch from MFC to wxWindows in their GUI programming classes,
but there was not a book available for students to work with.
I was thinking that the first edition could be primarily the reference
documentation combined with a basic wxTutorial and examples. In
this case, it would be fairly straightforward to get something out
initially and then we could take it from there.
</PRE>
<p>
<a href="mailto:benles@powernet.net">Ben Allfree</a> has also expressed an interest
in publishing a wxWindows book, and distributing it via Amazon. Ben was thinking
in terms of a quickie job using the existing reference manual.<P>
Another publishing name to think of is O'Reilly. They would probably give us a lot
of guidance for style, formatting, etc.<P>
<a href="mailto:Roald.Ribe@winlink.no">Roald Ribe</a> writes:
"<a href="http://www.bruceeckel.com/javabook.html" target=_new>Thinking in Java</a>
is published both as a PDF for internet (by the author) and in print by Prentice Hall."<P>
-->
<P>
<hr>
<P>
<!--
<H3><a name="suggestions">Suggestions and comments</a></H3>
<ul>
<li>Chapter on converting from MFC. (Julian Smart)
<li>A chapter on why some inconsistencies are almost always going to show up in a
multiplatform toolkit, how to avoid them, how to deal with when you have
no choice, and (if wxBook explains the internals or philosophy of
wxWindows at all) how wxWindows attempts to minimize the number we
encounter. (Matt Heck)
<li>Creating the shortest possible path to writing "Hello World" from scratch in wxWindows. (Matt Heck)
<li>How will royalties for subsequent editions be shared out? (Tom Ryan)
<li>"My personal feeling is that this project will wind up being developed
by a small team, led by an editor that will wind up doing about half
of the total amount of work." (Tom Ryan)
</ul>
<P>
<hr>
<P>
-->
<H3><a name="format">File format</a></H3>
Possible formats:
<ul>
<li>Word
<li><a href="http://www.abisource.com" target=_top>Abiword</a>: possibly not developed enough yet, but
it can output Latex which would make conversion to Tex2RTF format quite simple
<li>Latex: favoured format so far. The LyX near-WYSIWYG word processor (Unix only) can output Latex.
See also <a href="http://www.esat.kuleuven.ac.be/~minten/NTTeXing/NTTeXing.html" target=_top>NTTex</a>
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>.
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>.
<li>XML: hard to read/write
<li>SGML: ditto
<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>
uses it.
<li><a href="http://www.zope.org//Members/jim/StructuredTextWiki/StructuredTextNG" target=_top>Structured text</a> -
plain text with indentation and other elements to provide structure. The tools seem under-developed and there
doesn't seem to be a simple way of getting them without using the CVS Zope archive.
<li>troff - favoured by O'Reilly
</ul>
<P>
<hr>
<P>
<H3><a name="style">Style guide</a></H3>
We should write a style and formatting guide.<P>
<P>
<hr>
<P>
<H3><a name="titles">Book Titles</a></H3>
It would be good to include certain buzzwords such as Linux and open source, to get
a publisher's (and the potential reader's) attention. The trick is to do that and
not narrow the scope unduly.<P>
Suggestions for the main book:<P>
<ul>
<li>Multiplatform GUI development with wxWindows
<li>wxWindows: an open source multiplatform toolkit
<li>wxWindows: GUI development for Linux and other platforms
</ul>
<P>
Other book titles that a publisher might be interested (but would be distinct projects):<P>
<ul>
<li>Writing GTK+ Application Using wxWindows
<li>Migrating MFC Apps to Linux Using wxWindows
</ul>
<P>
<hr>
<P>
<H3><a name="contents">Contents</a></H3>
The following is open to discussion.<P>
<ul>
<li>Chapter 01: Introduction to wxWindows: history, advocacy, future developments
<li>Chapter 02: Installing wxWindows (and what tools to use)
<li>Chapter 03: C++ and wxWindows. Summarises the sorts of constructs used/not used, plus wxString class,
some conventions. Vadim suggests putting it in 1st chapter but I think it deserves a chapter of its own.
<li>Chapter 04: Getting started: Hello World. Introduces app class, frames, menus, status bar, message box
<li>Chapter 05: Basic event handling
<li>Chapter 06: Frames and menubars. The components of a frame, menubars.
<li>Chapter 07: Toolbars and status bars
<li>Chapter 08: Basic controls
<li>Chapter 09: Common dialogs
<li>Chapter 10: Custom dialogs and resources (XML + WXR)
<li>Chapter 11: Drawing on device contexts
<li>Chapter 12: Handling input (mouse, keyboard, joystick)
<li>Chapter 14: Sizers
<li>Chapter 15: Images and bitmaps
<li>Chapter 16: Clipboard and drag and drop
<li>Chapter 17: Advanced controls (list,tree,notebook,splitter,wxWizard,wxCalCtrl...)
<li>Chapter 18: Document/view classes
<li>Chapter 19: Scrolling
<li>Chapter 20: MDI
<li>Chapter 21: Printing
<li>Chapter 22: Providing help in your applications
<li>Chapter 23: Strings and internationalization
<li>Chapter 24: Collection and container classes
<li>Chapter 25: Memory management and debugging (including wxLog)
<li>Chapter 26: Run-time class information
<li>Chapter 27: Advanced event handling (user-defined events, ...)
<li>Chapter 28: Communication classes, including wxSocket
<li>Chapter 29: Database classes
<li>Chapter 30: File and stream classes
<li>Chapter 31: Configuration classes
<li>Chapter 32: Time, timers and idle processing
<li>Chapter 33: Writing multithreading applications
<li>Chapter 34: Perfecting your UI (Adapting to system settings, accelerators, ...)
<li>Chapter 35: Platform-specific programming (metafiles, OLE automation, taskbar, ...)
<li>Chapter 36: Using wxHTML
<li>Chapter 37: Using wxPython
<li>Chapter 38: wxBase?
<li>Appendix: Comparison with other toolkits: MFC, Qt etc.
</ul>
</font>
</BODY>
</HTML>