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)
self.plot_item.addItem(roi)
self.roi_controller.add_roi(roi)
roi.add_scale_handle()
return roi
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.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.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([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):
"""
Handles ROI region change events.

View File

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