1 How to add a new sample to wxWidgets. 2 ===================================== 3 4To add a new sample "foo" under directory "samples/foo" you need to do 5the following: (note that all this applies also to demos: just replace 6samples/ with demos/ where needed). 7 81. Create the directory samples/foo locally and "cvs add" it. 9 102. "cvs add" the sample sources (usually based on minimal.cpp) as well. 11 12 Note that unless your sample requires something special you shouldn't 13 add foo.rc, foo.ico, ... any more, please just reuse the generic sample.* 14 files in the samples subdirectory. 15 163. Create the makefiles: 17 a) modify samples/samples.bkl (just copy an existing line) 18 b) create foo.bkl (sed 's/minimal/foo/g' minimal.bkl > foo.bkl is usually 19 enough, but you may need to add more <wx-lib> lines if your sample uses 20 anything not in the core lib) 21 c) generate the makefiles for your sample using bakefile. For this you 22 need to: 23 (i) install bakefile (see http://bakefile.sf.net/) 24 (ii) run bakefile_gen in build/bakefiles which will regenerate all 25 makefiles which are not up to date 26 27 You may also use "bakefile_gen -b ../../samples/foo/foo.bkl" to 28 regenerate only the makefiles for this sample (path must be relative!) 29 or even add a "-f<compiler>" to generate just the makefiles for the given 30 compiler (run 'bakefile --help' to get the list of possible values). 31 See Technote #16 for more information. 32 334. Modify configure.in Unix compilation: 34 a) if the sample should only be built if "wxUSE_FOO" is enabled, locate 35 the test for "wxUSE_FOO = yes" in configure.in and add a line 36 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS foo" under it 37 b) if it should be always built, locate the line "if test $wxUSE_GUI = yes" 38 near the end of configure.in and modify the assignment to 39 SAMPLES_SUBDIRS to include "foo" (put in alphabetical order) 40 41 After this, regenerate configure from configure.in 42 by running "autoconf" on a Unix system in the corresponding directory. 43 445. Add a short description of what the sample does and how does it work 45 to the "samples overview" section in the wxWidgets manual. That section 46 lives in docs/latex/wx/tsamples.tex; look at the descriptions for other 47 samples, if you are not familiar with LaTeX. 48 496. Add any non-standard sample's files to build/bakefiles/make_dist.mk (the 50 makefiles copies all bmp, cpp, h, ico, png, rc, xpm and makefiles by 51 default) and update distrib/scripts/manifests/{generic|makefile|vc|dmc 52 |wince}.rsp. 53 54=== EOF === 55 56Author: VZ 57Version: $Id: tn0001.txt 42992 2006-11-03 21:00:58Z VZ $ 58