diff --git a/bec_widgets/utils/forms_from_types/forms.py b/bec_widgets/utils/forms_from_types/forms.py index 421f0079..330a559d 100644 --- a/bec_widgets/utils/forms_from_types/forms.py +++ b/bec_widgets/utils/forms_from_types/forms.py @@ -26,9 +26,9 @@ class TypedForm(BECWidget, QWidget): def __init__( self, + parent=None, items: list[tuple[str, type]] | None = None, form_item_specs: list[FormItemSpec] | None = None, - parent=None, client=None, **kwargs, ): @@ -122,7 +122,7 @@ class PydanticModelForm(TypedForm): metadata_updated = Signal(dict) metadata_cleared = Signal(NoneType) - def __init__(self, metadata_model: type[BaseModel], parent=None, client=None, **kwargs): + def __init__(self, parent=None, metadata_model: type[BaseModel] = None, client=None, **kwargs): """ A form generated from a pydantic model. @@ -130,7 +130,7 @@ class PydanticModelForm(TypedForm): metadata_model (type[BaseModel]): the model class for which to generate a form. """ self._md_schema = metadata_model - super().__init__(form_item_specs=self._form_item_specs(), parent=parent, client=client) + super().__init__(parent=parent, form_item_specs=self._form_item_specs(), client=client) self._validity = CompactPopupWidget() self._validity.compact_view = True # type: ignore diff --git a/bec_widgets/widgets/control/scan_control/scan_control.py b/bec_widgets/widgets/control/scan_control/scan_control.py index 2869c43f..f1fefc83 100644 --- a/bec_widgets/widgets/control/scan_control/scan_control.py +++ b/bec_widgets/widgets/control/scan_control/scan_control.py @@ -165,7 +165,7 @@ class ScanControl(BECWidget, QWidget): self.layout.addStretch() def _add_metadata_form(self): - self._metadata_form = ScanMetadata() + self._metadata_form = ScanMetadata(parent=self) self.layout.addWidget(self._metadata_form) self._metadata_form.update_with_new_scan(self.comboBox_scan_selection.currentText()) self.scan_selected.connect(self._metadata_form.update_with_new_scan) diff --git a/bec_widgets/widgets/control/scan_control/scan_group_box.py b/bec_widgets/widgets/control/scan_control/scan_group_box.py index 0024b93c..7cdf0386 100644 --- a/bec_widgets/widgets/control/scan_control/scan_group_box.py +++ b/bec_widgets/widgets/control/scan_control/scan_group_box.py @@ -234,7 +234,7 @@ class ScanGroupBox(QGroupBox): continue if default == "_empty": default = None - widget = widget_class(arg_name=arg_name, default=default) + widget = widget_class(parent=self.parent(), arg_name=arg_name, default=default) if isinstance(widget, DeviceLineEdit): widget.set_device_filter(BECDeviceFilter.DEVICE) self.selected_devices[widget] = "" diff --git a/bec_widgets/widgets/editors/scan_metadata/scan_metadata.py b/bec_widgets/widgets/editors/scan_metadata/scan_metadata.py index 8e4529af..580878ba 100644 --- a/bec_widgets/widgets/editors/scan_metadata/scan_metadata.py +++ b/bec_widgets/widgets/editors/scan_metadata/scan_metadata.py @@ -44,7 +44,7 @@ class ScanMetadata(PydanticModelForm): self._scan_name = scan_name or "" self._md_schema = get_metadata_schema_for_scan(self._scan_name) - super().__init__(self._md_schema, parent, client, **kwargs) + super().__init__(parent=parent, metadata_model=self._md_schema, client=client, **kwargs) self._layout.addWidget(self._additional_md_box) self._additional_md_box_layout.addWidget(self._additional_metadata)