mirror of
https://github.com/alicevision/Meshroom.git
synced 2025-06-11 07:11:52 +02:00
[common] improve core models
* CoreListModel: * allow removal of multiple contiguious elements * add insert method * CoreDictModel: * use del to remove elemvent from list
This commit is contained in:
parent
3c3a270886
commit
a2e1369c9a
1 changed files with 6 additions and 3 deletions
|
@ -43,7 +43,7 @@ class CoreDictModel:
|
||||||
|
|
||||||
def remove(self, obj):
|
def remove(self, obj):
|
||||||
assert obj in self._objects.values()
|
assert obj in self._objects.values()
|
||||||
return self._objects.pop(getattr(obj, self._keyAttrName))
|
del self._objects[getattr(obj, self._keyAttrName)]
|
||||||
|
|
||||||
def clear(self):
|
def clear(self):
|
||||||
self._objects.clear()
|
self._objects.clear()
|
||||||
|
@ -79,8 +79,8 @@ class CoreListModel:
|
||||||
def indexOf(self, obj):
|
def indexOf(self, obj):
|
||||||
self._objects.index(obj)
|
self._objects.index(obj)
|
||||||
|
|
||||||
def removeAt(self, idx):
|
def removeAt(self, idx, count=1):
|
||||||
del self._objects[idx]
|
del self._objects[idx:idx+count]
|
||||||
|
|
||||||
def remove(self, obj):
|
def remove(self, obj):
|
||||||
self._objects.remove(obj)
|
self._objects.remove(obj)
|
||||||
|
@ -88,6 +88,9 @@ class CoreListModel:
|
||||||
def clear(self):
|
def clear(self):
|
||||||
self._objects = []
|
self._objects = []
|
||||||
|
|
||||||
|
def insert(self, index, iterable):
|
||||||
|
self._objects[index:index] = iterable
|
||||||
|
|
||||||
|
|
||||||
class CoreSignal:
|
class CoreSignal:
|
||||||
""" Simple signal/callback implementation """
|
""" Simple signal/callback implementation """
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue