mirror of
https://github.com/wxWidgets/Phoenix.git
synced 2026-01-04 19:10:09 +01:00
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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user