Eclipse向导机制扩展 - 实现可定制的向导 - 编程入门网
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-06-14
导页的所有子向导页 List <TreeWizardPage> children = ((TreeWizardPage)page).getChildren (); for(int i = 0; i < children.size(); i++) { addPage(children.get(i)); } } /** * 插入向导页,第一个参数为待插入的向导页,第二个参数为插入位置之前的向导页 * * @param page * @param prviousPage * @return */ public void addPage(TreeWizardPage page, TreeWizardPage previousPage) { boolean exist = pages.contains(previousPage); if(!exist) return; if (previousPage.getChildren().add(page)) addPage(page); } /** * 从向导中删除向导页 * * @param page * @return */ public void removePage(TreeWizardPage page) { pages.remove(page); List <TreeWizardPage> children = page.getChildren(); for(int i = 0; i < children.size(); i++) { removePage(children.get(i)); } } /** * 从向导中删除向导页,第一个参数为待删除的向导页,第二个参数为删除位置之前的向导页 * * @param page * @param prviousPage * @return */ public void removePage(TreeWizardPage page, TreeWizardPage previousPage) { boolean exist = pages.contains(previousPage); if(exist) { if (previousPage.getChildren().remove(page)) removePage(page); } } /** * 从向导中删除向导页,第一个参数为待删除的向导页的类名,第二个参数为删除位置之前的 向导页 * * @param className * @param previousPage * @return */ public boolean removePage(String className, TreeWizardPage previousPage) { boolean exist = pages.contains(previousPage); if(!exist) return false; List <TreeWizardPage> children = previousPage.getChildren(); for(int i = 0; i < children.size(); i++) { TreeWizardPage temp = children.get(i); if(temp.getClass().getCanonicalName().equalsIgnoreCase(className)) { if (children.remove(temp)) { removePage(temp); return true; } else return false; } } return false; } /* * (non-Javadoc) * @see org.eclipse.jface.wizard.Wizard#addPages() */ public void addPages() { } /* * (non-Javadoc) * @see org.eclipse.jface.wizard.Wizard#canFinish() */ public boolean canFinish() { // 检测是否所有向导页的设置都完成,整个向导可以结束 TreeWizardPage page = rootPage; while (page != null) { if(!page.isPageComplete()) return false; page = page.getNextPage(); } return true; } /* * (non-Javadoc) * @see org.eclipse.jface.wizard.Wizard#createPageControls * (org.eclipse.swt.w |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Eclipse向导机制扩展 - 实现可定制的向导 - 编程入门网的所有评论