随笔 - 3, 文章 - 152, 评论 - 17, 引用 - 0
数据加载中……

5.3 常用插件扩展点实战 - 加入透视图(perspectives)

*******************************************************
作者:陈刚,普通程序员,曾有幸以Eclipse插件方式开发过一个中型软件。现将所学
付诸于纸,暂取书名<Eclipse插件开发指南>,将于2005年初由清华大学出版社出版。
blog:http://www.cnblogs.com/glchengang/
*******************************************************
 

5.3  常用插件扩展点实战(plugin.xml

在上一节(5.2.2节)已经对原有的plugin.xml做了很详尽的介绍,plugin.xml是插件和Eclipse的接口,Eclipse就象一所大宅子,它的外墙(plugin.xml)有很多的门(扩展点),我们要熟练进出这座大宅子,先得搞清楚它有哪些门,当然我们只需要熟悉一些主要的门就足够应付90%的需求了。

本节将以开发需求为导向来介绍这些扩展点,并且本节所有实例都在5.2.2节所建立的myplugin2项目的基础上来进行讲解演示。

5.3.1  加入透视图(perspectives)

往开发一个插件,最常用的方式就是新增一个属于本插件专有的透视图,然后在此透视图基础上来展开软件开发,本书即采用这种方式。

1、准备工作

我们先将以前用到的那些图标的icons目录复制一份到myplugin2项目中,复制后的路径如图5.9所示:

5.9  图标的路径

2、修改plugin.xml文件,设置透视图的扩展点

打开plugin.xml文件的编辑框,将如下代码块插入到最后一行的</plugin>之前:

<extension

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

  <perspective

        name="myplugin透视图"

        icon="icons/selectall.gif"

        class="book.chapter_5.SamplePerspective"

        id="book.chapter_5.SamplePerspective">

  </perspective>

</extension>

说明:

l           org.eclipse.ui.perspectives是透视图的扩展点

l           name 透视图的名称

l           icon 透视图的图标

l           class 透视图所对应的类(我们还没编写,下一步将完成此类)

l           id 透视图标识,建议设置成和class一样的名称,省得以后扩展点设置得太多,搞得人糊涂。

3、建立透视图类

在上一步的plugin.xml中提前设置了透视图对应的类book.chapter_5.SamplePerspective,这一步我们就来在包book.chapter_5中创建此类。透视图的类必须实现IPerspectiveFactory接口,此接口只有一个方法createInitialLayout,我们让它先空实现好了。SamplePerspective代码如下:

//--------文件名:SamplePerspective.java--------------------

public class SamplePerspective implements IPerspectiveFactory {

    public void createInitialLayout(IPageLayout layout) {}

}

4、运行插件

按以前所说的方法运行插件后,在新开的Eclipse环境中选择主菜单“窗口→打开透视图→其它”。在弹出如图5.10的透视图选择窗口中,我们可以看到一个名为“myplugin透视图”的项。

5.10  选择透视图

选择并打开“myplugin透视图”项后,显示如图5.11Eclipse界面。我们发现该透视图光秃秃的什么也没有。没关系,我们下一小节就会往这个透视图加入两个视图。

5.10  myplugin透视图的效果图

5、总结

由本小节可以看到在Eclipse创建一个界面(菜单、按钮、透视图)是多么的简单,我们都不用编写实际界面的创建代码,只要设置一些扩展点就行了。

posted on 2005-02-15 11:11 阅读(145) 评论(0)  编辑  收藏 所属分类: Edit Tools


只有注册用户登录后才能发表评论。


网站导航: