1                     Adding a wxWidgets contribution
2                     ===============================
3
4Here are some different kinds of contribution:
5
61. Bug fixes. You can send these to the wx-dev list.
72. New classes. New classes normally go in the contrib hierarchy:
8   please see below for more details. They may be promoted to
9   the main wxWidgets hierarchy if they are deemed to be 'core'.
103. A utility application, such as a new dialog editor or
11   file format conversion utility. If adding to the CVS
12   archive, you may put it under the utils hierarchy,
13   preferably with further src and docs directories.
14
15You may or may not wish to add your code to the main wxWidgets CVS
16archive. Whether your code is appropriate for this archive
17should first be ascertained by discussing it on wx-dev@wxwidgets.org.
18
19The contrib hierarchy
20---------------------
21
22When contributing a new class or set of classes, please
23organise your files in the following hierarchy, so that
24when a user unarchives your contribution, it
25slots neatly into the existing source hierarchy.
26It also simplifies compilation for users, since wxWidgets
27makefiles and project files are set up to search in
28contrib/include/wx and contrib/lib. For example, to
29include yourclass.h, the following directive is used:
30
31#include "wx/yourclass/yourclass.h"
32
33Here are the directories:
34
35contrib/include/wx/yourclass/           ; Your header(s) go here
36contrib/src/yourclass/                  ; Your source file(s) go here
37contrib/samples/yourclass/              ; Your sample(s) go here
38contrib/docs/latex/yourclass/           ; Your Latex doc sources go here
39contrib/docs/html/yourclass/            ; Your HTML doc files go here
40contrib/docs/htmlhelp/yourclass/        ; Your MS HTML Help doc files go here
41contrib/docs/htb/yourclass/             ; Your wxHTML doc files go here
42contrib/docs/pdf/yourclass/             ; Your PDF doc files go here
43contrib/docs/winhelp/yourclass/         ; Your WinHelp doc files go here
44contrib/build/yourclass/                ; Your makefiles
45
46It is recommended that you produce a manual using Tex2RTF, as specified
47in Technical Note TN0003. This allows you to output all the above
48formats, though for PDF you will need Latex and Ghostscript or
49Word and Adobe Acrobat, and for MS HTML Help and WinHelp you need
50the appropriate (freely available) help compilers.
51
52Your binary library files can go in the main lib directory or contrib/lib,
53but the main lib directory is recommended.
54
55Please include a readme.txt in your source directory, and conform
56as much as possible to the coding guidelines specified on the web
57site in the 'Backroom' section. Include bakefile and generated makefiles
58(see Technote #16 for details).
59
60Your archive can be in .tgz or .zip format. For inclusion on
61the wxWidgets ftp site and CD-ROM, please send your submission to
62Julian Smart <julian@wxwidgets.org> as a binary attachment.
63An entry will be added to the Contributions web page.
64
65Author:  Julian Smart
66Version: $Id: tn0005.txt 27404 2004-05-23 14:56:36Z JS $
67
68