CNF通用导航框架

Common Navigator Framework (CNF) 是一套帮助用户开发基于 eclipse 的内容导航视图的框架,通过这套框架开发者可以迅速地将特定的资源与模型无缝地集成到 eclipse 中,并利用其提供的的 API 以树型的结构展示出来。CNF扩展了Jface viewer概念,也就是说它支持多个contentProviderlabelProviderfilter等等。一般地JFace Viewer只支持每种一个。这个框架在org.eclipse.ui.navigator插件中实现。

使用 CNF 为已存在的模型构造资源导航视图。首先,利用 org.eclipse.ui.navigator 扩展点指定资源导航器所使用的 View,通过 CNF 框架,用户不必自已重新实现一个新的 View,只需将扩展点的 View 实现类指明为 org.eclipse.ui.navigator.CommonNavigator

org.eclipse.ui.navigator.viewer 用来在视图和扩展之间建立关系

 

org.eclipse.ui.navigator.navigatorContent 用来提供模型,菜单以及过滤器等内容

 

org.eclipse.ui.navigator.linkHelper 用来支持文件与资源管理器联动

  org.eclipse.ui.navigator.viewer 扩展点上,我们需要指定 viewerContentBinding 来设定导航器中内容的可见性,其中 includes 属性语句表明该内容在 view 上为可见,pattern 为预先定义好的展示内容的 id(这个id是在navigatorContent下面定义的多个NavigatorContent中的一个id,表示这个id所表示的navigatorContent可以在视图中可见。). viewerActionBinding对应于action的支持,例如选择某个对象,显示一个什么的右键菜单;viewerContentBinding对应于内容提供,就是在这navigator上显示什么内容;viewer对应的就是这个navigator要显示在哪个view上。

定义完了一个内容navigatorContent以后,并不是会自动被显示的,我们需要给它加一个触发点triggerPoints其实意思就是:如果选择的是一个文件,并且文件扩展名为“xml”,则触发我们的内容导航。

内容参见:http://blog.csdn.net/pursuer211/article/details/5770442

猜你喜欢

转载自sdfx.iteye.com/blog/1940896
今日推荐