About |
Participants |
Publication |
Format |
Style guide |
Titles |
Contents
August 2000: the 'wxBook' project is getting going again,
with a good response from potential contributors.
Robin Dunn has set up a wxBook mailing list.
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.
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.
Goals for the book:
- to allow users to become accomplished wxWindows developers rapidly;
- 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;
- to promote wxWindows to a wider audience;
- to make at least some money for the authors.
Audience: beginners + experienced wxWindows users, but with reasonable C++
knowledge.
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.
So far, the following people are interested in taking part in this project:
Others welcome! Please contact Julian Smart
if you would like to contribute.
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.
Possible formats:
- Word
- Abiword: possibly not developed enough yet, but
it can output Latex which would make conversion to Tex2RTF format quite simple
- Latex: favoured format so far. The LyX near-WYSIWYG word processor (Unix only) can output Latex.
See also NTTex
which uses EMACS as an editor. For an introduction to Latex, see here.
A free TeX for Windows: see MikTex. More TeX info: TUG.
- XML: hard to read/write
- SGML: ditto
- DocBook: don't have any information about this, but Linux Admin Made Easy
uses it.
- Structured text -
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.
- troff - favoured by O'Reilly
We should write a style and formatting guide.
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.
Suggestions for the main book:
- Multiplatform GUI development with wxWindows
- wxWindows: an open source multiplatform toolkit
- wxWindows: GUI development for Linux and other platforms
Other book titles that a publisher might be interested (but would be distinct projects):
- Writing GTK+ Application Using wxWindows
- Migrating MFC Apps to Linux Using wxWindows
The following is open to discussion.
- Chapter 01: Introduction to wxWindows: history, advocacy, future developments
- Chapter 02: Installing wxWindows (and what tools to use)
- 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.
- Chapter 04: Getting started: Hello World. Introduces app class, frames, menus, status bar, message box
- Chapter 05: Basic event handling
- Chapter 06: Frames and menubars. The components of a frame, menubars.
- Chapter 07: Toolbars and status bars
- Chapter 08: Basic controls
- Chapter 09: Common dialogs
- Chapter 10: Custom dialogs and resources (XML + WXR)
- Chapter 11: Drawing on device contexts
- Chapter 12: Handling input (mouse, keyboard, joystick)
- Chapter 14: Sizers
- Chapter 15: Images and bitmaps
- Chapter 16: Clipboard and drag and drop
- Chapter 17: Advanced controls (list,tree,notebook,splitter,wxWizard,wxCalCtrl...)
- Chapter 18: Document/view classes
- Chapter 19: Scrolling
- Chapter 20: MDI
- Chapter 21: Printing
- Chapter 22: Providing help in your applications
- Chapter 23: Strings and internationalization
- Chapter 24: Collection and container classes
- Chapter 25: Memory management and debugging (including wxLog)
- Chapter 26: Run-time class information
- Chapter 27: Advanced event handling (user-defined events, ...)
- Chapter 28: Communication classes, including wxSocket
- Chapter 29: Database classes
- Chapter 30: File and stream classes
- Chapter 31: Configuration classes
- Chapter 32: Time, timers and idle processing
- Chapter 33: Writing multithreading applications
- Chapter 34: Perfecting your UI (Adapting to system settings, accelerators, ...)
- Chapter 35: Platform-specific programming (metafiles, OLE automation, taskbar, ...)
- Chapter 36: Using wxHTML
- Chapter 37: Using wxPython
- Chapter 38: wxBase?
- Appendix: Comparison with other toolkits: MFC, Qt etc.