快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-07-04
t; value="textitem"/>   </children> </org.eclipse.ve.internal.cde.palette:Drawer>

该 palette.xmi 文件,需要 Visual Editor 知道其路径,因此需要在对“org.eclipse.ve.java.core.contributors”扩展点做如下扩展,使其能够读取到扩展的定义文件。

清单10:“org.eclipse.ve.java.core.contributors”扩展点

<extension      point="org.eclipse.ve.java.core.contributors">     <palette        container="developerworks.ve.example.textitem"        categories="palette.xmi"/>   </extension>

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

时间:2011-03-06 IBM 王 浩

更改控件的创建参数

经过上述定制,控件已经显示于 Palette 中,拖拽控件至图形编辑区已经可以预览该控件和生成相应的代码,生成控件的 Java 代码为 new TextItem(parent, SWT.NONE)。也就是说,控件生成传入构造函数的参数,第二项 style 默认为 SWT.NONE。如果希望该控件构造函数传入的参数 style 为 SWT.BORDER 或其他样式,如何定制呢?

Visual Editor 提供了这种定制的支持,同样依赖于 XMI 文件,实现对构造函数默认参数的覆盖。本例中,BorderTextItem 是 TextItem 的另一种使用,不同点仅在于生成代码中,构造函数传入参数不同。BorderTextItem 传入的 style 参数为 SWT.BORDER,并将该样式赋给了该控件的文本框。覆盖该构造函数参数的 XMI 文件如下:

清单 11:BorderTextItem.xmi

<?xml version="1.0" encoding="UTF-8"?> <xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"   xmlns:cdm="http:///org/eclipse/ve/internal/cdm.ecore"   xmlns:utility="http:///org/eclipse/ve/internal/cde/utility.ecore"   xmlns:org.eclipse.jem.internal.instantiation=            b"http:///org/eclipse/jem/internal/instantiation.ecore"   xmlns:java="java.xmi"   xmlns:textitem="java:/developerworks.ve.example.textitem">   <textitem:TextItem xmi:id="BorderTextItem_1">     <allocation xsi:type="org.eclipse.jem.internal.instantiation:ParseTreeAllocation">     <expression xsi:type="org.eclipse.jem.internal.instantiation:PTClassInstanceCreation"     type="developerworks.ve.example.textitem.TextItem">      <arguments xsi:type="org.eclipse.jem.internal.instantiation:PTName"         name="{parentComposite}"/>      <arguments xsi:type="org.eclipse.jem.internal.instantiation:PTFieldAccess"         field="BORDER">       <receiver xsi:type="org.eclipse.jem.internal.instantiation:PTName"        name="org.eclipse.swt.SWT"/>      </arguments>     </expression>    </allocation>   </textitem:TextItem>   <cdm:AnnotationEMF annotates="BorderTextItem_1">    <keyedValues xmi:type="ecore:EStringToStringMapEntry&q

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号