public void registerWizardPage(final WizardPage wizardPage) { assertNotNull("wizardPage", wizardPage); if (wizardPage.getWizard() != null) wizardPage.setWizard(this); if (knownPages.containsKey(wizardPage)) return; wizardPage.completeProperty().addListener(updateCanFinishInvalidationListener); knownPages.put(wizardPage, null); wizardPage.setVisible(false); getChildren().add(0, wizardPage); }
@Override public void set(final WizardPage newValue) { final WizardPage oldValue = get(); super.set(newValue); if (getCurrentPage() == oldValue) setCurrentPage(null); // if (oldValue != null) // getChildren().remove(oldValue); // TODO is this really needed? and if so, shouldn't // we remove all other pages? if (newValue != null) { newValue.setWizard(Wizard.this); newValue.updateButtonsDisable(); if (getCurrentPage() == null) navTo(newValue, false); } }