Eclipse Common Navigator Framework详解
4星 · 超过85%的资源 需积分: 9 31 浏览量
更新于2024-07-29
收藏 468KB PDF 举报
"Common Navigator Framework (CNF) 是一个用于构建Eclipse中内容导航视图的框架,它允许开发者快速地将特定资源和模型集成到Eclipse环境中,并以树形结构展示。CNF起源于Rational Application Developer (RAD) v6.0项目,并在Eclipse 3.2版本中被采用。"
**1. Common Navigator Framework (CNF)**
CNF是一个设计用于创建和管理Eclipse工作台中导航视图的框架。它的主要目标是简化内容的呈现和交互,使得用户能以统一的方式浏览和操作各种类型的项目和文件。
**1.1 概述**
CNF提供了一套API和扩展点,使开发者能够自定义视图,显示和操作数据模型。它支持动态更新,这意味着当底层模型发生变化时,视图会自动反映这些变化。此外,CNF还支持拖放、链接编辑器、过滤器和向导等高级功能。
**1.2 Eclipse CNF**
- **文件处理结构**:CNF处理Eclipse工作台中的文件和项目结构,允许用户以树状视图查看和操作。
- **Project Explorer分解**:CNF可以被用来实现类似于Project Explorer的功能,提供对项目、文件和资源的层次化表示。
**2. Navigator**
- **概述**:Navigator是CNF的一个关键组件,它负责展示工作台中的资源。
- **扩展点**:CNF通过扩展点允许开发者定制内容提供者(Content Provider)、标签提供者(Label Provider)、触发点(Trigger Points)等。
- **Eclipse Navigator实现**:包括CommonViewer、NavigatorActionService、INavigatorContentService和LinkHelperService等组件,它们协同工作以提供完整的导航体验。
**3. Navigator Content Extensions**
- **概述**:这部分讨论如何扩展Navigator的内容,如定义内容提供者、标签提供者以及控制何时触发视图更新。
- **扩展点详解**:包括contentProvider、labelProvider、triggerPoints和possibleChildren等属性。
**4. Common Filters**
- **概述**:CNF支持过滤器,允许根据条件隐藏或显示某些项目。
- **Eclipse实现**:开发者可以创建自定义过滤器来适应特定需求。
**5. Common Wizards**
- **概述**:CNF提供了一个平台来集成向导,方便用户进行资源的创建和编辑。
- **Eclipse实现**:向导可以通过扩展点与CNF视图关联。
**6. Action Providers**
- **概述**:CNF允许定义自定义操作,增强视图的功能。
- **Eclipse实现**:开发者可以指定action类和ID,将这些操作绑定到视图的元素上。
**7. Drag and Drop Support**
- **概述**:CNF支持拖放操作,允许用户在视图之间移动资源。
- **Eclipse实现**:包括Drag和Drop的扩展点,使得视图可以响应用户的拖放行为。
**8. Link with Editor Support**
- **概述**:CNF提供了与编辑器联动的功能,当用户在视图中选择一个项目时,相应的编辑器会自动打开。
- **Eclipse实现**:扩展点允许开发者配置这一功能,确保视图和编辑器之间的同步。
CNF是Eclipse开发中的一个重要工具,它提供了丰富的功能和灵活性,使得开发者能够构建出功能强大且用户友好的资源导航视图。通过理解和利用CNF的各个组件和扩展点,开发者可以高效地定制Eclipse环境,满足特定项目的需求。
2023-06-06 上传
2023-05-21 上传
2023-06-28 上传
2023-09-01 上传
2023-09-01 上传
2023-09-19 上传
harryzhou6
- 粉丝: 0
- 资源: 1
最新资源
- 明日知道社区问答系统设计与实现-SSM框架java源码分享
- Unity3D粒子特效包:闪电效果体验报告
- Windows64位Python3.7安装Twisted库指南
- HTMLJS应用程序:多词典阿拉伯语词根检索
- 光纤通信课后习题答案解析及文件资源
- swdogen: 自动扫描源码生成 Swagger 文档的工具
- GD32F10系列芯片Keil IDE下载算法配置指南
- C++实现Emscripten版本的3D俄罗斯方块游戏
- 期末复习必备:全面数据结构课件资料
- WordPress媒体占位符插件:优化开发中的图像占位体验
- 完整扑克牌资源集-55张图片压缩包下载
- 开发轻量级时事通讯活动管理RESTful应用程序
- 长城特固618对讲机写频软件使用指南
- Memry粤语学习工具:开源应用助力记忆提升
- JMC 8.0.0版本发布,支持JDK 1.8及64位系统
- Python看图猜成语游戏源码发布