图1.1向导入口效果图
需要用到的扩展点:
org.eclipse.ui.newWizards
org.eclipse.ui.navigator.navigatorContent"
图1.1即为新增的一些向导入口,如果需要实现一个向导入口,需要扩展以上扩展点,这些扩展点都在plugin.xml中编写,以下以第一个向导入口Cpu管理为例:
此扩展点用来注册资源创建向导扩展,创建向导作为“新建对话框”中的选项出现。
class:实现org.eclipse.ui.INewWizard的java类实例
project - 指示向导将创建 IProject 资源的可选属性。还导致向导作为“新建项目对话框”中的选项出现。
finalPerspective - 标识在 IProject 资源创建完成时要激活的透视图的可选属性。
preferredPerspectives - 指定用逗号分隔的透视图标识列表的可选属性。如果当前透视图在此列表
icon - 指定了向导入口的图标
name - 指定了向导入口的名称
point="org.eclipse.ui.newWizards">
name="C/C++"
id="com.djyos.dide.ui.newDWizards">
canFinishEarly="false"
category="com.djyos.dide.ui.newDWizards"
class="com.djyos.dide.ui.wizards.cpu.CpuWizard"
finalPerspective="org.eclipse.cdt.ui.CPerspective"
hasPages="true"
icon="icons/ovr16/cpu_img.gif"
id="com.djyos.dide.ui.wizards.NewDWizard1"
name="%Cpu.title"
project="true">
%Cpu.desc
此扩展中, variable指定了该向导入口在什么视图中可见。
point="org.eclipse.ui.navigator.navigatorContent">
associatedExtensionId="com.djyos.dide.ui.navigator.content"
menuGroupId="org.eclipse.cdt.ui.newProject"
type="new"
wizardId="com.djyos.dide.ui.wizards.NewDWizard1">
value="org.eclipse.cdt.ui.CPerspective">
value="org.eclipse.cdt.core.cnature"/>
需要继承的类:BasicNewResourceWizard
此类由org.eclipse.ui.ide提供,只需依赖该插件就可以导入此类。通过继承该类,可以获取向导的基本框架,再选择性实现以下方法:
@Override
public IWizardPage getPreviousPage(IWizardPage page) {
// TODO Auto-generated method stub
//获取前一页
return super.getPreviousPage(page);
}
@Override
public IWizardPage getNextPage(IWizardPage page) {
// TODO Auto-generated method stub
//获取后一页
return super.getNextPage(page);
}
@Override
public boolean performCancel() {
// TODO Auto-generated method stub
//点击Cancel的处理事件
return super.performCancel();
}
@Override
public void addPages() {
// TODO Auto-generated method stub
//添加页面
fMainPage = new XXXPage(CUIPlugin.getResourceString(PREFIX));
fMainPage.setTitle(wz_title);
fMainPage.setDescription(wz_desc);
addPage(fMainPage);
super.addPages();
}
@Override
public boolean performFinish() {
// TODO Auto-generated method stub
//点击finish的处理事件
return false;
}
需要继承的类:WizardPage
此类由org.eclipse.jface提供,指定了一个向导页面,每个向导页面通过addPage方法加入向导,此向导才会根据页面加入的顺序来显示这些页面,需要继承以下方法:
@Override
public void createControl(Composite parent) {
// TODO Auto-generated method stub
// 本向导页面的总体架构
}
@Override
public IWizardPage getNextPage() {
// TODO Auto-generated method stub
// 获取下一下页面
return super.getNextPage();
}
@Override
public boolean canFlipToNextPage() {
// TODO Auto-generated method stub
// 设置是否可以通过点击Next跳转到下一个页面
return super.canFlipToNextPage();
}