有条件地停止显示 org.eclipse.ui.newWizard

Conditionally stop displaying the org.eclipse.ui.newWizard

我使用 org.eclipse.ui.newWizard 扩展点创建了一个新向导。 它在 selected 包下创建一个新文件。

现在我需要显示一条错误消息,如果用户没有 select 包, 则不显示向导。我的 getSelectedPackage() 方法 returns 当前包 if selected, if not returns null.

performCancel() 外,一切都按预期进行。它显示错误消息,然后还显示向导对话框。

谁能告诉我如何有条件地停止显示向导?

public class NewTestScriptWizard extends Wizard implements INewWizard {

public NewTestScriptWizard() {
    super();
    setNeedsProgressMonitor(true);
    if(getSelectedPackage()== null){
        MessageDialog
                .openError(getShell(), "Error","You must select a package to create a new file");
    performCancel();
    }
}

此时无法停止创建向导。 performCancel 像这样调用时什么都不做。

唯一要做的就是在向导的第一页显示错误消息(使用 setMessagesetErrorMessage)并将页面设置为不完整(使用 setPageComplete(false)这样就只能按取消了。