def genStyles(): properties = '' for prop in cssProperties: if len(properties): properties = properties + ',\n' properties = properties + ' wxT("%s")' % prop.dtdName output = ''' wxString s_cssPropertyStrings[] = { %s }; ''' % properties impl = cppImpl.Impl("css_properties", "genCSS.py") impl.add_content(output) impl.dump(path=config.src_dir)
def genValues(): cssValues = [] for prop in cssProperties: for val in prop.values: if val not in cssValues: cssValues.append(val) cssValues.sort() values = '' for value in cssValues: if len(values): values = values + ',\n' values = values + ' %s' % valueId(value) output = '''\ enum wxCSS_VALUE { wxCSS_VALUE_UNKNOWN, %s };''' % values header = cppHeader.Header("CSSValues", "genCSS.py") header.add_content(output) header.dump(path=config.include_dir) values = '' for value in cssValues: if len(values): values = values + ',\n' values = values + ' wxT("%s")' % value output = '''\ wxString s_cssValueStrings[] = { %s };''' % values impl = cppImpl.Impl("css_values", "genCSS.py") impl.add_content(output) impl.dump(path=config.src_dir)
// Created: 2005/04/29 // RCS-ID: $Id: generate.py,v 1.28 2016/01/24 16:58:49 ntalex Exp $ // Copyright: (c) 2005 Alex Thuering // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #include "%s.h"\n '''%(classname,classname) + cpp_output #f = genFile.gfopen(os.path.join(config.src_dir, "%s.cpp"%classname),'w') #f.write(cpp_output) ###################### Generate copy constructor ############################ includes = '' for include in copy_constructor_includes: includes = includes + '#include "%s.h"\n'%include impl = cppImpl.Impl("Elements_CopyConstructors", "generate.py") impl.add_content(includes + copy_constructor_impl) impl.dump(path=config.src_dir) ###################### Generate animated, lists, setattribute, ... ########## for i in used_animated: genAnimated.generate(i.replace('SVGAnimated','')) for i in used_lists: name = i.replace('List','').replace('SVG','') genList.generate(name) genCSS.generate() import genHasAttribute import genGetAttribute
wxString wx%s::GetAttribute(const wxString& attrName) const { %s return wxT(""); } '''%(classdecl.name, classdecl.name, func_body) output_cpps[classdecl.name]=output_cpp already_done[classdecl.name] = nattr return nattr if len(parse_idl.class_decls): cnames = parse_idl.class_decls.keys() for name in cnames: process(parse_idl.class_decls[name]) output_cpp="" if len(output_cpps): for name in sorted(output_cpps.keys()): output_cpp = output_cpp + output_cpps[name] includestr='' for i in includes: includestr = includestr + '#include "%s.h"\n'%i impl = cppImpl.Impl("Elements_GetAttribute", "genGetAttribute.py") impl.add_content(includestr + output_cpp) impl.dump(path=conf.src_dir)
pass output_cpp = ''' // wx%s bool wx%s::HasAttribute(const wxString& attrName) const { return %s; } ''' % (classdecl.name, classdecl.name, func_body) output_cpps[classdecl.name] = output_cpp already_done[classdecl.name] = nattr return nattr if len(parse_idl.class_decls): cnames = parse_idl.class_decls.keys() for name in cnames: process(parse_idl.class_decls[name]) output_cpp = "" if len(output_cpps): for name in sorted(output_cpps.keys()): output_cpp = output_cpp + output_cpps[name] includestr = '' for i in includes: includestr = includestr + '#include "%s.h"\n' % i impl = cppImpl.Impl("Elements_HasAttribute", "genHasAttribute.py") impl.add_content(includestr + output_cpp) impl.dump(path=conf.src_dir)
dtdname = dtdname.replace(':', '_') includes = includes + '#include "SVG%sElement.h"\n'%(classname) dtdenum = dtdenum + ' wxSVG_%s_ELEMENT,\n'%(dtdname.upper()) create = create + '''if (qualifiedName == wxT("%s")) res = new wxSVG%sElement(); else '''%(element_dtd_name, classname) create = '''wxSvgXmlElement* wxSVGDocument::CreateElementNS(const wxString& namespaceURI, const wxString& qualifiedName) { wxSVGElement* res = NULL; ''' + create + ''' res = new wxSVGGElement(); return res; }''' dtdenum = 'enum wxSVGDTD\n{\n' + dtdenum + ' wxSVG_UNKNOWN_ELEMENT\n};' impl = cppImpl.Impl("SVGDocument_CreateElement", "genSvgElement.py") impl.add_content(create) impl.dump(path=conf.src_dir) includes = includes + '#include "SVGDocument.h"\n' header = cppHeader.Header("svg", "genSvgElement.py") header.add_content(includes) header.dump(path=conf.include_dir) header = cppHeader.Header("SVGDTD", "genSvgElement.py") header.add_content(dtdenum) header.dump(path=conf.include_dir)