def get_values(self, obj):
        """get label and shape for classes.

        The label contains all attributes and methods
        """
        if is_exception(obj.node):
            label = r"\fb\f09%s\fn" % obj.title
        else:
            label = r"\fb%s\fn" % obj.title
        if obj.shape == "interface":
            shape = "ellipse"
        else:
            shape = "box"
        if not self.config.only_classnames:
            attrs = obj.attrs
            methods = [func.name for func in obj.methods]
            # box width for UML like diagram
            maxlen = max(len(name) for name in [obj.title] + methods + attrs)
            line = "_" * (maxlen + 2)
            label = r"%s\n\f%s" % (label, line)
            for attr in attrs:
                label = r"%s\n\f08%s" % (label, attr)
            if attrs:
                label = r"%s\n\f%s" % (label, line)
            for func in methods:
                label = r"%s\n\f10%s()" % (label, func)
        return dict(label=label, shape=shape)
get label and shape for classes.

        The label contains all attributes and methods