'Compute panel zone sizes.'

def _compute_zones_sizes(self):

    left = 0
    for panel in self.panels_for_zone(Panel.Position.LEFT):
        if (not panel.isVisible()):
            continue
        size_hint = panel.sizeHint()
        left += size_hint.width()
    right = 0
    for panel in self.panels_for_zone(Panel.Position.RIGHT):
        if (not panel.isVisible()):
            continue
        size_hint = panel.sizeHint()
        right += size_hint.width()
    top = 0
    for panel in self.panels_for_zone(Panel.Position.TOP):
        if (not panel.isVisible()):
            continue
        size_hint = panel.sizeHint()
        top += size_hint.height()
    bottom = 0
    for panel in self.panels_for_zone(Panel.Position.BOTTOM):
        if (not panel.isVisible()):
            continue
        size_hint = panel.sizeHint()
        bottom += size_hint.height()
    (self._top, self._left, self._right, self._bottom) = (top, left, right, bottom)
    return (bottom, left, right, top)
