]> git.saurik.com Git - wxWidgets.git/blobdiff - src/stc/scintilla/README.txt
Remove DoSetSizeHints() call from Create()
[wxWidgets.git] / src / stc / scintilla / README.txt
index 705fb99652fb1d97294509f999b005277d8ad695..6db6698805aae8f540f5f9f14721cee19ab96db3 100644 (file)
@@ -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 somewhere between 1.22
-and 1.23, (from their CVS.)
+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.