enable setting the new sip %InstanceCode directive

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxPython/Phoenix/trunk@71996 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2012-07-10 05:15:47 +00:00
parent 1c190dc1b1
commit 0fa4a65870
2 changed files with 9 additions and 2 deletions

View File

@@ -610,6 +610,7 @@ class ClassDef(BaseDef):
self.convertToPyObject = None
self.convertFromPyObject = None
self.allowNone = False # Allow the convertFrom code to handle None too.
self.instanceCode = None # Code to be used to create new instances of this class
self.innerclasses = []
self.isInner = False
self.cppCtorCount = 0

View File

@@ -343,7 +343,7 @@ from .%s import *
if isinstance(pf.deprecated, int):
stream.write('%s@wx.deprecated\n' % indent)
else:
stream.write('%s@wx.deprecatedMsg(%s)\n' % (indent, pf.deprecated))
stream.write('%s@wx.deprecatedMsg("%s")\n' % (indent, pf.deprecated))
if pf.isStatic:
stream.write('%s@staticmethod\n' % indent)
stream.write('%sdef %s%s:\n' % (indent, pf.name, pf.argsString))
@@ -372,7 +372,7 @@ from .%s import *
if isinstance(pc.deprecated, int):
stream.write('%s@wx.deprecated\n' % indent)
else:
stream.write('%s@wx.deprecatedMsg(%s)\n' % (indent, pc.deprecated))
stream.write('%s@wx.deprecatedMsg("%s")\n' % (indent, pc.deprecated))
stream.write('%sclass %s' % (indent, pc.name))
if pc.bases:
stream.write('(%s):\n' % ', '.join(pc.bases))
@@ -441,6 +441,12 @@ from .%s import *
stream.write(nci(c, len(indent2)+4))
stream.write("%s%%End\n" % indent2)
# C++ code to create a new instance of this class
if klass.instanceCode:
stream.write("%s%%InstanceCode\n" % indent2)
stream.write(nci(klass.instanceCode, len(indent2)+4))
stream.write("%s%%End\n" % indent2)
# is the generator currently inside the class or after it?
klass.generatingInClass = True