def __setitem__(self, index, layer): """Replaces the layer at an index (notifies root)""" index = self._normidx(index) oldlayer = self._layers[index] self._layers[index] = layer self._notify_disown(oldlayer, index) updates = [oldlayer.get_full_redraw_bbox()] self._notify_adopt(layer, index) updates.append(layer.get_full_redraw_bbox()) self._content_changed(*tuple(core.combine_redraws(updates)))