^1477295310380
@
sname
Program2
slabel
如何定义模型
sisChapter
true
sdescription
<p>讲述如何定义和使用事物，即如何定义和使用模型。</p>
sdescriptors
xworker.ide.tools.autodemo.AutoDemo
sinheritDescription
false
sth_createIndex
false
sth_registMyChilds
false
sth_registDisabled
false
sth_mark
false
  @/@AutoDemo
  sname
  AutoDemo
  slabel
  打招呼
  sisChapter
  true
  sdescriptors
  xworker.ide.tools.autodemo.AutoDemo/@AutoDemo
  sinheritDescription
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_registDisabled
  false
  sth_mark
  false
  sid
  AutoDemo
    @/@AutoDemo/@SysResponse
    sname
    SysResponse
    slabel
    系统-介绍主题
    swaitTime
    3000
    sdescription
    <p>大家好，今天我要讲解如何定义和创建一个模型。</p>
    sisChapter
    true
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse
    @/@AutoDemo/@SendText
    sname
    SendText
    slabel
    用户-模型的结构
    swaitTime
    1000
    scontent
    你好，我知道模型是像XML这样树形结构的数据，一个模型是由属性和子节点构成的。
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SendText
    @/@AutoDemo/@SendText1
    sname
    SendText
    slabel
    用户-使用描述者
    swaitTime
    1000
    scontent
    并且我也知道使用描述者来创建新的模型，而描述者是系统中已有的模型。
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SendText1
    @/@AutoDemo/@SysResponse1
    sname
    SysResponse
    slabel
    系统-是的
    swaitTime
    3000
    Sdescription
#$@text#$@
<p>嗯，是的。</p>
#$@text#$@
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse1
    @/@AutoDemo/@SendText2
    sname
    SendText
    slabel
    用户-理解描述者
    swaitTime
    1000
    scontent
    那么，定义一个新的模型是不是就是定义可以作为描述者的模型呢？
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SendText2
    @/@AutoDemo/@SysResponse2
    sname
    SysResponse
    slabel
    系统-解释描述者
    swaitTime
    5000
    Sdescription
#$@text#$@
<p>是的，我们说定义一个模型，其实就是编写描述者模型。</p>
#$@text#$@
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse2
  @/@AutoDemo3
  sname
  AutoDemo
  slabel
  如何使用事物
  sisChapter
  true
  sdescriptors
  xworker.ide.tools.autodemo.AutoDemo/@AutoDemo
  sinheritDescription
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_registDisabled
  false
  sth_mark
  false
  sid
  AutoDemo3
    @/@AutoDemo3/@SysResponse2
    sname
    SysResponse
    slabel
    系统-讲述示例
    swaitTime
    10000
    Sdescription
#$@text#$@
<p>下面我们就用一个实例来演示吧，比如<span style="color:rgb(0, 0, 205)"><strong>张三</strong></span>是一个<span style="color:rgb(0, 0, 205)"><strong>人</strong></span>，我们要定义<span style="color:rgb(0, 0, 205)"><strong>张三</strong></span>，步骤如下：</p>

<ol>
	<li><strong>定义人：</strong>使用<span style="color:rgb(0, 0, 205)"><strong>元模型</strong></span>编写<strong><span style="color:rgb(0, 0, 205)">人</span></strong>，此时元模型是人的描述者。</li>
	<li><strong>用人来编写张三：</strong>然后用<strong><span style="color:rgb(0, 0, 205)">人</span></strong>编写<strong><span style="color:rgb(0, 0, 205)">张三</span></strong>，此时人是张三的描述者。</li>
</ol>

<p>&nbsp;</p>
#$@text#$@
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse2
    @/@AutoDemo3/@SendText2
    sname
    SendText
    slabel
    用户-理解编程过程
    swaitTime
    1000
    scontent
    等下，这里的元模型是什么东西呢？
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SendText2
    @/@AutoDemo3/@SysResponse3
    sname
    SysResponse
    slabel
    系统-是的
    swaitTime
    5000
    Sdescription
#$@text#$@
<p>元模型就是用来定义新模型的描述者，即<strong>人</strong>可以作为<strong>张三</strong>的<strong>描述者</strong>，那么<strong>元模型</strong>就是<strong>人</strong>的<strong>描述者</strong>。</p>
#$@text#$@
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse3
    @/@AutoDemo3/@SendText
    sname
    SendText
    slabel
    用户-知道事物是模型了
    swaitTime
    1000
    scontent
    我知道了，元模型就是系统中已有的一个模型，用它可以创建和编辑诸如人、动物、按钮、窗口等等这些可以作为描述者的模型。
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SendText
    @/@AutoDemo3/@SysResponse21
    sname
    SysResponse
    slabel
    系统-创建一个人
    swaitTime
    5000
    Sdescription
#$@text#$@
<p>是的，<strong>元模型</strong>也叫<strong>元事物</strong>，下面我们开始演示。</p>

<p>首先我们新建一个人，看右边的创建事物的界面。</p>
#$@text#$@
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SysResponse21
    @/@AutoDemo3/@ShowComposite1
    sname
    ShowComposite
    slabel
    演示-打开新建事物
    swaitTime
    2000
    scompositePath
    xworker.demo.xworker.FakeNewThingDialog/@mainComposite
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@ShowComposite
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    ShowComposite1
    @/@AutoDemo3/@SysResponse31
    sname
    SysResponse
    slabel
    系统-用元事物创建人
    swaitTime
    2000
    sdescription
    <p>在这里事物名是&ldquo;人&rdquo;，描述者选择用元事物。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SysResponse31
    @/@AutoDemo3/@SelfDemo
    sname
    SelfDemo
    slabel
    演示-设置属性人
    swaitTime
    1000
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SelfDemo
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SelfDemo
      @/@AutoDemo3/@SelfDemo/@actions
      sname
      actions
      sdescriptors
      xworker.ide.tools.autodemo.AutoDemo/@SelfDemo/@actions
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      actions
        @/@AutoDemo3/@SelfDemo/@actions/@run
        sname
        run
        sisSynchronized
        false
        sthrowException
        true
        suseOtherAction
        false
        svarScope
        Local
        sdisableGlobalContext
        false
        Scode
#$@text#$@
def dataObjectNameText = contentActionContext.dataObjectNameText;
dataObjectNameText.display.asyncExec({
    dataObjectNameText.setText("人");
});
#$@text#$@
        sinterpretationType
        Action
        screateLocalVarScope
        false
        ssaveReturn
        false
        sdebugLog
        false
        sdescriptors
        xworker.lang.actions.Actions/@GroovyAction
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        run
    @/@AutoDemo3/@SelfDemo1
    sname
    SelfDemo
    slabel
    演示-设置属性描述者
    swaitTime
    1000
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SelfDemo
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SelfDemo1
      @/@AutoDemo3/@SelfDemo1/@actions
      sname
      actions
      sdescriptors
      xworker.ide.tools.autodemo.AutoDemo/@SelfDemo/@actions
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      actions
        @/@AutoDemo3/@SelfDemo1/@actions/@run
        sname
        run
        sisSynchronized
        false
        sthrowException
        true
        suseOtherAction
        false
        svarScope
        Local
        sdisableGlobalContext
        false
        Scode
#$@text#$@
def descriptorText = contentActionContext.descriptorText;
descriptorText.display.asyncExec({
    descriptorText.setText("xworker.lang.MetaDescriptor3");
});
#$@text#$@
        sinterpretationType
        Action
        screateLocalVarScope
        false
        ssaveReturn
        false
        sdebugLog
        false
        sdescriptors
        xworker.lang.actions.Actions/@GroovyAction
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        run
    @/@AutoDemo3/@SendText21
    sname
    SendText
    slabel
    用户-询问描述者
    swaitTime
    1000
    scontent
    等等，你可以解释一下xworker.lang.MetaDescriptor3这个模型是什么么？
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SendText21
    @/@AutoDemo3/@SysResponse41
    sname
    SysResponse
    slabel
    系统-解释元事物
    swaitTime
    7000
    sdescription
    <p>xworker.lang.MetaDescriptor3是一个元模型，也叫<strong>元事物</strong>，元事物也是一个模型，可以用它来定义其它模型。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SysResponse41
    @/@AutoDemo3/@SendText5
    sname
    SendText
    slabel
    用户-知道元事物的概念了
    swaitTime
    1000
    scontent
    好的，我知道了，请继续。
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SendText5
    @/@AutoDemo3/@SysResponse7
    sname
    SysResponse
    slabel
    系统-进入编辑界面
    swaitTime
    3000
    sdescription
    <p>在新建事物按钮点击&ldquo;确定&rdquo;按钮，人这个事物成功创建后就进入了编辑界面，如右面。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SysResponse7
    @/@AutoDemo3/@SelfDemo2
    sname
    SelfDemo
    slabel
    演示-创建人
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SelfDemo
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SelfDemo2
      @/@AutoDemo3/@SelfDemo2/@actions
      sname
      actions
      sdescriptors
      xworker.ide.tools.autodemo.AutoDemo/@SelfDemo/@actions
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      actions
        @/@AutoDemo3/@SelfDemo2/@actions/@GroovyAction
        sname
        run
        sisSynchronized
        false
        sthrowException
        true
        suseOtherAction
        false
        svarScope
        Local
        sdisableGlobalContext
        false
        Scode
#$@text#$@
import org.xmeta.Thing;

def person = new Thing("xworker.lang.MetaDescriptor3");
person.put("name", "人");
actionContext.getScope(0).put("person", person);
#$@text#$@
        sinterpretationType
        Action
        screateLocalVarScope
        false
        ssaveReturn
        false
        sdebugLog
        false
        sdescriptors
        xworker.lang.actions.Actions/@GroovyAction
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        GroovyAction
    @/@AutoDemo3/@EditThing
    sname
    EditThing
    slabel
    演示-打开编辑人
    sthingPath
    var:person
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@EditThing
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    EditThing
    @/@AutoDemo3/@SysResponse8
    sname
    SysResponse
    slabel
    系统-使用人创建张三
    swaitTime
    3000
    sdescription
    <p>有了人之后，我们就可以使用它来创建张三了。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SysResponse8
    @/@AutoDemo3/@ShowComposite11
    sname
    ShowComposite
    slabel
    演示-打开新建事物
    swaitTime
    2000
    scompositePath
    xworker.demo.xworker.FakeNewThingDialog/@mainComposite
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@ShowComposite
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    ShowComposite11
    @/@AutoDemo3/@SysResponse9
    sname
    SysResponse
    slabel
    系统-输入张三
    swaitTime
    3000
    sdescription
    <p>这是事物名输入张三，描述者选择人（这里的描述者显示的是人在系统中的路径）。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SysResponse9
    @/@AutoDemo3/@SelfDemo3
    sname
    SelfDemo
    slabel
    演示-设置属性张三
    swaitTime
    1000
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SelfDemo
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SelfDemo3
      @/@AutoDemo3/@SelfDemo3/@actions
      sname
      actions
      sdescriptors
      xworker.ide.tools.autodemo.AutoDemo/@SelfDemo/@actions
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      actions
        @/@AutoDemo3/@SelfDemo3/@actions/@run
        sname
        run
        sisSynchronized
        false
        sthrowException
        true
        suseOtherAction
        false
        svarScope
        Local
        sdisableGlobalContext
        false
        Scode
#$@text#$@
def dataObjectNameText = contentActionContext.dataObjectNameText;
dataObjectNameText.display.asyncExec({
    dataObjectNameText.setText("张三");
});
#$@text#$@
        sinterpretationType
        Action
        screateLocalVarScope
        false
        ssaveReturn
        false
        sdebugLog
        false
        sdescriptors
        xworker.lang.actions.Actions/@GroovyAction
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        run
    @/@AutoDemo3/@SelfDemo11
    sname
    SelfDemo
    slabel
    演示-设置属性描述者
    swaitTime
    1000
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SelfDemo
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SelfDemo11
      @/@AutoDemo3/@SelfDemo11/@actions
      sname
      actions
      sdescriptors
      xworker.ide.tools.autodemo.AutoDemo/@SelfDemo/@actions
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      actions
        @/@AutoDemo3/@SelfDemo11/@actions/@run
        sname
        run
        sisSynchronized
        false
        sthrowException
        true
        suseOtherAction
        false
        svarScope
        Local
        sdisableGlobalContext
        false
        Scode
#$@text#$@
def descriptorText = contentActionContext.descriptorText;
def person = person;
descriptorText.display.asyncExec({
    descriptorText.setText(person.getMetadata().getPath());
});
#$@text#$@
        sinterpretationType
        Action
        screateLocalVarScope
        false
        ssaveReturn
        false
        sdebugLog
        false
        sdescriptors
        xworker.lang.actions.Actions/@GroovyAction
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        run
    @/@AutoDemo3/@SysResponse10
    sname
    SysResponse
    slabel
    系统-创建张三
    swaitTime
    3000
    sdescription
    <p>同样点击&ldquo;确定&rdquo;按钮，我们就可以创建张三了。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SysResponse10
    @/@AutoDemo3/@SelfDemo21
    sname
    SelfDemo
    slabel
    演示-创建张三
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SelfDemo
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SelfDemo21
      @/@AutoDemo3/@SelfDemo21/@actions
      sname
      actions
      sdescriptors
      xworker.ide.tools.autodemo.AutoDemo/@SelfDemo/@actions
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      actions
        @/@AutoDemo3/@SelfDemo21/@actions/@GroovyAction
        sname
        run
        sisSynchronized
        false
        sthrowException
        true
        suseOtherAction
        false
        svarScope
        Local
        sdisableGlobalContext
        false
        Scode
#$@text#$@
import org.xmeta.Thing;

def zhangsan = new Thing(person.getMetadata().getPath());
zhangsan.put("name", "张三");
actionContext.getScope(0).put("zhangsan", zhangsan);
#$@text#$@
        sinterpretationType
        Action
        screateLocalVarScope
        false
        ssaveReturn
        false
        sdebugLog
        false
        sdescriptors
        xworker.lang.actions.Actions/@GroovyAction
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        GroovyAction
    @/@AutoDemo3/@EditThing1
    sname
    EditThing
    slabel
    演示-打开编辑张三
    sthingPath
    var:zhangsan
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@EditThing
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    EditThing1
    @/@AutoDemo3/@SendText6
    sname
    SendText
    slabel
    用户-看到了张三
    swaitTime
    1000
    scontent
    现在我看到张三了，可是他什么属性都没有。
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SendText6
    @/@AutoDemo3/@SysResponse111
    sname
    SysResponse
    slabel
    系统-解释增加属性
    swaitTime
    3000
    sdescription
    <p>是的，在这里我们用人来编辑张三，能够显示的属性是由人来定义的。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SysResponse111
    @/@AutoDemo3/@SysResponse12
    sname
    SysResponse
    slabel
    系统-为人添加各种属性
    swaitTime
    3000
    sdescription
    <p>比如我们可以为人添加name（名字）、age（年龄）属性。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SysResponse12
    @/@AutoDemo3/@EditThing2
    sname
    EditThing
    slabel
    演示-打开编辑人
    swaitTime
    2000
    sthingPath
    var:person
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@EditThing
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    EditThing2
    @/@AutoDemo3/@ShowThingEditorAddChild
    sname
    ShowThingEditorAddChild
    slabel
    演示-显示添加子节点
    swaitTime
    1000
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@ShowThingEditorAddChild
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    ShowThingEditorAddChild
    @/@AutoDemo3/@SysResponse14
    sname
    SysResponse
    slabel
    系统-提示选择属性子节点
    swaitTime
    2000
    sdescription
    <p>在添加子节点的树中选择属性节点。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SysResponse14
    @/@AutoDemo3/@SelectAddChildItem
    sname
    SelectAddChildItem
    slabel
    演示-选择添加子节点的属性节点
    swaitTime
    1000
    sthingPath
    xworker.lang.MetaDescriptor3/@attribute
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SelectAddChildItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SelectAddChildItem
    @/@AutoDemo3/@SetThingEditorAddChildValues
    sname
    SetThingEditorAddChildValues
    slabel
    演示-设置子节点的值
    swaitTime
    1000
    Svalues
#$@text#$@
{
    "name":"name",
    "label":"名字"
}
#$@text#$@
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SetThingEditorAddChildValues
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SetThingEditorAddChildValues
    @/@AutoDemo3/@SysResponse13
    sname
    SysResponse
    slabel
    系统-提示添加按钮
    swaitTime
    2000
    sdescription
    <p>点击添加按钮，就添加了name（名字）属性的定义。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SysResponse13
    @/@AutoDemo3/@DoThingEditorAddChild
    sname
    DoThingEditorAddChild
    slabel
    演示-执行添加子节点
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@DoThingEditorAddChild
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    DoThingEditorAddChild
    @/@AutoDemo3/@SysResponse15
    sname
    SysResponse
    slabel
    系统-同样的还可以添加age
    swaitTime
    3000
    sdescription
    <p>同样还可以添加age（年龄）的属性定义。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SysResponse15
    @/@AutoDemo3/@SetThingEditorAddChildValues1
    sname
    SetThingEditorAddChildValues
    slabel
    演示-设置子节点的值
    swaitTime
    1000
    Svalues
#$@text#$@
{
    "name":"age",
    "label":"年龄"
}
#$@text#$@
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SetThingEditorAddChildValues
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SetThingEditorAddChildValues1
    @/@AutoDemo3/@DoThingEditorAddChild1
    sname
    DoThingEditorAddChild
    slabel
    演示-执行添加子节点
    swaitTime
    1000
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@DoThingEditorAddChild
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    DoThingEditorAddChild1
    @/@AutoDemo3/@SysResponse16
    sname
    SysResponse
    slabel
    系统-在编辑张三
    swaitTime
    2000
    sdescription
    <p>现在，让我们在看看张三。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SysResponse16
    @/@AutoDemo3/@EditThing3
    sname
    EditThing
    slabel
    演示-编辑张三
    sthingPath
    var:zhangsan
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@EditThing
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    EditThing3
    @/@AutoDemo3/@SysResponse17
    sname
    SysResponse
    slabel
    系统-说明效果
    swaitTime
    3000
    sdescription
    <p>可以看到张三现在已经有了name（名字）和age（年龄）两个属性了。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SysResponse17
    @/@AutoDemo3/@SysResponse18
    sname
    SysResponse
    slabel
    系统-提示同样的道理还可以添加其他
    swaitTime
    3000
    sdescription
    <p>使用同样的方法，我们还可以定义子节点和行为等。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SysResponse18
    @/@AutoDemo3/@SendText7
    sname
    SendText
    slabel
    用户-问怎么定义
    swaitTime
    1000
    scontent
    嗯，如何定义属性我已经知道了，那么怎么定义子节点和行为呢？
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SendText7
    @/@AutoDemo3/@EditThing4
    sname
    EditThing
    slabel
    演示-编辑人
    sthingPath
    var:person
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@EditThing
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    EditThing4
    @/@AutoDemo3/@SysResponse19
    sname
    SysResponse
    slabel
    系统-提示如何添加
    swaitTime
    3000
    sdescription
    <p>方法就是在&ldquo;人&rdquo;那里添加&ldquo;事物&rdquo;和&ldquo;动作&rdquo;子节点。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SysResponse19
    @/@AutoDemo3/@ShowThingEditorAddChild1
    sname
    ShowThingEditorAddChild
    slabel
    演示-显示添加子节点
    swaitTime
    1000
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@ShowThingEditorAddChild
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    ShowThingEditorAddChild1
    @/@AutoDemo3/@SelectAddChildItem1
    sname
    SelectAddChildItem
    slabel
    演示-选择人的子节点
    swaitTime
    1000
    sthingPath
    xworker.lang.MetaDescriptor3/@thing
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SelectAddChildItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SelectAddChildItem1
    @/@AutoDemo3/@SetThingEditorAddChildValues2
    sname
    SetThingEditorAddChildValues
    slabel
    演示-设置人的属性
    swaitTime
    1000
    Svalues
#$@text#$@
{
    "name":"cihld",
    "label":"子",
    "extends":"xworker.demo.xworker.base.Person"
}
#$@text#$@
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SetThingEditorAddChildValues
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SetThingEditorAddChildValues2
    @/@AutoDemo3/@DoThingEditorAddChild2
    sname
    DoThingEditorAddChild
    slabel
    系统-添加子节点
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@DoThingEditorAddChild
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    DoThingEditorAddChild2
    @/@AutoDemo3/@SysResponse22
    sname
    SysResponse
    slabel
    系统-提示张三
    swaitTime
    3000
    sdescription
    <p>这样张三就有了一个&rdquo;子&ldquo;的子节点了。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SysResponse22
    @/@AutoDemo3/@EditThing5
    sname
    EditThing
    slabel
    演示-编辑张三
    sthingPath
    var:zhangsan
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@EditThing
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    EditThing5
    @/@AutoDemo3/@ShowThingEditorAddChild2
    sname
    ShowThingEditorAddChild
    slabel
    演示-显示张三的子节点
    swaitTime
    3000
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@ShowThingEditorAddChild
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    ShowThingEditorAddChild2
    @/@AutoDemo3/@EditThing6
    sname
    EditThing
    slabel
    演示-编辑人
    swaitTime
    1000
    sthingPath
    var:person
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@EditThing
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    EditThing6
    @/@AutoDemo3/@ShowThingEditorAddChild3
    sname
    ShowThingEditorAddChild
    slabel
    演示-显示添加子节点
    swaitTime
    1000
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@ShowThingEditorAddChild
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    ShowThingEditorAddChild3
    @/@AutoDemo3/@SelectAddChildItem2
    sname
    SelectAddChildItem
    slabel
    演示-选择动作
    swaitTime
    1000
    sthingPath
    xworker.lang.MetaDescriptor3/@actions
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SelectAddChildItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    SelectAddChildItem2
    @/@AutoDemo3/@DoThingEditorAddChild3
    sname
    DoThingEditorAddChild
    slabel
    系统-添加动作子节点
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@DoThingEditorAddChild
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    DoThingEditorAddChild3
    @/@AutoDemo3/@SysResponse112
    sname
    SysResponse
    slabel
    系统-动作子节点作用
    swaitTime
    3000
    sdescription
    <p>选择添加动作（actions）子节点，可以定义事物的动作行为，具体动作是添加到动作（actions）子节点下的。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse112
    @/@AutoDemo3/@ThingEditorSelectNode
    sname
    ThingEditorSelectNode
    slabel
    演示-选择动作子节点
    swaitTime
    1000
    sthingPath
    @actions
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@ThingEditorSelectNode
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    ThingEditorSelectNode
    @/@AutoDemo3/@ShowThingEditorAddChild4
    sname
    ShowThingEditorAddChild
    slabel
    演示-显示添加动作子节点
    swaitTime
    1000
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@ShowThingEditorAddChild
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    ShowThingEditorAddChild4
    @/@AutoDemo3/@SysResponse113
    sname
    SysResponse
    slabel
    系统-动作可以用各种方式定义
    swaitTime
    3000
    sdescription
    <p>具体的动作可以用多种方式定义，比如Java、Groovy、Jython、Lua、Sacla等，也可以使用其他动作来定义。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse113
    @/@AutoDemo3/@SysResponse114
    sname
    SysResponse
    slabel
    系统-在这里我们选择Groovy脚本
    swaitTime
    3000
    sdescription
    <p>在这里我们选择Groovy脚本动作。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse114
    @/@AutoDemo3/@SelectAddChildItem3
    sname
    SelectAddChildItem
    slabel
    演示-选择Groovy
    swaitTime
    1000
    sthingPath
    xworker.lang.actions.Actions/@GroovyAction
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SelectAddChildItem
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SelectAddChildItem3
    @/@AutoDemo3/@SysResponse115
    sname
    SysResponse
    slabel
    系统-定义helloworld
    swaitTime
    3000
    sdescription
    <p>在这里我们定义一个hello方法，代码是打印Hello World。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse115
    @/@AutoDemo3/@SetThingEditorAddChildValues3
    sname
    SetThingEditorAddChildValues
    slabel
    演示-设置Hello World
    swaitTime
    1000
    Svalues
#$@text#$@
{
    "name":"hello",
    "code":"println(self.name + \" say hello world!\")"
}
#$@text#$@
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SetThingEditorAddChildValues
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SetThingEditorAddChildValues3
    @/@AutoDemo3/@SysResponse116
    sname
    SysResponse
    slabel
    系统-解释self
    swaitTime
    3000
    sdescription
    <p>在代码中我们可以看到self变量，它相当于this变量，表示当前事物。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse116
    @/@AutoDemo3/@DoThingEditorAddChild4
    sname
    DoThingEditorAddChild
    slabel
    演示-添加hello子节点
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@DoThingEditorAddChild
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    DoThingEditorAddChild4
    @/@AutoDemo3/@ShowCode
    sname
    ShowCode
    slabel
    演示-显示代码
    swaitTime
    1000
    Scode
#$@text#$@
//hello的代码
println(self.name + " say hello world!")

//执行事物动作的方法，动作一般在Java、脚本或其他动作中调用
//1 获得事物，thingPath是事物的路径
def thing = world.getThing("<张三>");
//2 执行doAction方法，hello是事物的方法名
thing.doAction("hello", actionContext);

//以上为示例代码，事物的路径应填入实际的值
#$@text#$@
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@ShowCode
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    ShowCode
    @/@AutoDemo3/@SysResponse117
    sname
    SysResponse
    slabel
    系统-解释代码
    swaitTime
    8000
    sdescription
    <p>hello的代码和调用动作的方法如右面的代码示例，动作是可以执行的。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse117
    @/@AutoDemo3/@SysResponse118
    sname
    SysResponse
    slabel
    系统-解释动作
    swaitTime
    3000
    sdescription
    <p>这样人就有了一个hello方法了，而人是张三的类，所以张三也就继承了这个hello方法。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse118
    @/@AutoDemo3/@SysResponse119
    sname
    SysResponse
    slabel
    系统-总结
    swaitTime
    3000
    sdescription
    <p>以上就是定义事物的演示。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse119
    @/@AutoDemo3/@ShowBlank
    sname
    ShowBlank
    slabel
    演示-显示空白
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@ShowBlank
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    ShowBlank
  @/@AutoDemo4
  sname
  AutoDemo
  slabel
  如何定义复杂的事物
  sisChapter
  true
  sdescriptors
  xworker.ide.tools.autodemo.AutoDemo/@AutoDemo
  sinheritDescription
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_registDisabled
  false
  sth_mark
  false
  sid
  AutoDemo4
    @/@AutoDemo4/@SendText
    sname
    SendText
    slabel
    用户-知道了具体步骤
    swaitTime
    1000
    scontent
    现在我大概知道了如何定义事物的基本方法，其实和面向对象编程差不多。
    sisChapter
    true
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SendText
    @/@AutoDemo4/@SysResponse
    sname
    SysResponse
    slabel
    系统-请用户继续说
    swaitTime
    2000
    sdescription
    <p>请说说你的理解。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse
    @/@AutoDemo4/@SendText1
    sname
    SendText
    slabel
    用户-创建类
    swaitTime
    1000
    scontent
    其实元事物是用于定义模型的，即用元事物可以创建相当于面向对象中类，在类中可以定义有哪些属性、子事物和行为等。
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SendText1
    @/@AutoDemo4/@SysResponse1
    sname
    SysResponse
    slabel
    系统-说是的
    swaitTime
    2000
    sdescription
    <p>是的。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse1
    @/@AutoDemo4/@SendText2
    sname
    SendText
    slabel
    用户-用类创建对象
    swaitTime
    1000
    scontent
    有了类这样的模型，我们就可以用它编写具体的对象了，比如有了人就可以用它创建张三了。
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SendText2
    @/@AutoDemo4/@SysResponse2
    sname
    SysResponse
    slabel
    系统-编程总结
    swaitTime
    3000
    sdescription
    <p>是的，这就是动态模型编程的基本方法。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse2
    @/@AutoDemo4/@SendText3
    sname
    SendText
    slabel
    用户-如何创建复杂的事物
    swaitTime
    1000
    scontent
    这样可以创建简单的事物了，那么如何创建复杂的事物呢，我们知道一个事物可能会很复杂，并且事物有时是相互交错的。
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SendText3
    @/@AutoDemo4/@SysResponse3
    sname
    SysResponse
    slabel
    系统-继承
    swaitTime
    3000
    sdescription
    <p>这个可以使用继承的方法实现。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse3
    @/@AutoDemo4/@EditThing2
    sname
    EditThing
    slabel
    演示-打开编辑人
    swaitTime
    2000
    sthingPath
    var:person
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@EditThing
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    EditThing2
    @/@AutoDemo4/@SetThingEditorValue
    sname
    SetThingEditorValue
    slabel
    演示-设置继承
    Svalues
#$@text#$@
{
    "extends":"xworker.swt.Widgets"
}
#$@text#$@
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SetThingEditorValue
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SetThingEditorValue
    @/@AutoDemo4/@SysResponse4
    sname
    SysResponse
    slabel
    系统-解释继承
    swaitTime
    3000
    sdescription
    <p>比如我们让人来继承SWT的控件列表事物。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse4
    @/@AutoDemo4/@ThingEditorDoSave
    sname
    ThingEditorDoSave
    slabel
    演示-保存事物
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@ThingEditorDoSave
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    ThingEditorDoSave
    @/@AutoDemo4/@SysResponse5
    sname
    SysResponse
    slabel
    系统-说编辑张三
    swaitTime
    2000
    sdescription
    <p>人继承了SWT的控件列表事物后，我们再编辑一下张三。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse5
    @/@AutoDemo4/@EditThing5
    sname
    EditThing
    slabel
    演示-编辑张三
    sthingPath
    var:zhangsan
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@EditThing
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    EditThing5
    @/@AutoDemo4/@ShowThingEditorAddChild2
    sname
    ShowThingEditorAddChild
    slabel
    演示-显示张三的子节点
    swaitTime
    3000
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@ShowThingEditorAddChild
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    ShowThingEditorAddChild2
    @/@AutoDemo4/@SysResponse6
    sname
    SysResponse
    slabel
    系统-解释张三的子节点
    swaitTime
    3000
    sdescription
    <p>此时可以看到张三下面可以添加SWT的相关控件事物了。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse6
    @/@AutoDemo4/@SendText4
    sname
    SendText
    slabel
    用户-理解张三1
    swaitTime
    1000
    scontent
    我知道了，人继承了SWT控件列表，这样张三也就有可以相应的子事物了。
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SendText4
    @/@AutoDemo4/@SendText5
    sname
    SendText
    slabel
    用户-理解张三2
    swaitTime
    1000
    scontent
    通过继承的方法，我们可以把零散的事物组合成一个大的事物，或者说可以用简单的事物组合出复杂的事物。
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SendText5
    @/@AutoDemo4/@SysResponse7
    sname
    SysResponse
    slabel
    系统-注册事物
    swaitTime
    5000
    sdescription
    <p>是的，除了直接继承，XWorker还提供了注册式的继承，这样其他人也可以把自己的控件注册到SWT的控件列表下了。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse7
    @/@AutoDemo4/@SendText6
    sname
    SendText
    slabel
    用户-理解注册
    swaitTime
    1000
    scontent
    你的意思是不用修改SWT控件列表事物，就可以增加它的子节点了?
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SendText6
    @/@AutoDemo4/@SysResponse8
    sname
    SysResponse
    slabel
    系统-说明注册
    swaitTime
    3000
    sdescription
    <p>是的，注册也是反向注入，是一个不用修改一个框架就可以向一个框架增加功能的方法。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse8
  @/@AutoDemo5
  sname
  AutoDemo
  slabel
  总结
  sisChapter
  true
  sdescriptors
  xworker.ide.tools.autodemo.AutoDemo/@AutoDemo
  sinheritDescription
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_registDisabled
  false
  sth_mark
  false
  sid
  AutoDemo5
    @/@AutoDemo5/@ShowBlank
    sname
    ShowBlank
    slabel
    演示-显示空白
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@ShowBlank
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    ShowBlank
    @/@AutoDemo5/@SendText
    sname
    SendText
    slabel
    用户-总结编程
    swaitTime
    1000
    scontent
    好的，我已经基本理解了模型的编程方法。
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SendText
    @/@AutoDemo5/@SysResponse
    sname
    SysResponse
    slabel
    系统-请用户说理解
    swaitTime
    2000
    sdescription
    <p>请说说你的理解。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse
    @/@AutoDemo5/@SendText1
    sname
    SendText
    slabel
    用户-和面向对象类似
    swaitTime
    1000
    scontent
    在XWorker中使用模型编程和面向对象编程类似，只是在XWorker中类是通过元模型编辑出来的，而对象是通过类模型编辑出来的。
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SendText1
    @/@AutoDemo5/@SysResponse1
    sname
    SysResponse
    slabel
    系统-是的
    swaitTime
    2000
    sdescription
    <p>是的。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse1
    @/@AutoDemo5/@SendText2
    sname
    SendText
    slabel
    用户-事物的结构
    swaitTime
    1000
    scontent
    定义一个模型就是要定义它有什么属性、子事物和行为等，类似对象。
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SendText2
    @/@AutoDemo5/@SendText3
    sname
    SendText
    slabel
    用户-动态性
    swaitTime
    1000
    scontent
    另外我也发现模型的结构好像是可以随时修改的，这样的话我可以在模型编程中随时添加和修改模型了。
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SendText3
    @/@AutoDemo5/@SysResponse2
    sname
    SysResponse
    slabel
    系统-xworker是动态的
    swaitTime
    3000
    sdescription
    <p>是的，模型是动态的，所以叫动态模型。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse2
    @/@AutoDemo5/@SendText4
    sname
    SendText
    slabel
    用户-理解动态
    swaitTime
    1000
    scontent
    如果模型动态的， 那么如果XWorker也是用模型编写的，那么我使用XWorker编程就可以无限的向它添加功能了。
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SendText4
    @/@AutoDemo5/@SysResponse3
    sname
    SysResponse
    slabel
    系统-正确
    swaitTime
    2000
    sdescription
    <p>是的。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse3
    @/@AutoDemo5/@SendText5
    sname
    SendText
    slabel
    用户-说再见
    swaitTime
    1000
    scontent
    好的，我已基本理解模型的编程方法了， 谢谢。
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SendText
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SendText5
    @/@AutoDemo5/@SysResponse4
    sname
    SysResponse
    slabel
    系统-再见
    swaitTime
    3000
    sdescription
    <p>谢谢观看，下次再见。</p>
    sisChapter
    false
    sdescriptors
    xworker.ide.tools.autodemo.AutoDemo/@SysResponse
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    SysResponse4
