Add docstrings for wxSTC methods

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33683 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2005-04-16 21:41:28 +00:00
parent 08168cc43d
commit f2ccce28ad
8 changed files with 1482 additions and 12 deletions

View File

@@ -21,6 +21,7 @@ H_TEMPLATE = os.path.abspath('./stc.h.in')
CPP_TEMPLATE = os.path.abspath('./stc.cpp.in')
H_DEST = os.path.abspath('../../include/wx/stc/stc.h')
CPP_DEST = os.path.abspath('./stc.cpp')
DOCSTR_DEST = os.path.abspath('../../../wxPython/contrib/stc/_stc_gendocs.i')
# Value prefixes to convert
@@ -582,7 +583,7 @@ methodOverrideMap = {
#----------------------------------------------------------------------------
def processIface(iface, h_tmplt, cpp_tmplt, h_dest, cpp_dest):
def processIface(iface, h_tmplt, cpp_tmplt, h_dest, cpp_dest, docstr_dest):
curDocStrings = []
values = []
methods = []
@@ -629,7 +630,7 @@ def processIface(iface, h_tmplt, cpp_tmplt, h_dest, cpp_dest):
data = {}
data['VALUES'] = processVals(values)
data['CMDS'] = processVals(cmds)
defs, imps = processMethods(methods)
defs, imps, docstrings = processMethods(methods)
data['METHOD_DEFS'] = defs
data['METHOD_IMPS'] = imps
@@ -644,6 +645,7 @@ def processIface(iface, h_tmplt, cpp_tmplt, h_dest, cpp_dest):
# write out destination files
open(h_dest, 'w').write(h_text)
open(cpp_dest, 'w').write(cpp_text)
open(docstr_dest, 'w').write(docstrings)
@@ -664,6 +666,7 @@ def processVals(values):
def processMethods(methods):
defs = []
imps = []
dstr = []
for retType, name, number, param1, param2, docs in methods:
retType = retTypeMap.get(retType, retType)
@@ -674,6 +677,11 @@ def processMethods(methods):
if name is None:
continue
# Build docstrings
st = 'DocStr(wxStyledTextCtrl::%s,\n' \
'"%s", "");\n' % (name, '\n'.join(docs))
dstr.append(st)
# Build the method definition for the .h file
if docs:
defs.append('')
@@ -707,7 +715,7 @@ def processMethods(methods):
imps.append(theImp)
return string.join(defs, '\n'), string.join(imps, '\n')
return '\n'.join(defs), '\n'.join(imps), '\n'.join(dstr)
#----------------------------------------------------------------------------
@@ -827,7 +835,7 @@ def main(args):
# TODO: parse command line args to replace default input/output files???
# Now just do it
processIface(IFACE, H_TEMPLATE, CPP_TEMPLATE, H_DEST, CPP_DEST)
processIface(IFACE, H_TEMPLATE, CPP_TEMPLATE, H_DEST, CPP_DEST, DOCSTR_DEST)