]> git.saurik.com Git - wxWidgets.git/blob - src/stc/scintilla/README.txt
Add missing WXK constants for the control keys
[wxWidgets.git] / src / stc / scintilla / README.txt
1 This directory contains copies of the scintilla/src and
2 scintilla/include directories from the Scintilla source distribution.
3 All other code needed to implement Scintilla on top of wxWidgets is
4 located in the directory above this one.
5
6 The current version of the Scintilla code is 3.21
7
8 These are the basic steps needed to update the version of Scintilla used by wxSTC.
9
10 1. Copy include, lexers, lexlib and src folders to src/stc/scintilla
11
12 2. Examine diffs between the new src/stc/scintilla/Scintilla.iface
13 file and the version in SVN. You should get familiar especially with
14 new method names or constants because some of them may need to be
15 tweaked to conform to similar naming patterns already used. (See step
16 #5 below.)
17
18 3. Identify new source files and update build/bakefiles/scintilla.bkl
19 accordingly so the new files will get built. Use bakefile to
20 regenerate the makefiles and project files.
21
22 4. Examine changes in src/stc/scintilla/include/Platform.h and
23 identify new or changed APIs that the wx "platform" will need to
24 provide to the rest of the Scintilla code. Implement those changes in
25 src/stc/PlatWX.cpp. You can use the win32 version of the platform
26 code from the Scintilla source tree as a guide if needed. You may
27 have to make a few tweaks to src/stc/scintilla/include/Platform.h to
28 keep the compile working cleanly, but try to keep them minimal.
29
30 5. Edit the gen_iface.py file. This is where the Scintilla.iface file
31 is read and the code for stc.h and stc.cpp is generated. For all new
32 methods or constant names check if there are similarly named things
33 defined here that are having something special done to them, and then
34 do the same sort of thing for those new items. For example if there
35 is a new AutoCFoo method, I add the line in gen_iface.py that will
36 cause the AutoCompFoo name to be used instead. The same for any
37 methods dealing with "Fore" or "Back" colors, they are renamed to
38 Foreground and Background. If there is a new method that could be
39 considered a "command function" (something that takes no parameters
40 and could conceivably be bound to a key event) then I make sure that
41 it's ID is in cmdValues or included in one of the existing ranges in
42 that list.
43
44 6. Run gen_iface.py.
45
46 7. Any other new methods should be checked to ensure that the
47 generated code is appropriate for what they are doing and if not then
48 in gen_iface.py you can supply custom function bodies for them
49 instead.
50
51 8. Add documentation code for any new methods to
52 interface/wx/stc/stc.h, also check any documentation-only changes from
53 Scintilla.iface and see if the existing docs for those items should be
54 updated too.
55
56 9. Build and test.
57
58 10. Submit patch to wxTrac.