Skip to content

Commit

Permalink
refs #25
Browse files Browse the repository at this point in the history
wip fixes
  • Loading branch information
arnobaer committed Sep 16, 2024
1 parent be95e67 commit 1100545
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 25 deletions.
2 changes: 1 addition & 1 deletion src/sqc/gui/plotarea.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ def clearBoxes(self) -> None:

def updateBoxes(self, boxes) -> None:
self.clearBoxes()
sortedRects = {}
sortedRects: dict = {}
for name, rect in boxes:
sortedRects.setdefault(name, []).append(rect)
for name, rects in sortedRects.items():
Expand Down
48 changes: 24 additions & 24 deletions src/sqc/gui/plotwidget.py
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,30 @@ def __init__(self, title: str, parent: Optional[QtWidgets.QWidget] = None) -> No
layout.addWidget(self._chartView)
layout.setContentsMargins(0, 0, 0, 0)

self._boxes: dict[QtWidgets.QGraphicsRectItem, QtCore.QRectF] = {}

def addBox(self, rect: QtCore.QRectF) -> None:
item = QtWidgets.QGraphicsRectItem()
item.setPen(QtGui.QPen(QtCore.Qt.red))
item.setBrush(QtGui.QBrush(QtGui.QColor(255, 0, 0, 50)))
self._boxes.update({item: rect})
self._chart.scene().addItem(item)
self.updateBoxes()

def clearBoxes(self) -> None:
for item in self._boxes.keys():
self._chart.scene().removeItem(item)
self._boxes.clear()

def updateBoxes(self):
series = self._chart.series()
if series:
for item, box in self._boxes.items():
topLeft = self._chart.mapToPosition(box.topLeft(), series[0])
bottomRight = self._chart.mapToPosition(box.bottomRight(), series[0])
item.setRect(QtCore.QRectF(topLeft, bottomRight))
self.updateGeometry()

def title(self) -> str:
return self._chart.title()

Expand Down Expand Up @@ -464,30 +488,6 @@ def __init__(self, title: str, parent: Optional[QtWidgets.QWidget] = None) -> No
self._chartView.setRubberBand(self._chartView.HorizontalRubberBand)
self._chartView.marker().setTextFormatter(self.formatMarkerText)

self._boxes: dict[QtWidgets.QGraphicsRectItem, QtCore.QRectF] = {}

def addBox(self, rect: QtCore.QRectF) -> None:
item = QtWidgets.QGraphicsRectItem()
item.setPen(QtGui.QPen(QtCore.Qt.red))
item.setBrush(QtGui.QBrush(QtGui.QColor(255, 0, 0, 50)))
self._boxes.update({item: rect})
self._chart.scene().addItem(item)
self.updateBoxes()

def clearBoxes(self) -> None:
for item in self._boxes.keys():
self._chart.scene().removeItem(item)
self._boxes.clear()

def updateBoxes(self):
series = self._chart.series()
if series:
for item, box in self._boxes.items():
topLeft = self._chart.mapToPosition(box.topLeft(), series[0])
bottomRight = self._chart.mapToPosition(box.bottomRight(), series[0])
item.setRect(QtCore.QRectF(topLeft, bottomRight))
self.update()

def strips(self) -> dict:
return self._strips

Expand Down

0 comments on commit 1100545

Please sign in to comment.