def __getitem__(self, i): """Gets the i'th child of an element""" if isinstance(i, int): children = summon_core.get_element_children(self.ptr) if i < 0 or 2*i+1 >= len(children): raise IndexError("child index out of range") return _make_ref(children[2*i], children[2*i+1]) else: return list(self)[i]
def clear(self): """Remove all drawing elements under group""" children = summon_core.get_element_children(self.ptr) ptrs = [children[i] for i in xrange(1, len(children), 2)] summon_core.remove_group2(self.ptr, *ptrs)
def __iter__(self): """Iterates through this element's child elements""" children = summon_core.get_element_children(self.ptr) for i in xrange(0, len(children), 2): yield _make_ref(children[i], children[i+1])