|
|
|
|
@ -143,6 +143,7 @@ class QEAbstractWizard(QDialog, MessageBoxMixin):
|
|
|
|
|
|
|
|
|
|
comp = self.view_to_component(view) |
|
|
|
|
try: |
|
|
|
|
self._logger.debug(f'load_next_component: {comp!r}') |
|
|
|
|
page = comp(self.main_widget, self) |
|
|
|
|
except Exception as e: |
|
|
|
|
self._logger.error(f'not a class: {comp!r}') |
|
|
|
|
@ -151,13 +152,11 @@ class QEAbstractWizard(QDialog, MessageBoxMixin):
|
|
|
|
|
page.params = params |
|
|
|
|
page.on_ready() # call before component emits any signals |
|
|
|
|
|
|
|
|
|
self._logger.debug(f'load_next_component: {page=!r}') |
|
|
|
|
|
|
|
|
|
page.updated.connect(self.on_page_updated) |
|
|
|
|
|
|
|
|
|
# add to stack and update wizard |
|
|
|
|
self.main_widget.setCurrentIndex(self.main_widget.addWidget(page)) |
|
|
|
|
page.apply() |
|
|
|
|
self.main_widget.setCurrentIndex(self.main_widget.addWidget(page)) |
|
|
|
|
self.update() |
|
|
|
|
|
|
|
|
|
@pyqtSlot(object) |
|
|
|
|
@ -218,7 +217,11 @@ class QEAbstractWizard(QDialog, MessageBoxMixin):
|
|
|
|
|
self.prev() # rollback the submit above |
|
|
|
|
else: |
|
|
|
|
view = self.submit(wd) |
|
|
|
|
self.load_next_component(view.view, view.wizard_data, view.params) |
|
|
|
|
try: |
|
|
|
|
self.load_next_component(view.view, view.wizard_data, view.params) |
|
|
|
|
except Exception as e: |
|
|
|
|
self.prev() # rollback the submit above |
|
|
|
|
raise e |
|
|
|
|
|
|
|
|
|
def start_wizard(self) -> 'WizardViewState': |
|
|
|
|
self.start() |
|
|
|
|
|