@staticmethod
def _layout_from(widget):
    """
        redo layout of all widgets up the parent tree from this widget.
        Stop when we get to a frame. This was taken from a wx wiki post
        """
    while widget.GetParent():
        widget = widget.GetParent()
        widget.Layout()
        if widget.IsTopLevel():
            break
