Fixed validation error popup location when the first page is invalid

This commit is contained in:
nathan 2015-08-08 22:14:17 +02:00
parent dadda62cab
commit 61b64658e1

View File

@ -334,6 +334,7 @@ public class Wizard {
void validatePopover(final String newValue) {
if (newValue != null) {
currentPage.ifPresent(currentPage -> {
Platform.runLater(() -> {
final PopOver popOver = this.popOver;
this.popOverErrorText.setText(newValue);
@ -344,6 +345,7 @@ public class Wizard {
popOver.show(BUTTON_NEXT, -10);
}
});
});
} else {
popOver.hide();
}
@ -685,12 +687,6 @@ public class Wizard {
invalidProperty.bind(currentPage.invalidProperty);
invalidPropertyStrings.bind(currentPage.invalidPropertyStrings);
if (currentPage.invalidProperty.get()) {
validatePopover(currentPage.invalidPropertyStrings.get());
} else {
popOver.hide();
}
final Node firstFocusElement = currentPage.firstFocusElement;
if (firstFocusElement != null) {
Platform.runLater(() -> {
@ -736,7 +732,13 @@ public class Wizard {
stage.sizeToScene();
}
currentPage.validationSupport.redecorate();
Platform.runLater(() -> {
if (isInvalid()) {
validatePopover(currentPage.invalidPropertyStrings.get());
} else {
popOver.hide();
}
});
});
validateActionState();