Emit dataChanged signal for KeyValueRowItem

This commit is contained in:
Mika Fischer
2011-06-21 13:46:20 +02:00
parent d2021e9c8e
commit 533ab0300b
2 changed files with 11 additions and 8 deletions
+5 -3
View File
@@ -203,9 +203,11 @@ class KeyValueModelItem(ModelItem, MutableMapping):
def __getitem__(self, key):
return self._dict[key]
def _emitDataChanged(self):
def _emitDataChanged(self, key):
if self.model() is not None:
self.model().dataChanged.emit(self.index(), self.index())
index_tl = self._items[key].index()
index_br = self._items[key].index(1)
self.model().dataChanged.emit(index_tl, index_br)
def __setitem__(self, key, value):
if key not in self._dict:
@@ -216,7 +218,7 @@ class KeyValueModelItem(ModelItem, MutableMapping):
elif self._dict[key] != value:
self._dict[key] = value
# TODO: Emit for hidden key/values?
self._emitDataChanged()
self._emitDataChanged(key)
def __delitem__(self, key):
del self._dict[key]
+6 -5
View File
@@ -264,13 +264,14 @@ class AnnotationScene(QGraphicsScene):
if not self.root_.isValid():
return
if self.root_ != indexFrom.parent() or self.root_ != indexTo.parent():
annotation_item_index= indexFrom.parent()
if self.root_ != annotation_item_index.parent():
return
for row in range(indexFrom.row(), indexTo.row()+1):
item = self.itemFromIndex(indexFrom.sibling(row, 0))
if item is not None:
item.dataChanged()
item = self.itemFromIndex(annotation_item_index)
if item is not None:
item.dataChanged()
def rowsInserted(self, index, first, last):
if self.root_ != index: