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

问题描述:

我已经使用org.eclipse.ui.newWizard扩展点创建了一个新向导。 它在选定的包下创建一个新文件。有条件地停止显示org.eclipse.ui.newWizard

现在我需要显示一条错误消息,并且如果用户没有选择包,则不显示向导。如果选择了我的getSelectedPackage()方法,则会返回currunt程序包,如果不返回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)使得仅取消可被按压。

+0

感谢@格雷格一如既往的评论! –