如何使用Eclipse CNF的Saveable Protocol实现对View的保存

Editor 和 View 是 Eclipse 中用于展示和管理资源的两种 UI 元素。Editor 提供了一套方便的机制帮助用户实现对资源的修改及保存。但对于 View,它在很大程度上提供是对资源的树形展示,那如何将对资源的修改在 View 上反映出来,并通过对 View 的操作来保存 View 中的资源呢? Common Navigator Framework(CNF)提供了不同于 Editor 的资源保存机制 (Saveable Protocol) 来帮助用户完成对 View 中资源的保存。

CNF 的介绍

Common Navigator Framework (CNF) 是一套帮助用户开发基于 eclipse 的内容导航视图的框架,通过这套框架开发者可以迅速地将特定的资源与模型无缝地集成到 eclipse 中,并利用其提供的的 API 以树型的结构展示出来。CNF 最初来源于 Rational Application Developer (RAD) v6.0 项目,并使用于 Eclipse 3.2。

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

图 1. org.eclipse.ui.navigator.CommonNavigator 扩展点

接着,通过 org.eclipse.ui.navigator.navigatorContent 指明将要在 View 中展现的内容,包括 actionProvider,commonFilter, commonWizard, navigatorContent. 其中,在 navigatorContent 中,用户可以定义 ContentProvider 和 LabelProvider,来展示资源导航器中的不同结点,并通过指定触发条件来控制内容的展现时机。如下图所示,当定义的 triggerPoints 表达式为真时,provider 的 getElements() 和 getChildren() 的方法将会被调用。

图 2. triggerPoints 属性

然后,通过 org.eclipse.ui.navigator.viewer 扩展点,将要展现的内容绑定到 view 上,用户不再需要通过硬编程(hard-code)的方式将 ContentProvider 和 LabelProvider 注册到特定的 View 上。在 org.eclipse.ui.navigator.viewer 扩展点上,我们需要指定 viewerContentBinding 来设定导航器中内容的可见性,其中 includes 语句表明该内容在 view 上为可见,pattern 为预先定义好的展示内容的 id。

时间: 2024-10-31 12:33:55

如何使用Eclipse CNF的Saveable Protocol实现对View的保存的相关文章

用ASP实现对Web搜索引擎Index Server的访问

摘要:Index Server是专门为企业Web网站设计的专业搜索引擎,传统的访问方法HTML/IDQ/HTX由于固有的特性,缺乏灵活性.本文介绍用ASP实现对Index Server访问的两种方法,以及如何实现复杂查询,和对查询结果的控制. 关键字:Index Server ASP ADO  在电子商务方兴未艾的今天,企业上网不但是为了展示企业形象,提高知名度:也意味着无穷的商机与财富.而内部网Intranet则为企业带来了全新的沟通方式和管理理念.因此构建企业Web站点已经排上了许多企业信息

用ASP语言实现对SQL SERVER 数据库的操作

目前管理信息系统已从传统的客户机/服务器(C/S)模式转向了浏览器/服务器(B/S)模式,特别是微软公司推出它的新产品ASP语言之后,这种转变更加迅猛.管理信息系统的核心是对数据库进行包括添加.修改和查询等等操作,ASP提供的ADO数据库接口控件,使得程序员再也勿需编写复杂的CGI程序了,而只要用几句简单的语句即可实现以上操作.目前有很多介绍用ASP开发网络数据库的程序例子,但绝大部分是利用ACCESS作底层数据库.相对于ACCESS而言,SQL SERVER数据库系统要复杂得多,因此在程序开发

用ASP实现对ORACLE数据库的操作

oracle|数据|数据库 ASP(Active Server Pages)是微软公司为开发互联网应用程序所提出的工具之一,ASP与数据库的联接一般通过ADO(Activex Data Object)来实现的,就象<计算机世界>2000年3月20日的<用ASP对SQL Server数据库操作>文章介绍的一样,ADO可以完全支持Microsoft SQL Server ,但对应用更加广泛.机制更加复杂的ORACLE 数据库服务就有一些困难,如果想作一些简单的查询功能,ADO是足够的,

用ADO的COMMAND对象实现对WEB数据库动态数据查询的方法

用ADO的COMMAND对象实现对WEB数据库动态数据查询的方法★ 林碧英众所周知,由于ASP技术的出现,使得Intranet的应用更加广泛深入.相当多的企业都建立了企业内部综合查询系统,如何快速.准确地查询企业内部信息是编写基于WEB技术应用程序必须要解决的主要问题.ASP提供了用ADO内置的3个主要对象Recordset.Connection和Command对WEB数据库进行操作.其中Connection的主要功能是建立与WEB数据库的链接:Command的主要功能是向WEB数据库传送数据查

利用VB实现对IE的调用与控制

随着网络应用的不断扩展,采用HTML语言编写的文档越来越多,如何在VB程序中实现对HTML文档的浏览是一个需要解决的问题.本文以一个实例说明了在VB中调用和控制Internet Explorer的方法. 一.编程准备 VB通过OLE自动化技术创建和控制Internet Explorer对象的实例,因此,在新建一个工程后需要加入Microsoft Internet 控制的参考,方法是打开Visual Basic 的Project下拉菜单中的Reference-选项,单击Browse-按钮,在Win

用php实现对HDFS的操作

用php实现对HDFS的操作,大体步骤如下: wget https://dist.apache.org/repos/dist/release/thrift/0.9.0/thrift-0.9.0.tar.gz tar zxvf thrift-0.9.0.tar.gz cd thrift-0.9.0 find / -name 'bootstrap.sh' yum install automake libtool flex bison pkgconfig gcc-c++ boost-devel lib

使用CBE和JAXB集成实现对WAS上应用程序的业务数据监控

当今企业提倡的是随需而变,因此需要在尽可能短的时间分析元数据来响应这些变化的巨大挑战.此 外,如何提前预知企业应用中的潜在问题,如客户注册量.订单量的浮动等等,都对企业制定计划至关重 要,因此我们需要对元数据进行及时的收集分析. EJB3 作为当前的主流技术之一,提供了一系列的技术 点来支持开发人员更好的操作 JavaBean,使得对 JavaBean 的控制更加简单,同时,JAXB 提供了对 JavaBean 与 XML 之间的相互转换. 如我们所知,所有在 WebSphere Applica

如何利用C++ Builder实现对Excel97 的调用

我们在进行数据库软件的开发时,一般都要进行大量的报表设计,虽然我们可以利用crystal report 或程序自带的报表工具进行报表设计,但是当涉及到要设计多重报表或交叉报表时.我们一般都会感到自己力不从心.有时虽然想利用excel作为前台报表,但却找不到相关接口只能作罢.其实我们只要知道excel的接口结构,就能够方便的实现对excel的调用. 原理:在excel 中程序接口一般分为3层 ,分别为:exelapplication.excelbook.excelsheet 其中exelappli

Android 通过onDraw实现在View中绘图操作的示例

以下是对Android通过onDraw实现在View中绘图操作的示例代码进行了详细的分析介绍,需要的朋友可以过来参考下   Android绘图操作,通过继承View实现,在onDraw函数中实现绘图.下面是一个简单的例子: 复制代码 代码如下: public class AndroidTest extends Activity {     /** Called when the activity is first created. */     @Override     public void