diff --git a/bec_widgets/widgets/plots/image/image.py b/bec_widgets/widgets/plots/image/image.py index 2939453f..94b753c8 100644 --- a/bec_widgets/widgets/plots/image/image.py +++ b/bec_widgets/widgets/plots/image/image.py @@ -125,13 +125,13 @@ class Image(PlotBase): popups: bool = True, **kwargs, ): - self._main_image = ImageItem(parent_image=self) self._color_bar = None if config is None: config = ImageConfig(widget_class=self.__class__.__name__) super().__init__( parent=parent, config=config, client=client, gui_id=gui_id, popups=popups, **kwargs ) + self._main_image = ImageItem(parent_image=self) # For PropertyManager identification self.setObjectName("Image") diff --git a/bec_widgets/widgets/plots/image/image_item.py b/bec_widgets/widgets/plots/image/image_item.py index 721fb37d..7e8cc2a1 100644 --- a/bec_widgets/widgets/plots/image/image_item.py +++ b/bec_widgets/widgets/plots/image/image_item.py @@ -84,7 +84,6 @@ class ImageItem(BECConnector, pg.ImageItem): else: self.config = config pg.ImageItem.__init__(self, parent=parent) - BECConnector.__init__(self, config=config, gui_id=gui_id) self.parent_image = parent_image @@ -95,6 +94,11 @@ class ImageItem(BECConnector, pg.ImageItem): # Image processor will handle any setting of data self._image_processor = ImageProcessor(config=self.config.processing) + BECConnector.__init__(self, config=config, gui_id=gui_id) + + def parent(self): + return self.parent_image + def set_data(self, data: np.ndarray): self.raw_data = data self._process_image() diff --git a/bec_widgets/widgets/plots/scatter_waveform/scatter_curve.py b/bec_widgets/widgets/plots/scatter_waveform/scatter_curve.py index 2056bb23..12406d05 100644 --- a/bec_widgets/widgets/plots/scatter_waveform/scatter_curve.py +++ b/bec_widgets/widgets/plots/scatter_waveform/scatter_curve.py @@ -78,11 +78,13 @@ class ScatterCurve(BECConnector, pg.PlotDataItem): self.config = config name = config.label pg.PlotDataItem.__init__(self, **kwargs, name=name) - BECConnector.__init__(self, config=config, gui_id=gui_id) self.parent_item = parent_item - self.parent = parent_item self.data_z = None # color scaling needs to be cashed for changing colormap self.apply_config() + BECConnector.__init__(self, config=config, gui_id=gui_id) + + def parent(self): + return self.parent_item def apply_config(self, config: dict | ScatterCurveConfig | None = None, **kwargs) -> None: """ diff --git a/bec_widgets/widgets/plots/scatter_waveform/scatter_waveform.py b/bec_widgets/widgets/plots/scatter_waveform/scatter_waveform.py index 86078597..59362c2e 100644 --- a/bec_widgets/widgets/plots/scatter_waveform/scatter_waveform.py +++ b/bec_widgets/widgets/plots/scatter_waveform/scatter_waveform.py @@ -111,8 +111,6 @@ class ScatterWaveform(PlotBase): parent=parent, config=config, client=client, gui_id=gui_id, popups=popups, **kwargs ) self._main_curve = ScatterCurve(parent=self, parent_item=self) - # self._main_curve = ScatterCurve(parent_item=self) - # For PropertyManager identification # Specific GUI elements self.scatter_dialog = None