`
文章列表
FROM:http://www.cnblogs.com/bjzhanghao/archive/2006/02/02/324909.html EMF除了生成模型部分的接口和实现类(不妨称作“核心模型”)以外,还生成一个名称以.Edit结尾的项目,包含一些与核心模型和编辑器关系都十分紧密的代码。这部分代码经 ...
发表于《程序员》2006年12期 一、背景介绍 随着web标准的逐步深入人心,人们也逐渐开始认识到使自己的页面符合标准的重要。web标准认为网页应该由三部分组成,即结构(Structure)、表现(Presentation)和行为(Behavior)。而用XHTML描述内容结构,用CSS作为表现语言,用DOM+ECMAScript实现页面行为也成了web标准的三个组成部分。做到符合web标准,实现结构、表现和行为的分离成为目前许多网站重构的主要工作,也成了现有web项目要实现的目标之一。本人目前从事的开发工作也面临着同样的一个问题—页面布局重构。 二、问题描述 目前公司推出的Ajax集成开发 ...
★emf 运行时编程 ★通过package和factory我们可以非常方便的取得class的metamodel信息,并且创建class instance。 ★EClass,EPackage,EFactory提供了一些通用的方法,由此派生而来的class,package,factory则提供了更多便利的方法以供我们使用。 ★访问指定的class除了通过package的getXxxx()方法之外,还可以取得那些没有generated的class,其用法是XxxxPackage.getEClassifier("Yyyyy")。 ★通过package,我们可以遍历访问所有的class ...
★reference没有默认值,因为它们的默认值都是null ★one-way reference 跟simple attribute比较像,因为涉及到延迟加载,所以getter方法会相对复杂点 ★bedirectional reference 双向引用表示reference在对方的opposite里面保存着(如果用annotated interf ...
★simple attribute没什么好说的,是最基本的类型,与单值(single value)的java基本类型(int,boolean,String等)相对应 ★data type attribute,所有由emf model生成的类型都是由EObject派生的,不过还有一些类不是从EObject派生的,这时候就需要自定义一个Ecore Date Type 和我们要使用的类型对应,在这里定义的data type只是起符号的作用,在使用的时候跟simple data没什么区别,在运行的时候将作为一个实际java类型的代理存在,在emf model中,所有的类型都是EDataType的一个实例 ...
★changeable:boolean值,指定属性值是否可设置 ★transient:boolean值,指定属性值在序列化的时候是否可被忽略 ★unique:boolean值,该属性在multipilicity-many(不知道怎么翻译)的情况下才有意义,它用来表示一个值在同类型对象实例中是否只存在一个相同的值    ★unsettable:当设置了该属性的时候,我们还需要使用另外一个属性值,即unset,该属性就是用来告诉emf,我们是否需要使用unset这个属性。 ★volatile:boolean值,表明该属性值是否直接进行存储,这种情况一般发生在当前属性值是由其他属性计算而来的时候,此 ...
★每个editor要实现这样几个接口:ISelectionProvider接口是用来实现在selection 发生改变的时候传递notification,其运行机制是由global action处理器来创建新的command 同时action bar contributor创建新的action,IMenuListener接口用来处理右键菜单的问题,IEditingDomainProvider解决command的问题。 ★在editor初始化的时候还会创建一个ComposedAdapterFactory 来管理所有的adapter factory,在这些adapter factory中不得不提到的 ...
宏村,享受冬日阳光的好地方. 大伙儿留影 人见人爱的小女孩 宏村村口 宏村八景之首   徽派建筑    留宿主人家的后花园 准备出发   红豆生宏村 少不掉的工艺品   少不了的宣传册 千回百转的小巷子
★adapter是emf.edit ui和command的基础 ★item provider可以这样理解,为不同的可编辑的model items提供相应的功能,从ItemProviderAdapter继承将实现我们所要的大部分item provider功能,而ReflectiveItemProvider 则通过反射实现了我们所需要的功能 ★ ...
★emf的command framework分为两部分,一部分是common的不依赖于emf.edit的command,另一个部分是和emf.edit关联的command,和emf.edit关联的command,通过EObject的相关方法来实现对model的attribute设置,reference修改,copy&paste操作等。 ★在command command中,提供了一个Command接口,里面的方法包括execute(), undo(),redo(),canExecute(), canUndo()等等。其中getResult()方法的作用一般是用来告诉后续的command, ...
(1)------> 虚线箭头表示依赖关系(dependency),一个类需要与另外一个类一起工作,是它一种最弱的关联关系,常见于各种工具类之间的关系 (2)—— 实线表示联合关系(association),一个类包含对另外一个类对象的引用,这个通常是使用属性来实现的,为了表明之间的包含关系,有时候会在实线的一端加上箭头(navigability arrow)来表示导航关系,如果关联的双方又都和第三个类有关联关系,那么可以在实线的中间加一个虚线和第三个类关联来表示这种association classes关系 (3)◇—— 空心菱形加实线表示聚合关系(aggregation),它 ...
·eclipse forms所需要的包要通过mainfest文件来加载,而不是传统的class path来加载 ·在emf中,如果出现model, edit, editor工程之间引用不到的错误,一般是mainfest文件runtime设置的问题 ·form中的内容显示不出来,有可能是plugin.xml文件中 ...
·通过使用emf将xml,java,uml不同的数据模型表现形式关联起来。可以将emf当成一种“胶水”将三者结合起来 ·使用emf的几个原因:第一个就是代码生成(uml也可以用来生成代码吧,不可能是说服我使用emf的理由);第二个就是可 ...
·容器控件具有setLayout()方法, 非容器则只有setLayoutData()方法 ·GridData只能用于GridLayout布局下的组件 ·一个GridData只能用于一个组件 ·gridData.horizontalSpan = 2让一个组件占用两个列的空间 ·创建组件的一般模式,第一个参数指定要组件的父容器对象,第二个就是要创建组件的样式,一般都是SWT.XXXX之类的。 ·GridData.FILL_VERTICAL是将所有空闲内容都填充,GridData.VERTIAL_ALIGN_FILL则是将当前布局分配的控件填充。 ·FormLayout跟GridLayout之间的区 ...
     Rich Editor是我们在Web应用经常使用的一种客户端控件,目前网上开源的、收费的也比较多,在对网上各种富文本编辑器进行了一系列比较之后,我最终选择了FCKEditor(http://www.fckeditor.net, JavaEye的编辑器也是采用的FCKEditor, ...
Global site tag (gtag.js) - Google Analytics