0
0
mirror of https://github.com/bec-project/bec_widgets.git synced 2025-07-14 03:31:50 +02:00

refactor(image_roi): glowing handles for Rectangle roi

This commit is contained in:
2025-05-20 21:11:14 +02:00
committed by Jan Wyzula
parent a020f2dc7e
commit 7a531c17d6
3 changed files with 6 additions and 4 deletions

View File

@ -369,6 +369,7 @@ class Image(PlotBase):
# Add to plot and controller (controller assigns color) # Add to plot and controller (controller assigns color)
self.plot_item.addItem(roi) self.plot_item.addItem(roi)
self.roi_controller.add_roi(roi) self.roi_controller.add_roi(roi)
roi.add_scale_handle()
return roi return roi
def remove_roi(self, roi: int | str): def remove_roi(self, roi: int | str):

View File

@ -414,8 +414,6 @@ class RectangularROI(BaseROI, pg.RectROI):
self.sigRegionChanged.connect(self._on_region_changed) self.sigRegionChanged.connect(self._on_region_changed)
self.adorner = LabelAdorner(roi=self) self.adorner = LabelAdorner(roi=self)
if resize_handles:
self.add_scale_handle()
self.hoverPen = fn.mkPen(color=(255, 0, 0), width=3, style=QtCore.Qt.DashLine) self.hoverPen = fn.mkPen(color=(255, 0, 0), width=3, style=QtCore.Qt.DashLine)
self.handleHoverPen = fn.mkPen("lime", width=4) self.handleHoverPen = fn.mkPen("lime", width=4)
@ -440,6 +438,11 @@ class RectangularROI(BaseROI, pg.RectROI):
self.addScaleHandle([0, 0.5], [1, 0.5]) # left edge self.addScaleHandle([0, 0.5], [1, 0.5]) # left edge
self.addScaleHandle([1, 0.5], [0, 0.5]) # right edge self.addScaleHandle([1, 0.5], [0, 0.5]) # right edge
self.handlePen = fn.mkPen("#ffff00", width=5) # bright yellow outline
self.handleHoverPen = fn.mkPen("#00ffff", width=4) # cyan, thicker when hovered
self.handleBrush = (200, 200, 0, 120) # semi-transparent fill
self.handleHoverBrush = (0, 255, 255, 160)
def _on_region_changed(self): def _on_region_changed(self):
""" """
Handles ROI region change events. Handles ROI region change events.

View File

@ -3,9 +3,7 @@ from __future__ import annotations
from typing import Literal from typing import Literal
import numpy as np import numpy as np
import pyqtgraph as pg
import pytest import pytest
from qtpy.QtCore import QPointF
from bec_widgets.widgets.plots.image.image import Image from bec_widgets.widgets.plots.image.image import Image
from bec_widgets.widgets.plots.roi.image_roi import CircularROI, RectangularROI, ROIController from bec_widgets.widgets.plots.roi.image_roi import CircularROI, RectangularROI, ROIController