本文介绍Common Navigator Framework(CNF)框架及简单实现。CNF的其他实现可以参考作者的系列文章。
CNF 全名 Common Navigator FramWork,它是Eclipse平台的一个开源框架,官网:https://wiki.eclipse.org/Common_Navigator_Framework
。CNF提供了一系列面向文件资源编辑导航控件,在基于Eclipse Plugin开发类似于Eclipse 的文件编辑器时具有极大的优点与参考价值。
Eclipse 编辑器的导航ProjectExplorer是CNF实现的一个经典案例,其视图实现类为org.eclipse.ui.navigator.ProjectExplorer
,更多导航实现细节可以从插件org.eclipse.ui.navigator.resources
的 plugin.xml 文件入手分析。
CNF以插件的方式提供相关API及扩展点,插件名为org.eclipse.ui.navigator
(注意:与org.eclipse.ui.navigator.resources
不是同一个插件。前者设计定义了CNF框架的插件,后者只是对CNF的实现)。主要扩展点有:
Common Navigator Framework 实践(一)自定义导航
Common Navigator Framework 实践(二)菜单扩展
Common Navigator Framework 实践(三)文件拖拽控制
Common Navigator Framework 实践(四)文件过滤
Common Navigator Framework 实践(五)菜单及工具条定制