Eclipse Common Navigator Framework详解

4星 · 超过85%的资源 需积分: 9 21 下载量 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环境,满足特定项目的需求。