Eclipse插件开发之新建向导

Eclipse插件开发之新建向导

                                                                                                                                                                              

  1. 添加向导入口

Eclipse插件开发之新建向导_第1张图片

图1.1向导入口效果图

需要用到的扩展点:

org.eclipse.ui.newWizards

org.eclipse.ui.navigator.navigatorContent"

1.1即为新增的一些向导入口,如果需要实现一个向导入口,需要扩展以上扩展点,这些扩展点都在plugin.xml中编写,以下以第一个向导入口Cpu管理为例:

1.1"org.eclipse.ui.newWizards"

此扩展点用来注册资源创建向导扩展,创建向导作为新建对话框中的选项出现。

class:实现org.eclipse.ui.INewWizardjava类实例 

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

       

      

1.2"org.eclipse.ui.navigator.navigatorContent"

此扩展中, 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">

            

               

variable="activeWorkbenchWindow.activePerspective">

                   

                          value="org.eclipse.cdt.ui.CPerspective">

                   

               

value="org.eclipse.cdt.core.model.ICElement" />  

               value="org.eclipse.core.resources.IProject"/>

               property="org.eclipse.core.resources.projectNature"

                             value="org.eclipse.cdt.core.cnature"/>

              

          

        

         

  1. 添加新向导  

2.1、设置向导的基本配置

需要继承的类: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;

}

2.2、新增向导页面

需要继承的类: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();

     }

 

 

 

你可能感兴趣的:(Eclipse插件开发)