diff --git a/examples/main.py b/examples/main.py index c5ff00f0b9ed47d345f446be84f34d213039dc96..c4a0c0fffe2e3e386c8ae3f33c6829234e7bd02a 100644 --- a/examples/main.py +++ b/examples/main.py @@ -1,5 +1,6 @@ import logging import sys +import time from PySide6 import QtWidgets from PySide6.QtWidgets import QApplication, QMainWindow, QWidget, QTreeWidget @@ -13,9 +14,9 @@ if __name__ == "__main__": # setup the logging module config = ApplicationConfig(internal_log_level=logging.INFO) - print(config.load('./configs/ApplicationConfig.yaml')) + time.sleep(1) #config.autosave(enable=True, path='./configs_autosave') - + print(config.load('./configs/ApplicationConfig.yaml')) #print(config.wafer_version) #config.wafer_version.get() #config.wafer_number.get() @@ -45,9 +46,9 @@ if __name__ == "__main__": grd.addWidget(btn_save, 4, 0) window.setCentralWidget(wdg) - #print(config.save('config.yaml')) #print(config.load('config.yaml')) + window.show() sys.exit(app.exec()) diff --git a/src/confighandler/controller/fields/FieldSelectableList.py b/src/confighandler/controller/fields/FieldSelectableList.py index 6aa058c4636153204e5b675cda26d1b44f3bd255..7235f57d8bc654b4af77d4456e4626826f2e3720 100644 --- a/src/confighandler/controller/fields/FieldSelectableList.py +++ b/src/confighandler/controller/fields/FieldSelectableList.py @@ -19,7 +19,8 @@ class FieldSelectableList(ch.Field): def get_list(self) -> list: return list(self._value) - + def get_current_index(self) -> list: + return self._value.selected_index @property def value(self): return self._value[self._value.selected_index] diff --git a/src/confighandler/view/fields/FieldViewSelectableList.py b/src/confighandler/view/fields/FieldViewSelectableList.py index 72cbfff13488edbf40aa99487de18ac813c82030..99acdd58465313e918982c7eb8ace315b31319a5 100644 --- a/src/confighandler/view/fields/FieldViewSelectableList.py +++ b/src/confighandler/view/fields/FieldViewSelectableList.py @@ -24,9 +24,11 @@ class FieldViewSelectableList(ch.FieldView): """ """ - self.ui_edit_fields: list(QComboBox) + #self.ui_edit_fields: list(QComboBox) if view is None: cb = QComboBox() + self.parent_field.logger.info(f"{self.parent_field}: *** NEW FieldViewSelectableList.ui_field {cb}") + else: cb: QComboBox = view @@ -35,6 +37,7 @@ class FieldViewSelectableList(ch.FieldView): cb.setToolTip(f"({self.parent_field.name}) {self.parent_field._description}") self.ui_edit_fields.append(cb) + self.ui_edit_fields[-1].setCurrentIndex(self.parent_field.get_current_index()) self.ui_edit_fields[-1].currentIndexChanged.connect(self._on_index_changed) #self.ui_edit_fields[-1].editingFinished.connect(self._on_edited_finished) # new @@ -44,8 +47,11 @@ class FieldViewSelectableList(ch.FieldView): self.parent_field.set(int(value)) def _on_value_changed(self, value): - self.parent_field.logger.info(f"{self.parent_field}: FieldViewSelectableList._on_value_changed {value}") + self.parent_field.logger.info(f"{self.parent_field}: FieldViewSelectableList._on_value_changed {value}" + f"-> len {len(self.ui_edit_fields)}") for edit in self.ui_edit_fields: edit: QComboBox + self.parent_field.logger.info(f"{edit}: Setting index to {value}") + edit.setCurrentIndex(value)