内容摘要:Visual Editor for Java 是基于 eclipse 的 GUI 可视化编辑插件,该插件以 Java 代码为中心,实现了所见即所得的用户界面编辑方式,广泛支持目前的 SWT、AWT、Swing 等控件包。本文通过一个完整的对 Visual Editor 的扩展示例,向读者展示扩展 Visual Editor 的控件和属性的方法。
其中,path 指向保存 override 文件的路径。对应于 TextItem 而言,其 override 文件为 TextItem.override,该文件的目的就是由定制话的编辑行为覆盖掉原有属性的编辑行为。本例中的 TextItem.override 如下:
清单 6:Override 文件清单
<?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:org.eclipse.ve.internal.cde.decorators=
"http:///org/eclipse/ve/internal/cde/decorators.ecore"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
xmlns:event="event.xmi">
<event:Add featureName="eStructuralFeatures">
<addedEObjects xsi:type="ecore:EReference" name="model" unsettable="true">
<eAnnotations xsi:type="org.eclipse.ve.internal.cde.decorators:BasePropertyDecorator"
cellEditorClassname=
"developerworks.ve.example.textitem/
developerworks.ve.example.textitem.TextItemModelEditor" />
</addedEObjects>
</event:Add>
</xmi:XMI>
该文件中值得注意的几个地方地方:
name=“model”,建立了与名为 model 的属性的连接,即可以通过 setModel() 与 getModel() 访问该属性,这与前面编写的控件行为一致。
来源:ibm 作者:王 浩 责编:豆豆技术应用