Example #1
0
def _observe_tree(object, listener):
    if not isobserved(object, listener):  # Avoid troubles with cyclic list / dict
        observe(object, listener)

        children = custom._find_children(object)
        if not children is None:
            if not children is object:
                observe(children, listener)
            for item in children:
                _observe_tree(item, listener)
Example #2
0
def unobserve_tree(object, listener):
    """unobserve_tree(object, listener)

Unregisters the tree listener LISTENER for OBJECT."""

    if isobserved(object, listener):  # Avoid troubles with cyclic list / dict
        unobserve(object, listener)

        children = custom._find_children(object)
        if not children is None:
            if not children is object:
                unobserve(children, listener)
            for item in children:
                unobserve_tree(item, listener)