'Update the graphical display of this canvas widget, and all of
its ancestors, in response to a change in one of this canvas
widget\'s children.
:param child: The child widget that changed.
:type child: CanvasWidget'

def update(self, child):

    if (self.__hidden or child.__hidden):
        return
    if self.__updating:
        return
    self.__updating = 1
    self._update(child)
    if self.__parent:
        self.__parent.update(self)
    self.__updating = 0
