Eclipse插件开发之新建向导

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 - 指定了向导入口的名称

<extension

         point="org.eclipse.ui.newWizards">

      <category

            name="C/C++"

            id="com.djyos.dide.ui.newDWizards">

      </category>

     

        <wizard

            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">

        <description>

            %Cpu.desc

        </description>

       </wizard>

</extension>

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

此扩展中, variable指定了该向导入口在什么视图中可见。

<extension

       point="org.eclipse.ui.navigator.navigatorContent">      

        <commonWizard

           associatedExtensionId="com.djyos.dide.ui.navigator.content"

           menuGroupId="org.eclipse.cdt.ui.newProject"

           type="new"

           wizardId="com.djyos.dide.ui.wizards.NewDWizard1">

            <enablement>

                <or>

<with variable="activeWorkbenchWindow.activePerspective">

                    <equals

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

                    </equals>

                </with>

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

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

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

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

               </and>

           </or>

         </enablement>

         </commonWizard>

</extension>

  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();

     }

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值