X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b8b0e4022e105e102b5c7044638972a3fef38dc1..3a4cf8a84d9a41c63125c1c1cdd6d0fbb98f41f0:/src/stc/scintilla/README.txt?ds=sidebyside diff --git a/src/stc/scintilla/README.txt b/src/stc/scintilla/README.txt index 98c4018245..6db6698805 100644 --- a/src/stc/scintilla/README.txt +++ b/src/stc/scintilla/README.txt @@ -1,7 +1,58 @@ This directory contains copies of the scintilla/src and -scintilla/include directories from the Scintilla/SCiTE source -distribution. All other code needed to implement Scintilla on top of -wxWindows is located in the directory above this one. +scintilla/include directories from the Scintilla source distribution. +All other code needed to implement Scintilla on top of wxWidgets is +located in the directory above this one. -The current version of the Scintilla code is 1.40 +The current version of the Scintilla code is 3.21 +These are the basic steps needed to update the version of Scintilla used by wxSTC. + +1. Copy include, lexers, lexlib and src folders to src/stc/scintilla + +2. Examine diffs between the new src/stc/scintilla/Scintilla.iface +file and the version in SVN. You should get familiar especially with +new method names or constants because some of them may need to be +tweaked to conform to similar naming patterns already used. (See step +#5 below.) + +3. Identify new source files and update build/bakefiles/scintilla.bkl +accordingly so the new files will get built. Use bakefile to +regenerate the makefiles and project files. + +4. Examine changes in src/stc/scintilla/include/Platform.h and +identify new or changed APIs that the wx "platform" will need to +provide to the rest of the Scintilla code. Implement those changes in +src/stc/PlatWX.cpp. You can use the win32 version of the platform +code from the Scintilla source tree as a guide if needed. You may +have to make a few tweaks to src/stc/scintilla/include/Platform.h to +keep the compile working cleanly, but try to keep them minimal. + +5. Edit the gen_iface.py file. This is where the Scintilla.iface file +is read and the code for stc.h and stc.cpp is generated. For all new +methods or constant names check if there are similarly named things +defined here that are having something special done to them, and then +do the same sort of thing for those new items. For example if there +is a new AutoCFoo method, I add the line in gen_iface.py that will +cause the AutoCompFoo name to be used instead. The same for any +methods dealing with "Fore" or "Back" colors, they are renamed to +Foreground and Background. If there is a new method that could be +considered a "command function" (something that takes no parameters +and could conceivably be bound to a key event) then I make sure that +it's ID is in cmdValues or included in one of the existing ranges in +that list. + +6. Run gen_iface.py. + +7. Any other new methods should be checked to ensure that the +generated code is appropriate for what they are doing and if not then +in gen_iface.py you can supply custom function bodies for them +instead. + +8. Add documentation code for any new methods to +interface/wx/stc/stc.h, also check any documentation-only changes from +Scintilla.iface and see if the existing docs for those items should be +updated too. + +9. Build and test. + +10. Submit patch to wxTrac.