diff --git a/direct/src/directscripts/gendocs.py b/direct/src/directscripts/gendocs.py
index 13683e90a5..de34561d17 100644
--- a/direct/src/directscripts/gendocs.py
+++ b/direct/src/directscripts/gendocs.py
@@ -541,6 +541,21 @@ class CodeDatabase:
else:
return []
+ def getClassConstants(self, cn):
+ type = self.types.get(cn)
+ if (isinstance(type, InterrogateType)):
+ result = []
+ for subtype in type.nested:
+ enumtype = type.db.types[subtype]
+ if (len(enumtype.enumvalues)):
+ for enumvalue in enumtype.enumvalues:
+ name = convertToPythonFn(enumvalue.name)
+ result.append((name, "("+enumtype.componentname+")"))
+ result.append(("",""))
+ return result
+ else:
+ return []
+
def buildInheritance(self, inheritance, cn):
if (inheritance.count(cn) == 0):
inheritance.append(cn)
@@ -692,7 +707,7 @@ def generate(pversion, indirlist, directdirlist, docdir, header, footer, urlpref
findFiles(directdirlist, ".py", ignore, pyfiles)
code = CodeDatabase(cxxfiles, pyfiles)
classes = code.getClassList()[:]
- classes.sort()
+ classes.sort(None, str.lower)
xclasses = classes[:]
print "Generating HTML pages"
for type in classes:
@@ -709,17 +724,23 @@ def generate(pversion, indirlist, directdirlist, docdir, header, footer, urlpref
body = body + "\n"
for sclass in inheritance:
methods = code.getClassMethods(sclass)[:]
- methods.sort()
+ methods.sort(None, str.lower)
if (len(methods) > 0):
body = body + "
Methods of "+sclass+":
\n\n"
for method in methods:
fn = code.getFunctionName(method)
body = body + '' + fn + "
\n"
body = body + "
\n"
- body = body + "\n"
+ for sclass in inheritance:
+ enums = code.getClassConstants(sclass)[:]
+ if (len(enums) > 0):
+ body = body + "Constants in "+sclass+":
\n\n"
+ for (value, comment) in enums:
+ body = body + "| " + value + " | " + comment + " |
\n"
+ body = body + "
"
for sclass in inheritance:
methods = code.getClassMethods(sclass)[:]
- methods.sort()
+ methods.sort(None, str.lower)
for method in methods:
body = body + generateFunctionDocs(code, method)
body = header + body + footer
@@ -728,12 +749,12 @@ def generate(pversion, indirlist, directdirlist, docdir, header, footer, urlpref
modtype = CLASS_RENAME_DICT[type]
writeFile(docdir + "/" + modtype + ".html", body)
xclasses.append(modtype)
- xclasses.sort()
+ xclasses.sort(None, str.lower)
index = "List of Classes - Panda " + pversion + "
\n"
index = index + generateLinkTable(xclasses, xclasses, 3, urlprefix, urlsuffix)
fnlist = code.getGlobalFunctionList()[:]
- fnlist.sort()
+ fnlist.sort(None, str.lower)
fnnames = []
for i in range(len(fnlist)):
fnnames.append(code.getFunctionName(fnlist[i]))
@@ -759,18 +780,18 @@ def generate(pversion, indirlist, directdirlist, docdir, header, footer, urlpref
index = "List of Methods - Panda " + pversion + "
\n"
prefixes = table.keys()
- prefixes.sort()
+ prefixes.sort(None, str.lower)
for prefix in prefixes:
index = index + linkTo("#"+prefix, prefix) + " "
index = index + "
"
for prefix in prefixes:
index = index + '' + "\n"
names = table[prefix].keys()
- names.sort()
+ names.sort(None, str.lower)
for name in names:
line = '' + name + ":\n"
ctypes = table[prefix][name]
- ctypes.sort()
+ ctypes.sort(None, str.lower)
for type in ctypes:
line = line + "- " + linkTo(urlprefix+type+urlsuffix+"#"+name, type) + "\n"
line = line + "
\n"