def handleConstantDefinition(item, classNode): if (item.type == "assignment"): # This is a "normal" constant definition leftItem = item.getFirstListChild("left") name = leftItem.children[len(leftItem.children) - 1].get("name") valueNode = item.getChild("right") elif (item.type == "keyvalue"): # This is a constant definition of a map-style class (like qx.Const) name = item.get("key") valueNode = item.getChild("value") if not name.isupper(): return node = tree.Node("constant") node.set("name", name) value = None if valueNode.hasChild("constant"): node.set("value", valueNode.getChild("constant").get("value")) node.set("type", valueNode.getChild("constant").get("constantType").capitalize()) commentAttributes = comment.parseNode(item) description = comment.getAttrib(commentAttributes, "description") addTypeInfo(node, description, item) handleDeprecated(node, commentAttributes) handleAccess(node, commentAttributes) classNode.addListChild("constants", node)
def handleConstantDefinition(item, classNode): if (item.type == "assignment"): # This is a "normal" constant definition leftItem = item.getFirstListChild("left") name = leftItem.children[len(leftItem.children) - 1].get("name") valueNode = item.getChild("right") elif (item.type == "keyvalue"): # This is a constant definition of a map-style class (like qx.Const) name = item.get("key") valueNode = item.getChild("value") if not name.isupper(): return node = tree.Node("constant") node.set("name", name) value = None if valueNode.hasChild("constant"): node.set("value", valueNode.getChild("constant").get("value")) node.set( "type", valueNode.getChild("constant").get("constantType").capitalize()) commentAttributes = comment.parseNode(item) description = comment.getAttrib(commentAttributes, "description") addTypeInfo(node, description, item) handleDeprecated(node, commentAttributes) handleAccess(node, commentAttributes) classNode.addListChild("constants", node)
def handleProperties(item, classNode): for propName, value in mapNodeToMap(item).items(): keyvalue = value.parent value = value.getFirstChild() if value.type != "map": continue propDefinition = mapNodeToMap(value) #print propName, propDefinition if propDefinition.has_key("group"): node = handlePropertyGroup(propName, propDefinition, classNode) node.set("propertyType", "group") groupMembers = [ member[1:-1] for member in node.get("group").split(",") ] generateGroupPropertyMethod(propName, groupMembers, node.get("mode", False), classNode) generatePropertyMethods(propName, classNode, ["reset"]) else: node = handlePropertyDefinitionNew(propName, propDefinition, classNode) node.set("propertyType", "new") if node.get("refine", False) != "true": generatePropertyMethods(propName, classNode, ["set", "get", "init", "reset"]) if node.get("check", False) == "Boolean": generatePropertyMethods(propName, classNode, ["toggle", "is"]) if classNode.get("type", False) == "mixin": node.set("isMixin", True) # If the description has a type specified then take this type # (and not the one extracted from the paramsMap) commentAttributes = comment.parseNode(keyvalue) addTypeInfo(node, comment.getAttrib(commentAttributes, "description"), item) handleDeprecated(node, commentAttributes) handleAccess(node, commentAttributes) classNode.addListChild("properties", node)
def handleProperties(item, classNode): for propName, value in mapNodeToMap(item).items(): keyvalue = value.parent value = value.getFirstChild() if value.type != "map": continue propDefinition = mapNodeToMap(value) #print propName, propDefinition if propDefinition.has_key("group"): node = handlePropertyGroup(propName, propDefinition, classNode) node.set("propertyType", "group") groupMembers = [member[1:-1] for member in node.get("group").split(",")] generateGroupPropertyMethod(propName, groupMembers, node.get("mode", False), classNode) generatePropertyMethods(propName, classNode, ["reset"]) else: node = handlePropertyDefinitionNew(propName, propDefinition, classNode) node.set("propertyType", "new") if node.get("refine", False) != "true": generatePropertyMethods(propName, classNode, ["set", "get", "init", "reset"]) if node.get("check", False) == "Boolean": generatePropertyMethods(propName, classNode, ["toggle", "is"]) if classNode.get("type", False) == "mixin": node.set("isMixin", True) # If the description has a type specified then take this type # (and not the one extracted from the paramsMap) commentAttributes = comment.parseNode(keyvalue) addTypeInfo(node, comment.getAttrib(commentAttributes, "description"), item) handleDeprecated(node, commentAttributes) handleAccess(node, commentAttributes) classNode.addListChild("properties", node)