def writeClass(attributes, header, nameOfElement, nameOfPackage, hasChildren, hasMath, isListOf, elementDict): header.write('class LIBSBML_EXTERN {0} :'.format(nameOfElement)) baseClass = 'SBase' childrenOverwrite = elementDict.has_key('childrenOverwriteElementName') and elementDict['childrenOverwriteElementName'] if elementDict.has_key('baseClass') and elementDict['baseClass'] != None: baseClass = elementDict['baseClass'] header.write(' public {0}\n{1}\n\n'.format(baseClass, '{')) writeAttributes(attributes, header) if childrenOverwrite: header.write(' std::string mElementName;\n\n') header.write('public:\n\n') writeConstructors(nameOfElement, nameOfPackage, header) writeAttributeFunctions(attributes, header, nameOfElement, elementDict) if hasMath == True or generalFunctions.hasSIdRef(attributes) == True: generalFunctions.writeRenameSIdHeader(header) if hasChildren == True: generalFunctions.writeGetAllElements(header) generalFunctions.writeCommonHeaders(header, nameOfElement, attributes, False, hasChildren, hasMath) generalFunctions.writeInternalHeaders(header, isListOf, hasChildren) if generalFunctions.hasArray(elementDict): header.write(' virtual void write(XMLOutputStream& stream) const;\n\n\n') if childrenOverwrite: header.write(' virtual void setElementName(const std::string& name);\n\n\n') header.write('protected:\n\n') generalFunctions.writeProtectedHeaders(header, attributes, hasChildren, hasMath, baseClass, elementDict) if generalFunctions.hasArray(elementDict): header.write(' virtual void setElementText(const std::string &text);\n\n\n') if elementDict.has_key('addDecls'): header.write(open(elementDict['addDecls'], 'r').read()) header.write('\n};\n\n')
def writeGetFunctions(fileOut, pkg, members, plugin, attribs): fileOut.write(' //---------------------------------------------------------------\n') fileOut.write(' //\n') fileOut.write(' // Functions for interacting with the members of the plugin\n') fileOut.write(' //\n') fileOut.write(' //---------------------------------------------------------------\n\n') generalFunctions.writeGetAllElements(fileOut) for i in range (0, len(members)): mem = members[i] if mem['isListOf'] == True: writeFunctions(fileOut, mem['name']) else: writeMemberFunctions(fileOut, mem['name'], plugin) writeHeader.writeAttributeFunctions(attribs, fileOut, plugin, dict({}))
def writeGetFunctions(fileOut, pkg, members, plugin, attribs): fileOut.write( ' //---------------------------------------------------------------\n' ) fileOut.write(' //\n') fileOut.write( ' // Functions for interacting with the members of the plugin\n') fileOut.write(' //\n') fileOut.write( ' //---------------------------------------------------------------\n\n' ) generalFunctions.writeGetAllElements(fileOut) for i in range(0, len(members)): mem = members[i] if mem['isListOf'] == True: writeFunctions(fileOut, mem['name']) else: writeMemberFunctions(fileOut, mem['name'], plugin) writeHeader.writeAttributeFunctions(attribs, fileOut, plugin, dict({}))