]>
Commit | Line | Data |
---|---|---|
9ce192d4 | 1 | This directory contains copies of the scintilla/src and |
9e96e16f RD |
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. | |
9ce192d4 | 5 | |
9b01abb8 | 6 | The current version of the Scintilla code is 3.21 |
591d01be | 7 | |
045517be RD |
8 | These are the basic steps needed to update the version of Scintilla used by wxSTC. |
9 | ||
9b01abb8 | 10 | 1. Copy include, lexers, lexlib and src folders to src/stc/scintilla |
045517be RD |
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. |