def to_dict(self): ''' Convert the panel group to a dictionary. ''' d = VirtualPanel.to_dict(self) children = [] for c in self._children: if isinstance(c, Panel): idx = None for i, p in enumerate(self.root()._container): if c.is_(p): idx = i break assert(idx is not None) children.append({ "panel" : idx }) else: children.append(c.to_dict()) d['children'] = children return d