快速业务通道

扩展Visual Editor的控件和属性 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-07-04
uot;    key="org.eclipse.ve.internal.cde.core.nameincomposition" value="bordertextitem"/>   </cdm:AnnotationEMF> </xmi:XMI>

本文件中,<textitem:TextItem> </textitem:TextItem>标记符内的内容就是该控件的定义。

这里的TextItem规范了该控件的返回类型,即创建该控件后赋予的引用的类型。其地位如同“TextItem item = new TextItem(parent, SWT.BORDER)”语句中的左端的返回类型 TextItem。PTClassInstanceCreation 就是创建该控件的语句,里面传入的 arguments 就是构造函数的传入参数 parent 和 SWT.BORDER。对于第二项参数,替换了原有的创建行为 SWT.NONE,receiver 的名称为 org.eclipse.swt.SWT,field 就是 BORDER,这就意味着构造函数传入的第二个参数为 SWT.BORDER 了。之后要做的就是在表示 Palette 的 palette.xmi 中增加一个控件项,将该控件项与此 XMI 文件做连接,就完成了构造函数参数的覆盖。加入的控件项如下:

清单 12:palette.xmi 文件中 BorderTextItem 定义

<children xsi:type="org.eclipse.ve.internal.cde.palette:EMFPrototypeToolEntry"    icon16Name="platform:/plugin/developerworks.ve.example.textitem/icons/sample.gif"    icon32Name="" id=""    prototypeURI="platform:/plugin/developerworks.ve.example.textitem/ \             palette/BorderTextItem.xmi#BorderTextItem_1">    <entryLabel xsi:type="org.eclipse.ve.internal.cde.utility:ConstantString"    string="BorderTextItem"/>   </children>

prototyleURI 指向了定义该控件的位置,即 developerworks.ve.example.textitem 插件下的 palette 文件夹内的 BorderTextItem.xmi 文件,对应该文件中的 BorderTextItem_1 创建项。由此建立了 Palette 与构造函数的 XMI 文件的联系。

扩展Visual Editor的控件和属性(8)

时间:2011-03-06 IBM 王 浩

定义 ClassPath 容器

用户如何将定制化的控件加到他们的构建路径里?和 JRE System Library 一样,如果我们的控件打包为 textitem.jar,他们可能希望有下图演示的方便的构建方式:

图 5:添加 Class Library 预览

扩展Visual Editor的控件和属性 - 编程入门网 扩展Visual Editor的控件和属性 - 编程入门网

如何定制 ClassPath 容器?

首先区分一下,本文前述的 Java 类,哪些需要在 runtime 时使用,哪些仅仅是 Visual Editor 使用:

TextItem 控件类,是控件的具体实现,TextItemModel 类,是该控件类的模型类,这两个类是 runtime 类,在用户的应用程序中会采用。

TextItemBeanInfo 类,是描述 TextItem 属性编辑行为的类,而 TextItemModelEditor 类,是对应于 TextItemModel 的属性编辑器,这两个类属于在 Visual Editor 下使用的类,用户并不关心他们内部的实现。

所以,打包 runtime 用的 jar 包,仅需将 TextItem 类和 TextItemModel 类打包为 textitem.jar,这是创建 ClassPath 容器的第一步。而 TextItemBeanInfo 和 TextItemModelEditor 为插件扩展才会用到的类,则可以另外打包为 textitembeaninfo.jar,放入导出的插件中,并对扩展点“org.eclipse.jem.beaninfo.registrations”进行扩展,令 Visual Editor 能够找到扩展的 BeanInfo 类和属性编辑器类:

清单 13:扩展 BeanInfo 项

<beaninfo path="textitembeaninfo.jar">   <searchpath package="developerworks.ve.example.textitem"/> </beaninfo>

之后就是将 textitem.jar 做成 Class Library 并加入到 Class Path 容器中了。该步需要对 e

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号