revision of wxLocale; documented the list of language constants into the wxLanguage enum; modified genlang.py to generate a .h with doxygen comments and removed generation of a .tex script; moved docs for wxXlocale to the right header (xlocale.h)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56411 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Francesco Montorsi
2008-10-17 20:27:36 +00:00
parent c82a80e81f
commit 969daeea66
5 changed files with 608 additions and 368 deletions

View File

@@ -23,15 +23,20 @@ def GenEnum(table):
// --- --- --- generated code begins here --- --- ---
// This enum is generated by misc/languages/genlang.py
// When making changes, please put them into misc/languages/langtabl.txt
/**
The languages supported by wxLocale.
This enum is generated by misc/languages/genlang.py
When making changes, please put them into misc/languages/langtabl.txt
*/
enum wxLanguage
{
// user's default/preffered language as got from OS:
wxLANGUAGE_DEFAULT,
// unknown language, if wxLocale::GetSystemLanguage fails:
wxLANGUAGE_UNKNOWN,
/// User's default/preffered language as got from OS.
wxLANGUAGE_DEFAULT,
/// Unknown language, returned if wxLocale::GetSystemLanguage fails.
wxLANGUAGE_UNKNOWN,
""");
knownLangs = []
for i in table:
@@ -39,7 +44,7 @@ enum wxLanguage
f.write(' %s,\n' % i[0])
knownLangs.append(i[0])
f.write("""
// for custom, user-defined languages:
/// For custom, user-defined languages.
wxLANGUAGE_USER_DEFINED
};
@@ -49,41 +54,13 @@ enum wxLanguage
f.close()
def GenDocs(table):
f = open('_wxlang.tex', 'wt')
f.write("""
%% --- --- --- generated code begins here --- --- ---
%% This enum is generated by misc/languages/genlang.py
%% When making changes, please put them into misc/languages/langtabl.txt
\\begin{twocollist}\\itemsep=0pt
\\twocolitem{wxLANGUAGE\\_DEFAULT}{user's default language as obtained from the operating system}
\\twocolitem{wxLANGUAGE\\_UNKNOWN}{returned by \\helpref{GetSystemLanguage}{wxlocalegetsystemlanguage} if it fails to detect the default language}
\\twocolitem{wxLANGUAGE\\_USER\\_DEFINED}{user defined languages' integer identifiers should start from this}
""");
knownLangs = []
for i in table:
if i[0] not in knownLangs:
f.write('\\twocolitem{%s}{}\n' % (i[0].replace('_','\\_')))
knownLangs.append(i[0])
f.write("""\\end{twocollist}\itemsep=0pt
%% --- --- --- generated code ends here --- --- ---
""")
f.close()
def GenTable(table):
all_langs = []
all_sublangs = []
lngtable = ''
ifdefs = ''
ifdefs = ''
for i in table:
ican = '"%s"' % i[1]
if ican == '"-"': ican = '""'
@@ -106,7 +83,7 @@ def GenTable(table):
if s != '0':
ifdefs += '#ifndef %s\n#define %s (0)\n#endif\n' % (s, s)
for s in all_sublangs:
if s != '0' and s != 'SUBLANG_DEFAULT':
if s != '0' and s != 'SUBLANG_DEFAULT':
ifdefs += '#ifndef %s\n#define %s SUBLANG_DEFAULT\n#endif\n' % (s, s)
f = open('_wxlang.cpp', 'wt')
@@ -156,6 +133,5 @@ void wxLocale::InitLanguagesDB()
table = ReadTable()
GenEnum(table)
GenEnum(table) # the enum is used also (thanks to doxygen) in the docs
GenTable(table)
GenDocs(table)