diff --git a/etgtools/extractors.py b/etgtools/extractors.py index 12e538d5..eb2d1b01 100644 --- a/etgtools/extractors.py +++ b/etgtools/extractors.py @@ -205,6 +205,7 @@ class TypedefDef(VariableDef): self.noTypeName = False self.docAsClass = False self.bases = [] + self.protection = 'public' self.__dict__.update(**kw) if element is not None: self.extract(element) @@ -725,8 +726,8 @@ class ClassDef(BaseDef): e = EnumDef(node, [self]) self.items.append(e) elif kind == 'typedef': - # callback function prototype, see wx/filedlg.h for an instance of this - continue + t = TypedefDef(node) + self.items.append(t) elif kind == 'friend': continue else: diff --git a/etgtools/pi_generator.py b/etgtools/pi_generator.py index 61831940..ca1f124a 100644 --- a/etgtools/pi_generator.py +++ b/etgtools/pi_generator.py @@ -390,6 +390,7 @@ class PiWrapperGenerator(generators.WrapperGeneratorBase, FixWxPrefix): dispatch = { extractors.MemberVarDef : self.generateMemberVar, + extractors.TypedefDef : lambda a,b,c: None, extractors.PropertyDef : self.generateProperty, extractors.PyPropertyDef : self.generatePyProperty, extractors.MethodDef : self.generateMethod, diff --git a/etgtools/sip_generator.py b/etgtools/sip_generator.py index 0f2d7d42..7965022a 100644 --- a/etgtools/sip_generator.py +++ b/etgtools/sip_generator.py @@ -273,11 +273,11 @@ from .%s import * #----------------------------------------------------------------------- - def generateTypedef(self, typedef, stream): + def generateTypedef(self, typedef, stream, indent=''): assert isinstance(typedef, extractors.TypedefDef) if typedef.ignored: return - stream.write('typedef %s %s' % (typedef.type, typedef.name)) + stream.write('%stypedef %s %s' % (indent, typedef.type, typedef.name)) stream.write('%s;\n\n' % self.annotate(typedef)) @@ -520,6 +520,7 @@ from .%s import * def dispatchClassItem(self, klass, item, stream, indent): dispatch = { + extractors.TypedefDef : self.generateTypedef, extractors.MemberVarDef : self.generateMemberVar, extractors.PropertyDef : self.generateProperty, extractors.PyPropertyDef : self.generatePyProperty, diff --git a/etgtools/sphinx_generator.py b/etgtools/sphinx_generator.py index 7d461251..935f2e81 100644 --- a/etgtools/sphinx_generator.py +++ b/etgtools/sphinx_generator.py @@ -3132,6 +3132,7 @@ class SphinxGenerator(generators.DocsGeneratorBase): extractors.EnumDef : (self.generateEnum, 0), extractors.PyCodeDef : (self.generatePyCode, 3), extractors.WigCode : (self.generateWigCode, 4), + extractors.TypedefDef : (lambda a: None, 5), } # Build a list to check if there are any properties