知识大全 使用CommonNavigator开发资源管理器--基础篇
Posted 知
篇首语:观书散遗帙,探古穷至妙。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 使用CommonNavigator开发资源管理器--基础篇相关的知识,希望对你有一定的参考价值。
使用CommonNavigator开发资源管理器--基础篇 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
无论在哪一个开发工具中 资源管理器无疑都是使用最频繁的功能之一 因此一个资源器好用与否在很大程度上就决定了一个开发工具的易用程度 我们常用的Eclipse工具中的Java资源管理器就是一个非常优秀的资源管理器 所以在EOS Studio中 我们也照样抄袭它的功能 但是Java的资源管理器做了非常多的功能 如果从头开始做一个相似的资源管理器将是一个非常大的工作量 无论技术风险还是项目时间 都是非常可观的 幸好Eclipse还提供了一个优秀的插件 eclipse ui navigator(以下简称为CNF 即Common Navigator Framework) 这个插件提供了完整而且灵活的扩展机制 可以帮助开发人员进行各种相应的类资源管理器功能 其实这个插件在WTP在自己的项目中提供的 最早是用来开发数据库视图的(根源在于RAD 但在WTP中 源代码被大量重写 所以直接就写成WTP) 这个插件有足够的实力证明了自己的优秀 随后在Eclipse 版本中 它正式成为Eclipse UI层的核心插件之一 默认的Eclipse平台上有一个Project Explorer视图 就是基于它开发的一个资源管理器视图 它允许各种插件提供相应的内容 从而定制适合于各种环境下的资源管理器 下图显示了它的界面和相应的扩展功能
Studio在 eclipse ui navigator的基础上开发了资源管理视图 以及相应的功能 因此要扩展和维护Studio的资源管理器 就需要先了解 eclipse ui navigator这个插件 特别是它的扩展机制
eclipse ui navigator尽管只提供了以下三个扩展点 却涉及到expression 还有wizard filter等一堆内容 所以还是比较复杂的
eclipse ui navigator viewer
用来在视图和扩展之间建立关系
eclipse ui navigator navigatorContent
用来提供模型 菜单以及过滤器等内容
eclipse ui navigator linkHelper
用来支持文件与资源管理器联动
现在先用一个简单的实例方便开发人员上手 以便进一步了解相关的内容 这个实例就是使用现有的资源 无须编写一行代码 仅仅是通过plugin xml的配置来配置出一个简单的Java资源管理器
首先 请先通过向导新建一个Eclipse插件项目 demo navigator 如下图所示:
在新建完项目以后 请导入以下插件:
re runtime
Eclipse的核心之一
re resources
Eclipse的资源模型
eclipse ui
Eclipse的UI框架
eclipse ui navigator
我们本章要讲的插件
eclipse ui navigator resources
一个基于 eclipse ui navigator的插件 提供了ProjectExplorer视图
然后在Eclipse扩展配置的功能页面中 进行了一系列配置以后 可以得到以下的内容 心急的同学可以将该内容复制到plugin xml文件中 然后运行该插件 即可看到一个简单的Eclipse资源管理器
<?xml version= encoding= UTF ?>
<?eclipse version= ?>
<plugin>
<extension
point= eclipse ui views >
<view
category= eclipse ui
class= eclipse ui navigator CommonNavigator
id= demo navigator view
name= DemoNavigator />
</extension>
<extension
point= eclipse ui navigator viewer >
<viewer viewerId= demo navigator view />
<viewerContentBindingviewerId= demo navigator view >
<includes>
<contentExtension pattern= demo navigator * />
<actionExtension pattern= demo navigator * />
</includes>
</viewerContentBinding>
</extension>
<extension
point= eclipse ui navigator navigatorContent >
<navigatorContent
contentProvider= eclipse ui internal navigator resources workbench ResourceExtensionContentProvider
id= orntent
labelProvider= eclipse ui internal navigator resources workbench ResourceExtensionLabelProvider
name= DemoNavigator >
<enablement>
<or>
<instanceofvalue= re resources IResource />
<adapt type= re resources IProject />
</or>
</enablement>
</navigatorContent>
</extension>
</plugin>
尽管我们并没有写任何一行Java代码 但是却已经提供了一个具有基本功能的资源管理器 由此可以该插件的强大
现在针对对应的配置图来讲述相应的内容:
在这个例子 使用了三个扩展点 分别是: eclipse ui views eclipse ui navigator viewer和 eclipse ui navigator navigatorContent
Eclipse插件开发人员对于 eclipse ui views一定不陌生 因为这是Eclipse中最常用的一个扩展点 它用来定义Eclipse的视图 象属性视图 大纲视图都是通过该扩展点来定义的
eclipse ui navigator viewer则是CNF的一个基本扩展点 它提供了将 eclipse ui navigator navigatorContent与一个CommonNavigator绑定的功能
<extension
point= eclipse ui navigator viewer >
<viewer viewerId= demo navigator view />
<viewerContentBindingviewerId= demo navigator view >
<includes>
<contentExtension pattern= demo navigator * />
<actionExtension pattern= demo navigator * />
</includes>
</viewerContentBinding>
</extension>
这段代码表示所有名称符合 demo navigator * 的 eclipse ui navigator navigatorContent都可作为资源管理器的树模型扩展
最后一个扩展点 eclipse ui navigator navigatorContent的配置则是CNF框架中最为复杂的一个点 在例子中 则只采用了最简单的配置信息
<extension
point= eclipse ui navigator navigatorContent >
<navigatorContent
contentProvider= eclipse ui internal navigator resources workbench ResourceExtensionContentProvider
id= orntent
labelProvider= eclipse ui internal navigator resources workbench ResourceExtensionLabelProvider
name= DemoNavigator >
<enablement>
<or>
<instanceofvalue= re resources IResource />
<adapt type= re resources IProject />
</or>
</enablement>
</navigatorContent>
</extension>
cha138/Article/program/Java/ky/201311/28580相关参考
ASP.NET开发宝典:安装配置IIS服务管理器 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
实战开发C#索引器学习笔记 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 简单说来所谓索引器就是
C#索引器实战开发学习笔记 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 这是使用C#开发智能手
本文提出了一种界面设计中的架构模式界面组装器模式它致力于分解界面将界面和组装行为解耦将界面逻辑处理与领域逻辑处理解耦这样我们在开发GUI胖客户端界面应用时可以从众多的界面控制管理中解脱出来而专注于
实战开发C#索引器学习笔记[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 备注: 
开发基于Web的CSS设计器 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
实战开发C#索引器学习笔记[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 简单说来所谓索引
来自于布局管理类LayoutManager 创建方法 a布局管理器必须实现布局管理器类的接口// b覆蓋五个函数 //在布局管理器中增加或删除组件时调用下面两个函数 voidaddLay
目前世界上拥有作业型深潜器的国家除中国外,还有美国、日本、法国、俄罗斯四个国家.深海载人潜水器,是海洋开发的前沿与制高点
目前世界上拥有作业型深潜器的国家除中国外,还有美国、日本、法国、俄罗斯四个国家.深海载人潜水器,是海洋开发的前沿与制高点之一,其水平可以体现出一个国家结构、材料、控制、海洋学等领域的综合科技实力。当今
使用资源管理器优化Oracle性能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 操作系统优化