From 74897c8a521caf946a72a572735393569b72d0ef Mon Sep 17 00:00:00 2001 From: Martin Baeuml Date: Wed, 14 Sep 2011 16:08:24 +0200 Subject: [PATCH] add BBoxFaceItem the BBoxFaceItem is the corresponding item to the BBoxFaceItemInserter --- sloth/items/items.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/sloth/items/items.py b/sloth/items/items.py index 5dae29a..6145057 100644 --- a/sloth/items/items.py +++ b/sloth/items/items.py @@ -357,6 +357,36 @@ class GroupItem(BaseItem): def boundingRect(self): return self.childrenBoundingRect() +class OccludablePointItem(PointItem): + def __init__(self, *args, **kwargs): + PointItem.__init__(self, *args, **kwargs) + self.updateColor() + + def dataChange(self): + PointItem.dataChange(self) + self.updateColor() + + def updateColor(self): + key = self.prefix() + 'occluded' + if key in self._model_item: + occluded = self._model_item[key] + self.setColor(Qt.red if occluded else Qt.yellow) + + def keyPressEvent(self, event): + PointItem.keyPressEvent(self, event) + if event.key() == Qt.Key_O: + occluded = not self._model_item.get(self.prefix() + 'occluded', False) + self._model_item[self.prefix() + 'occluded'] = occluded + self.updateColor() + event.accept() + +class BBoxFaceItem(GroupItem): + items = [ + (RectItem, "bbox"), + (OccludablePointItem, "lec"), + (OccludablePointItem, "rec"), + (OccludablePointItem, "mc"), + ] class ControlItem(QGraphicsItem): def __init__(self, parent=None):