diff --git a/meshroom/common/core.py b/meshroom/common/core.py index ea1c32fd..59a7b2d4 100644 --- a/meshroom/common/core.py +++ b/meshroom/common/core.py @@ -43,7 +43,7 @@ class CoreDictModel: def remove(self, obj): assert obj in self._objects.values() - return self._objects.pop(getattr(obj, self._keyAttrName)) + del self._objects[getattr(obj, self._keyAttrName)] def clear(self): self._objects.clear() @@ -79,8 +79,8 @@ class CoreListModel: def indexOf(self, obj): self._objects.index(obj) - def removeAt(self, idx): - del self._objects[idx] + def removeAt(self, idx, count=1): + del self._objects[idx:idx+count] def remove(self, obj): self._objects.remove(obj) @@ -88,6 +88,9 @@ class CoreListModel: def clear(self): self._objects = [] + def insert(self, index, iterable): + self._objects[index:index] = iterable + class CoreSignal: """ Simple signal/callback implementation """