]>
Commit | Line | Data |
---|---|---|
bed9b806 JS |
1 | <HTML> |
2 | ||
3 | <HEAD> | |
4 | <TITLE>wxWindows Book</TITLE> | |
5 | </HEAD> | |
6 | ||
7 | <BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000> | |
8 | ||
9 | <font face="Arial, Lucida Sans, Helvetica"> | |
10 | ||
f6bcfd97 | 11 | <table width=100% border=0 cellpadding=5 cellspacing=0> |
bed9b806 | 12 | <tr> |
f6bcfd97 BP |
13 | <td bgcolor="#C4ECF9"> |
14 | <font size=+1 face="Arial, Lucida Sans, Helvetica" color="#000000"> | |
bed9b806 JS |
15 | wxWindows Book |
16 | </font> | |
17 | </td> | |
18 | </tr> | |
19 | </table> | |
20 | ||
21 | <P> | |
22 | ||
23 | <center> | |
24 | <a href="#about">About</a> | | |
25 | <a href="#participants">Participants</a> | | |
26 | <a href="#publication">Publication</a> | | |
9ec98f7c | 27 | <!-- <a href="#suggestions">Suggestions</a> | --> |
bed9b806 | 28 | <a href="#format">Format</a> | |
9ec98f7c JS |
29 | <a href="#style">Style guide</a> | |
30 | <a href="#titles">Titles</a> | | |
bed9b806 JS |
31 | <a href="#contents">Contents</a> |
32 | </center> | |
33 | ||
9ec98f7c | 34 | <p> |
bed9b806 | 35 | <hr> |
9ec98f7c | 36 | <p> |
bed9b806 JS |
37 | |
38 | <H3><a name="about">About the wxWindows book</a></H3> | |
39 | ||
9ec98f7c JS |
40 | August 2000: the 'wxBook' project is getting going again, |
41 | with a good response from potential contributors.<P> | |
42 | ||
43 | Robin Dunn has set up a <a href="http://wxwindows.org/mailman/listinfo/wxbook">wxBook mailing list</a>.<P> | |
44 | ||
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 | |
ad90972f JS |
48 | not include the API reference, though this could be a |
49 | separate project. The book will be accompanied by a CD-ROM with | |
9ec98f7c | 50 | wxWindows and its documentation. It will initially be |
ad90972f JS |
51 | available on-line, and when enough is done we will look for a |
52 | publisher.<P> | |
53 | ||
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> | |
bed9b806 JS |
59 | |
60 | Goals for the book:<P> | |
61 | ||
62 | <ol> | |
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. | |
69 | </ol> | |
70 | ||
71 | <P> | |
72 | ||
73 | Audience: beginners + experienced wxWindows users, but with reasonable C++ | |
74 | knowledge.<P> | |
75 | ||
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> | |
78 | ||
9ec98f7c | 79 | <p> |
bed9b806 | 80 | <hr> |
9ec98f7c | 81 | <p> |
bed9b806 JS |
82 | |
83 | <H3><a name="participants">Participants</a></H3> | |
84 | ||
85 | So far, the following people are interested in taking part in this project:<P> | |
86 | ||
87 | <ul> | |
ad90972f JS |
88 | <li><a href="mailto:julian.smart@ukonline.co.uk">Julian Smart</a> - |
89 | editor and coordinator of the project; introductory chapter, some other | |
90 | chapters. | |
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. | |
94 | </i> | |
9ec98f7c JS |
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. | |
ad90972f JS |
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. | |
103 | ||
104 | <!-- | |
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 | |
107 | --> | |
108 | <!-- | |
bed9b806 | 109 | <li><a href="mailto:tomr@scitechsoft.com">Tom Ryan</a>, SciTech Software. |
ad90972f JS |
110 | --> |
111 | <!-- | |
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 | |
114 | strategies, etc. | |
115 | --> | |
116 | <!-- | |
bed9b806 JS |
117 | <li><a href="mailto:mheck@www.surveyorcorp.com">Matt Heck</a>, SurveyorCorp Inc. |
118 | <i> | |
119 | <ol> | |
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; | |
123 | <li>proofreading | |
124 | </ol> | |
ad90972f | 125 | --> |
bed9b806 JS |
126 | </ul> |
127 | ||
9ec98f7c JS |
128 | <P> |
129 | Others welcome! Please contact <a href="mailto:julian.smart@ukonline.co.uk">Julian Smart</a> | |
130 | if you would like to contribute. | |
131 | ||
132 | <p> | |
bed9b806 | 133 | <hr> |
9ec98f7c | 134 | <p> |
bed9b806 JS |
135 | |
136 | <H3><a name="publication">Publication</a></H3> | |
137 | ||
2edb0bde | 138 | We will investigate publishers, especially O'Reilly. We will have to get together |
9ec98f7c JS |
139 | several sample chapters to convince a publisher that the many-author approach will |
140 | work.<P> | |
ad90972f JS |
141 | |
142 | <!-- | |
bed9b806 JS |
143 | Tom Ryan originally wrote:<P> |
144 | ||
145 | <PRE> | |
146 | Hi Guys, | |
147 | ||
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. | |
152 | ||
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. | |
156 | ||
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. | |
161 | </PRE> | |
162 | ||
163 | <p> | |
164 | ||
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> | |
168 | ||
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> | |
171 | ||
c7527e3f JS |
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> | |
bed9b806 | 175 | |
ad90972f | 176 | --> |
9ec98f7c JS |
177 | |
178 | <P> | |
bed9b806 | 179 | <hr> |
9ec98f7c JS |
180 | <P> |
181 | ||
182 | <!-- | |
bed9b806 JS |
183 | |
184 | <H3><a name="suggestions">Suggestions and comments</a></H3> | |
185 | ||
186 | <ul> | |
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) | |
198 | </ul> | |
199 | ||
9ec98f7c JS |
200 | <P> |
201 | <hr> | |
202 | <P> | |
203 | --> | |
204 | ||
205 | <H3><a name="format">File format</a></H3> | |
206 | ||
207 | Possible formats: | |
208 | ||
209 | <ul> | |
210 | <li>Word | |
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 | |
218 | <li>SGML: ditto | |
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> | |
220 | uses it. | |
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 | |
225 | </ul> | |
226 | ||
227 | <P> | |
bed9b806 | 228 | <hr> |
9ec98f7c | 229 | <P> |
bed9b806 | 230 | |
9ec98f7c | 231 | <H3><a name="style">Style guide</a></H3> |
bed9b806 | 232 | |
9ec98f7c | 233 | We should write a style and formatting guide.<P> |
bed9b806 | 234 | |
9ec98f7c | 235 | <P> |
bed9b806 | 236 | <hr> |
9ec98f7c JS |
237 | <P> |
238 | ||
239 | <H3><a name="titles">Book Titles</a></H3> | |
240 | ||
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> | |
244 | ||
245 | Suggestions for the main book:<P> | |
246 | ||
247 | <ul> | |
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 | |
251 | </ul> | |
252 | ||
253 | <P> | |
254 | Other book titles that a publisher might be interested (but would be distinct projects):<P> | |
255 | ||
256 | <ul> | |
257 | <li>Writing GTK+ Application Using wxWindows | |
258 | <li>Migrating MFC Apps to Linux Using wxWindows | |
259 | </ul> | |
260 | ||
261 | <P> | |
262 | <hr> | |
263 | <P> | |
bed9b806 JS |
264 | |
265 | <H3><a name="contents">Contents</a></H3> | |
266 | ||
9ec98f7c | 267 | The following is open to discussion.<P> |
bed9b806 | 268 | |
9ec98f7c JS |
269 | <ul> |
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 | |
289 | <li>Chapter 20: MDI | |
290 | <li>Chapter 21: Printing | |
291 | <li>Chapter 22: Providing help in your applications | |
292 | <li>Chapter 23: Strings and internationalization | |
6342bd1a JS |
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? | |
9ec98f7c JS |
308 | <li>Appendix: Comparison with other toolkits: MFC, Qt etc. |
309 | </ul> | |
bed9b806 JS |
310 | |
311 | </font> | |
312 | ||
313 | </BODY> | |
314 | ||
315 | </HTML> |