From 0e6e5980996ccd23901379ff272b067261ff1e7e Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Sun, 23 Dec 2012 03:08:03 +0000 Subject: [PATCH] Support isStatic for PyMethods git-svn-id: https://svn.wxwidgets.org/svn/wx/wxPython/Phoenix/trunk@73261 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- etgtools/pi_generator.py | 2 ++ etgtools/sip_generator.py | 17 +++++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/etgtools/pi_generator.py b/etgtools/pi_generator.py index cbe4b1c1..acbf1731 100644 --- a/etgtools/pi_generator.py +++ b/etgtools/pi_generator.py @@ -508,6 +508,8 @@ class PiWrapperGenerator(generators.WrapperGeneratorBase, FixWxPrefix): assert isinstance(pm, extractors.PyMethodDef) if pm.ignored: return + if pm.isStatic: + stream.write('\n%s@staticmethod' % indent) stream.write('\n%sdef %s' % (indent, pm.name)) stream.write(pm.argsString) stream.write(':\n') diff --git a/etgtools/sip_generator.py b/etgtools/sip_generator.py index 27dbabfa..3e68364c 100644 --- a/etgtools/sip_generator.py +++ b/etgtools/sip_generator.py @@ -892,13 +892,18 @@ from .%s import * pm.pyDocstring = doc stream.write(nci('"""\n%s"""\n' % doc, 4)) stream.write(nci(pm.body, 4)) + stream.write('%s.%s = ' % (klassName, pm.name)) + end = '\n' + if pm.isStatic: + stream.write('staticmethod(') + end = ')' + end if pm.deprecated: - if isinstance(pm.deprecated, int): - stream.write('%s.%s = wx.deprecated(_%s_%s)\n' % (klassName, pm.name, klassName, pm.name)) - else: - stream.write('%s.%s = wx.deprecated(_%s_%s, "%s")\n' % (klassName, pm.name, klassName, pm.name, pm.deprecated)) - else: - stream.write('%s.%s = _%s_%s\n' % (klassName, pm.name, klassName, pm.name)) + stream.write('wx.deprecated(') + end = ')' + end + stream.write('_%s_%s' % (klassName, pm.name)) + if pm.deprecated and not isinstance(pm.deprecated, int): + stream.write(', "%s"' % pm.deprecated) + stream.write(end) stream.write('del _%s_%s\n' % (klassName, pm.name)) stream.write('%End\n\n')