CNF全称:Common Navigator Framework
NCE全称:Navigator Content Extensions
Eclipse 对于导航视图提供了很完整的实现,如果看过Eclipse其它导航实现,基本上都是使用这个框架来实现的。在官方提供的文档中,有详细的描述和一个简单的小例子。英文好的可以自己翻译来看看具体的详解。
开发中常用的部分:
ViewPart 继承 CommonNavigator
Navigator Content Extensions 使用扩展点 org.eclipse.ui.navigator.navigatorContent来配置
Viewer 使用扩展 点 org.eclipse.ui.navigator.viewer来配置
具体用法:
在开发之前先加几个jar到MF文件的Dependencies选项卡中,不需要版本限制的选择“Properties”去掉最高和最低版本即可。
-- org.eclipse.core.resources.
-- org.eclipse.ui.navigator
-- org.eclipse.ui.navigator.resources
定义View
打开MF配置文件,切换到Extensions扩展点配置选项卡中,点击Add,输入扩展点“org.eclipse.ui.views”并选择后,在扩展点选项卡中会显示已选择的扩展。
右键New -- view.如图:
-- id:输入id(唯一,一般定义跟类的全路径相同)
-- name:输入名称
--class:输入创建类并且输入全路径,个人比较喜欢,在文本框中输入类名,然后选择左侧的class*:会弹出创建类的对话框,输入包名、类名、继承的类。点击Finish就会自动输入路径和打开新创建的类。
--category:这个目录是在OpenView中显示在哪个目录下的,如果没有,则会显示在Other的目录中。创建Category:右键选择views扩展点来创建并且输入。并将创建的id (唯一)输入进去,
--icon:视图的图片
其它的不需要输入即可
打开新建的view类.
2.1 先定义View的id,与在配置文件中配置的id一致,在需要调用的时候可以方便直接调用,而不用每次都要在写一次。
public final static String ID ="com.itec.rcp.view.ItecNavigatorView";
2.2 覆盖父类 handleDoubleClick 方法,这个方式是双击打开文件或者展开的时候用。 在父类的有几个方法可以供覆盖方法,比如说视图上方的工具栏等。。
2.3 调用view,在Perspective.java -- createInitialLayout方法中添加, 意思是在左侧显示,0.25f 显示的是占用的比例。可以根据要求自己修改。
String editor = layout.getEditorArea();
layout.addView(ItecNavigatorView.ID, IPageLayout.LEFT, 0.25f, editor);
2.3 创建完成后,可以启动,如果没有什么问题的话,一个简单的视图就已经创建完成。现在只是创建一个空的,什么功能都没有。
下篇开始定义导航视图中右键功能(自定义右键功能)、数据提供、创建java工程
源码下载地址:http://pan.baidu.com/s/1o64YOrC
转载麻烦加上链接,谢谢合作。