package org.erlide.wrangler.refactoring.ui.wizardpages;
import org.eclipse.jface.wizard.IWizardPage;
import org.erlide.wrangler.refactoring.core.internal.UserRefactoring;
import org.erlide.wrangler.refactoring.ui.validator.IValidator;
/**
* Input page for ad hoc custom refactorings, enables to pass the name for the
* callback module
*
* @author Aleksandra Lipiec <aleksandra.lipiec@erlang-solutions.com>
* @version %I%, %G%
*/
public class ModuleInputPage extends SimpleInputPage {
public ModuleInputPage(final String name, final String description,
final String labelText, final String inputErrorMsg,
final IValidator validator) {
super(name, description, labelText, inputErrorMsg, validator);
}
@Override
protected boolean isInputValid() {
if (validator.isValid(inputText.getText())) {
((UserRefactoring) getRefactoring())
.setCallbackModuleName(inputText.getText());
setErrorMessage(null);
setPageComplete(true);
return true;
}
setPageComplete(false);
setErrorMessage(inputErrorMsg);
return false;
}
@Override
public IWizardPage getNextPage() {
if (!((UserRefactoring) getRefactoring()).fetchParPrompts()) {
setErrorMessage("Can not load specified callback module");
setPageComplete(false);
}
return super.getNextPage();
}
}