From 8c4bafda825c4a7ac4c6ae232f57ded940ce092e Mon Sep 17 00:00:00 2001 From: Zlatin Balevsky Date: Fri, 29 May 2020 01:50:53 +0100 Subject: [PATCH] move the button enabling logic in view --- .../com/muwire/gui/wizard/WizardController.groovy | 10 +--------- .../views/com/muwire/gui/wizard/WizardView.groovy | 4 ++++ 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/gui/griffon-app/controllers/com/muwire/gui/wizard/WizardController.groovy b/gui/griffon-app/controllers/com/muwire/gui/wizard/WizardController.groovy index 633fcd6c..c92778ad 100644 --- a/gui/griffon-app/controllers/com/muwire/gui/wizard/WizardController.groovy +++ b/gui/griffon-app/controllers/com/muwire/gui/wizard/WizardController.groovy @@ -17,19 +17,17 @@ class WizardController { @ControllerAction void previous() { model.currentStep-- - recalcButtons() view.updateLayout() } @ControllerAction void next() { def errors = model.steps[model.currentStep].validate() - if (errors) { + if (errors != null && !errors.isEmpty()) { String errorMessage = String.join("\n", errors) JOptionPane.showMessageDialog(model.parent, errorMessage, "Invalid Input", JOptionPane.ERROR_MESSAGE) } else { model.currentStep++ - recalcButtons() view.updateLayout() } } @@ -48,10 +46,4 @@ class WizardController { model.finished['applied'] = false view.hide() } - - private void recalcButtons() { - model.previousButtonEnabled = model.currentStep > 0 - model.nextButtonEnabled = model.steps.size() > (model.currentStep + 1) - model.finishButtonEnabled = model.steps.size() == (model.currentStep + 1) - } } \ No newline at end of file diff --git a/gui/griffon-app/views/com/muwire/gui/wizard/WizardView.groovy b/gui/griffon-app/views/com/muwire/gui/wizard/WizardView.groovy index a15d9897..2b583bb4 100644 --- a/gui/griffon-app/views/com/muwire/gui/wizard/WizardView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/wizard/WizardView.groovy @@ -49,6 +49,10 @@ class WizardView { } void updateLayout() { + model.previousButtonEnabled = model.currentStep > 0 + model.nextButtonEnabled = model.steps.size() > (model.currentStep + 1) + model.finishButtonEnabled = model.steps.size() == (model.currentStep + 1) + String constraints = model.steps[model.currentStep].getConstraint() def cardsPanel = builder.getVariable("cards-panel") cardsPanel.getLayout().show(cardsPanel, constraints)