Merged the wxPy_newswig branch into the HEAD branch (main trunk)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24541 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
43
wxPython/SWIG/swig.python.patch.txt
Normal file
43
wxPython/SWIG/swig.python.patch.txt
Normal file
@@ -0,0 +1,43 @@
|
||||
This patch makes a number of changes to the SWIG python module.
|
||||
|
||||
1. Add -apply option, and change the default code output to use the
|
||||
foo(*args, **kw) calling syntax instead of using apply(). If the
|
||||
-apply option is given then code is generated as before. This is
|
||||
very similar to Patch #737281 but the new -modern option makes the
|
||||
second half of that patch unnecessary so it is not included here.
|
||||
|
||||
2. Add -new_repr option. This is the same as my Patch #797002 which I
|
||||
will mark as closed since it is no longer needed. When this new
|
||||
option is used then the __repr__ methods that are generated for
|
||||
proxy classes will be more informative and give details about the
|
||||
python class and the C++ class.
|
||||
|
||||
3. Add %feature("addtofunc"). It allows you to insert one or more
|
||||
lines of code inside the shadow method or function that is already
|
||||
generated, instead of replacing the whole thing like
|
||||
%feature("shadow") does. For __init__ it goes at the end, for
|
||||
__del__ it goes at the begining and for all others the code
|
||||
generated is expanded out to be like
|
||||
|
||||
def Bar(*args, **kwargs):
|
||||
val = _module.Foo_Bar(*args, **kwargs)
|
||||
return val
|
||||
|
||||
and the "addtofunc" code is inserted just before the return
|
||||
statement. If the feature is not used for a particular method or
|
||||
function then the shorter code is generated just like before.
|
||||
|
||||
4. A little bit of refactoring to make implementing addtofunc a little
|
||||
easier.
|
||||
|
||||
5. Added a -modern command-line flag that will cause SWIG to omit the
|
||||
cruft in the proxy modules that allows it to work with versions of
|
||||
Python prior to 2.2. The result is a simpler, cleaner and faster
|
||||
python proxy module, but one that requires Python 2.2 or greater.
|
||||
For most of us this requirement is easy to live with!
|
||||
|
||||
|
||||
I've been using and greatly benefiting from all these features with
|
||||
wxPython for the last few weeks and have had no problems.
|
||||
|
||||
This patch depends upon Patch #829317.
|
Reference in New Issue
Block a user