def nextFocusableWindow(self, start, reverse=False):
    'Windows without |isFocusable| are skipped. Ignore (skip) |start| when\n        searching.\n\n        Args:\n          start (window): the child window to start from. If |start| is not\n              found, start from the first child window.\n          reverse (bool): if True, find the prior focusable window.\n\n        Returns:\n          A window that should be focused.\n\n        See also: showFullWindowHierarchy() which can help in debugging.\n        '
    windows = self.parent.zOrder[:]
    if reverse:
        windows.reverse()
    try:
        found = windows.index(start)
    except ValueError:
        found = (- 1)
    windows = windows[(found + 1):]
    for i in windows:
        if i.isFocusable:
            return i
        else:
            r = i._childFocusableWindow(reverse)
            if (r is not None):
                return r
    r = self.parent.nextFocusableWindow(self.parent, reverse)
    if (r is not None):
        return r
    return self._childFocusableWindow(reverse)
Windows without |isFocusable| are skipped. Ignore (skip) |start| when
searching.

Args:
  start (window): the child window to start from. If |start| is not
      found, start from the first child window.
  reverse (bool): if True, find the prior focusable window.

Returns:
  A window that should be focused.

See also: showFullWindowHierarchy() which can help in debugging.
def nextFocusableWindow(self, start, reverse=False):
    'Windows without |isFocusable| are skipped. Ignore (skip) |start| when\n        searching.\n\n        Args:\n          start (window): the child window to start from. If |start| is not\n              found, start from the first child window.\n          reverse (bool): if True, find the prior focusable window.\n\n        Returns:\n          A window that should be focused.\n\n        See also: showFullWindowHierarchy() which can help in debugging.\n        '
    windows = self.parent.zOrder[:]
    if reverse:
        windows.reverse()
    try:
        found = windows.index(start)
    except ValueError:
        found = (- 1)
    windows = windows[(found + 1):]
    for i in windows:
        if i.isFocusable:
            return i
        else:
            r = i._childFocusableWindow(reverse)
            if (r is not None):
                return r
    r = self.parent.nextFocusableWindow(self.parent, reverse)
    if (r is not None):
        return r
    return self._childFocusableWindow(reverse)