xworker.lang.MetaDescriptor3
事物 MetaDescriptor3(thing)点击打开事物点击浏览描述

描述者:
MetaDescriptor2
thing

作用

MetaDescriptor3是一个常用的元事物,用于定义事物节点。

比如人是一种事物,那么可以也能用MetaDescriptor3定义人这个事物。

属性

通过添加属性子节点定义事物的属性。

行为

通过添加动作子节点定义事物的行为,只有第一个名为动作的子事物下的子事物才是行为,其他的不是。

 

字段摘要
           String description(描述)
           事物的一段描述文字。
           String descriptors(描述者)
           事物的描述者列表,如果有多个用逗号","隔开。
           String editCols(编辑列数)
           在编辑时输入表单布局的分列数,输入表单使用类似TableLayou(或GridLayout)t的布局。
           String extends(继承)
           事物的继承者,如果有多个用逗号","隔开。
           String group(分组)
           当一个事物有很多个子事物时,那么在事物编辑器里选择需要添加那一个子事物会比较麻烦,因此定义了分组属性,这样在添加子事物的界面里子事物可以按照此字段来分组。
           String icon
           
           String inheritDescription(继承描述)
           如果本事物没有编写描述(description),那么使用继承的第一个事物的描述。只对thing.getMetadata().getDescription()方法里获取的描述有效。
           String initialization(初始化)
           如果此事物在装载时需要自动运行init行为。
           String label(标签)
           事物的标签属性,当显示事物或事物名时通常用标签属性来代替。
           String many(允许多个)
           该事物在子事物里出现时允许出现的次数,最多1次或任意次。
           String modifier(作用域)
           类似于Java的作用域,不过还未有相对应的功能实现。
           String modifyAction(修改动作)
           如果不为空,在编辑器里当一个输入控件触发了修改事件,那么会调用该属性指定的本事物的动作。
           String name(名称)
           事物的名称。
           String notXmlAttribute
           如果为true表示不是XML的属性或节点,适用于从DTD或Schema导入的结构,再导出XML时用。
 
方法摘要
 
子事物摘要
           SwtEditSetting(SWT编辑设置)
          自定义的事物编辑器。
           actions(动作)
          动作集合,通过子节点可以添加各种动作,动作通常是一个可执行的程序。
           attribute(属性)
          作用
           htmlMenus(Html菜单集合)
          通过HTML方式编辑时和此事物关联的菜单定义。
           sswtMenus(Swt菜单集合)
          通过SWT方式编辑时和此事物关联的菜单定义。
           thing(事物)
          子事物
 
字段详细信息

description(描述)点击打开事物

事物的一段描述文字。

此属性可以作为事物的说明文字,在事物编辑器里点击编辑框的标题栏可以显示事物对应的此文字。


descriptors(描述者)点击打开事物

事物的描述者列表,如果有多个用逗号","隔开。


editCols(编辑列数)点击打开事物

在编辑时输入表单布局的分列数,输入表单使用类似TableLayou(或GridLayout)t的布局。

比如:编辑列数为2,那么Table是4列,计算方法是(标签列+输入组件列)*2。


extends(继承)点击打开事物

事物的继承者,如果有多个用逗号","隔开。


group(分组)点击打开事物

当一个事物有很多个子事物时,那么在事物编辑器里选择需要添加那一个子事物会比较麻烦,因此定义了分组属性,这样在添加子事物的界面里子事物可以按照此字段来分组。

分组可以是多级的,多级的分组可以用','号隔开,比如swt.widgets。在添加子事物的界面里多级是按照树形结构显示。

icon点击打开事物


inheritDescription(继承描述)点击打开事物

如果本事物没有编写描述(description),那么使用继承的第一个事物的描述。只对thing.getMetadata().getDescription()方法里获取的描述有效。


initialization(初始化)点击打开事物

如果此事物在装载时需要自动运行init行为。

label(标签)点击打开事物

事物的标签属性,当显示事物或事物名时通常用标签属性来代替。


many(允许多个)点击打开事物

该事物在子事物里出现时允许出现的次数,最多1次或任意次。

此属性类似Schema里的maxOccurs属性。


modifier(作用域)点击打开事物

类似于Java的作用域,不过还未有相对应的功能实现。


modifyAction(修改动作)点击打开事物

如果不为空,在编辑器里当一个输入控件触发了修改事件,那么会调用该属性指定的本事物的动作。

其中动作上下文是编辑表单的动作上下文,可以直接如下变量访问:

Model的用法可参看xworker.swt.model.Model.


name(名称)点击打开事物

事物的名称。


notXmlAttribute点击打开事物

如果为true表示不是XML的属性或节点,适用于从DTD或Schema导入的结构,再导出XML时用。

见类xworker.xml.XmlUtils。


 
方法详细信息
 
子事物详细信息

SwtEditSetting(SWT编辑设置)点击打开事物

自定义的事物编辑器。

系统默认的事物编辑器是xworker.swt.xworker.ThingDescritporForm。


actions(动作)点击打开事物

动作集合,通过子节点可以添加各种动作,动作通常是一个可执行的程序。

事物的第一个动作集合的子事物才可以作为事物的行为,第二个及其他动作集合就不能作为事物的行为使用了,事物的行为默认找第一个动作集合。

事物的run方法一般是这个事物转化为动作之后执行的方法。


attribute(属性)点击打开事物

作用

用于定义一个事物的属性,主要是定义类型、默认值和输入方式等。

比如人有年龄的属性,那么使用该事物可以定义人的年龄属性。

数据仓库

一些输入方式比如下拉列表、下拉多选框等可以使用数据仓库作为数据源,按照优先级数据仓库的一般设置方法是:

参看示例

属性联动

设置修改监听属性,设置为要联动的属性名,可以设置多个,联动的属性必须是数据仓库提供的数据源。设置后自动实现联动。

修改事件

设置修改动作,当属性的编辑框发生变化时可以执行相关动作。

在修改动作里可以实现修改其他属性的值等操作,具体可以参看事物表单。

其他事件

如果想要监听其他事件,那么可以尝试添加SWT编辑设置子节点。


htmlMenus(Html菜单集合)点击打开事物

通过HTML方式编辑时和此事物关联的菜单定义。


sswtMenus(Swt菜单集合)点击打开事物

通过SWT方式编辑时和此事物关联的菜单定义。


thing(事物)点击打开事物

子事物

子事物也是事物,用于添加到父事物的子节点下。比如儿女可以是人的子事物,那么可以在人这个事物下定义儿女这个子事物。

注册子事物

一般情况下添加一个事物的子事物只能是这个事物的描述者的子事物,比如添加一个名叫张三的人的子事物,那么一般只能添加人的子事物儿女。

在一些场合下不能修改描述者,比如想要在人下添加其他子事物,但是人这个事物是不能修改的或者是其他人维护的,那么可以通过注册的方式实现软添加子事物。

方法是:

  1. 选择描述者MetaThing进行编辑。
  2. 在Regist项中添加子事物的注册。

批量注册子事物

默认注册一个子事物时只是把当前的事物作为子事物注册,如果当前事物设置“注册我的子节点”=true,那么它的子节点将会作为被注册事物的子事物,而不是其本身。

注意:如果一个事物是注册到批量注册的事物上的,那么它不会出现在批量注册事物的注册的事物上的。