get_width

        High-level api: Calculate how much indent is needed for a node.

        Parameters
        ----------

        element : `Element`
            A node in model tree.

        Returns
        -------

        int
            Start position from the left margin.

def get_width(self, element):
        '''get_width

        High-level api: Calculate how much indent is needed for a node.

        Parameters
        ----------

        element : `Element`
            A node in model tree.

        Returns
        -------

        int
            Start position from the left margin.
        '''

        parent = element.getparent()
        if parent in self.width:
            return self.width[parent]
        ret = 0
        for sibling in parent.getchildren():
            w = len(self.get_name_str(sibling))
            if w > ret:
                ret = w
        self.width[parent] = math.ceil((ret + 3) / 3.0) * 3
        return self.width[parent]