[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:
Yann Lanthony 2017-11-06 18:34:14 +01:00
parent 3c3a270886
commit a2e1369c9a

View file

@ -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 """