^1732602159971
@
sname
AutoDemo
slabel
自动演示
sdescriptors
xworker.lang.MetaDescriptor3
smany
true
seditCols
2
sinitialization
false
sgroup
xworker.guide
smodifier
public
sinheritDescription
false
sdescription
<p>对话方式的一个演示系统。可以用于做教程等。</p>
snotXmlAttribute
false
sjson_isArray
false
sjson_array_type
children
sjson_attribute
false
sth_createIndex
true
sth_registThing
child|xworker.lang.util.ThingIndex
sth_registMyChilds
false
sth_registDisabled
false
sth_mark
false
  @/@actions
  sname
  actions
  sdescriptors
  xworker.lang.MetaDescriptor3/@actions
  sinheritDescription
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  actions
    @/@actions/@menu_run
    sname
    menu_run
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    suseOuterJava
    true
    suseInnerJava
    false
    souterClassName
    xworker.swt.guide.AutoDemo
    smethodName
    menu_run
    sdisableGlobalContext
    false
    sattributeTemplate
    false
    sinterpretationType
    Action
    svarScope
    Global
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@JavaAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    menu_run
    @/@actions/@isDemo
    sname
    isDemo
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    scode
    return true;
    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
    isDemo
    @/@actions/@run
    sname
    run
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import org.xmeta.ActionContext;

import xworker.swt.guide.AutoDemo;

def thing = self;
def shellThing = world.getThing("xworker.ide.tools.autodemo.AutoDemoShell");
def ac = new ActionContext();
def shell = shellThing.doAction("create", ac);
shell.setVisible(true);

AutoDemo demo = new AutoDemo(thing, shell, ac);
ac.getScope(0).put("demo", demo);

//自动演示
ac.autoButton.setSelection(true);
ac.autoSelection.handleEvent(null);
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    run
    @/@actions/@create
    sname
    create
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    suseOuterJava
    true
    suseInnerJava
    false
    souterClassName
    xworker.swt.guide.AutoDemo
    smethodName
    create
    sdisableGlobalContext
    false
    sattributeTemplate
    false
    sinterpretationType
    Action
    svarScope
    Global
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@JavaAction
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_noThingRegistViewer
    false
    sth_fileMonitor
    false
    sth_mark
    false
    sth_registQueryOnlySelf
    false
    snotXmlAttribute
    false
    sjson_isArray
    false
    sgroupDescriptor
    false
    sid
    create
    @/@actions/@speak
    sname
    speak
    stext
    var:content
    sinterpretationType
    Self
    sattributeTemplate
    false
    schildsAttributeTemplate
    false
    svarScope
    Local
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdisableGlobalContext
    false
    sdebugLog
    false
    sdescriptors
    xworker.jacob.JacobActions/@Speak
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_noThingRegistViewer
    false
    sth_fileMonitor
    false
    sth_mark
    false
    sth_registQueryOnlySelf
    false
    snotXmlAttribute
    false
    sjson_isArray
    false
    sgroupDescriptor
    false
    sid
    speak
  @/@name
  sname
  name
  sshowLabel
  true
  sreadOnly
  false
  sinheritDescription
  false
  svalidateAllowBlank
  true
  LvalidateOnBlur
  true
  LallowDecimals
  true
  LallowNegative
  true
  snotXmlAttribute
  false
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  name
  @/@label
  sname
  label
  ssize
  50
  sshowLabel
  true
  sreadOnly
  false
  sinheritDescription
  false
  svalidateAllowBlank
  true
  LvalidateOnBlur
  true
  LallowDecimals
  true
  LallowNegative
  true
  snotXmlAttribute
  false
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  label
  @/@allowPrevious
  sname
  isChapter
  slabel
  是否是一个章节
  sinputtype
  truefalse
  sgroup
  Common
  sshowLabel
  true
  sreadOnly
  false
  sdefault
  true
  sinheritDescription
  false
  Sdescription
#$@text#$@
<p>如果为true ，那么运行从后一步向前跳到本步，否则会继续往前跳转。</p>

<p>有些演示可能依赖于前一步，如果从后面跳到这里执行可能会发生错误或混乱。</p>
#$@text#$@
  svalidateAllowBlank
  true
  LvalidateOnBlur
  true
  LallowDecimals
  true
  LallowNegative
  true
  snotXmlAttribute
  false
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  allowPrevious
  @/@referenceDemoPath
  sname
  referencePath
  sinputtype
  dataSelector
  ssize
  60
  sshowLabel
  true
  sreadOnly
  false
  sinheritDescription
  false
  sdescription
  <p>如果不为空表示引用其他自动演示。</p>
  svalidateAllowBlank
  true
  LvalidateOnBlur
  true
  LallowDecimals
  true
  LallowNegative
  true
  snotXmlAttribute
  false
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_registDisabled
  false
  sth_mark
  false
  sid
  referenceDemoPath
  @/@autoStart
  sname
  autoStart
  sinputtype
  truefalse
  sshowLabel
  true
  slabelAlign
  right
  slabelVAlign
  baseline
  smodifier
  public
  sreadOnly
  false
  sdefault
  false
  sinheritDescription
  false
  sdescription
  <p>是否自动启动。</p>
  svalidateAllowBlank
  true
  LvalidateOnBlur
  true
  LallowDecimals
  true
  LallowNegative
  true
  snotXmlAttribute
  false
  sxmlJsonIncludeDefault
  false
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_registDisabled
  false
  sth_noThingRegistViewer
  false
  sth_fileMonitor
  false
  sth_mark
  false
  sth_registQueryOnlySelf
  false
  sjson_isArray
  false
  sgroupDescriptor
  false
  sid
  autoStart
  @/@description
  sname
  description
  sinputtype
  html
  sshowLabel
  true
  sreadOnly
  false
  sinheritDescription
  false
  svalidateAllowBlank
  true
  LvalidateOnBlur
  true
  LallowDecimals
  true
  LallowNegative
  true
  snotXmlAttribute
  false
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  description
  @/@SendText
  sname
  SendText
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.CommonNode
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  Speaker
  smodifier
  public
  sinheritDescription
  false
  sicon
  icons/user_comment.png
  sdescription
  <p>向系统发送信息。</p>
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  SendText
    @/@SendText/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@SendText/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
demo.inputText(self.getString("content"));
demo.speak(self.getString("content"));
#$@text#$@
      sinterpretationType
      Action
      screateLocalVarScope
      false
      ssaveReturn
      false
      sswitchResult
      false
      sdebugLog
      false
      sdescriptors
      xworker.lang.actions.Actions/@GroovyAction
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      run
    @/@SendText/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@SendText/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@SendText/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sdefault
    1000
    sinheritDescription
    false
    sdescription
    <p>这是Sleep的时间。</p>
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    waitTime
    @/@SendText/@content
    sname
    content
    sinputtype
    textarea
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    content
    @/@SendText/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
  @/@SysResponse
  sname
  SysResponse
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.CommonNode
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  Speaker
  smodifier
  public
  sinheritDescription
  false
  sicon
  icons/tux.png
  sdescription
  <p>系统回复消息，消息谢谢description里。</p>
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  SysResponse
    @/@SysResponse/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@SysResponse/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
demo.speak(self.getString("narrateContent"));

return;//demo.sysmResponse(self.getMetadata().getPath());
#$@text#$@
      sinterpretationType
      Action
      screateLocalVarScope
      false
      ssaveReturn
      false
      sswitchResult
      false
      sdebugLog
      false
      sdescriptors
      xworker.lang.actions.Actions/@GroovyAction
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      run
    @/@SysResponse/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@SysResponse/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@SysResponse/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sdefault
    5000
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    waitTime
    @/@SysResponse/@narrateContent
    sname
    narrateContent
    sinputtype
    textarea
    sshowLabel
    true
    slabelAlign
    right
    slabelVAlign
    baseline
    smodifier
    public
    sreadOnly
    false
    sinheritDescription
    false
    sdescription
    <p>语音解说的内容。</p>
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sxmlJsonIncludeDefault
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_noThingRegistViewer
    false
    sth_fileMonitor
    false
    sth_mark
    false
    sth_registQueryOnlySelf
    false
    sjson_isArray
    false
    sgroupDescriptor
    false
    sid
    narrateContent
    @/@SysResponse/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
  @/@ShowXml
  sname
  ShowXml
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.CommonNode
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  Content
  smodifier
  public
  sinheritDescription
  false
  sicon
  icons/file/xml.gif
  sdescription
  <p>显示一段XML。</p>
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  ShowXml
    @/@ShowXml/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@ShowXml/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}
demo.showXml(self.getString("content"));
#$@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
    @/@ShowXml/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@ShowXml/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@ShowXml/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    waitTime
    @/@ShowXml/@content
    sname
    content
    sinputtype
    textarea
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    content
    @/@ShowXml/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
  @/@ShowHtml
  sname
  ShowHtml
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.CommonNode
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  Speaker
  smodifier
  public
  sinheritDescription
  false
  sicon
  icons/xhtml.png
  sdescription
  <p>显示一个网页。</p>
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  ShowHtml
    @/@ShowHtml/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@ShowHtml/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
import xworker.lang.util.XWorkerUtils;
/*
def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}
*/
def url = self.getStringBlankAsNull("url");
if(url == null){
    url = XWorkerUtils.getThingDescUrl(self);
    demo.showHtml(url, false);
}else if(self.getBoolean("isThing")){
    def thing = world.getThing(self.getString("url"));
    url = XWorkerUtils.getThingDescUrl(thing);
    demo.showHtml(url, false);
}else{
    demo.showHtml(self.getString("url"), self.getBoolean("isWebControl"));
}
#$@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
    @/@ShowHtml/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@ShowHtml/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@ShowHtml/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    waitTime
    @/@ShowHtml/@url
    sname
    url
    ssize
    60
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    url
    @/@ShowHtml/@isWebControl
    sname
    isWebControl
    sinputtype
    truefalse
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    sdescription
    <p>如果是WebControl只需要输入事物的路径。</p>
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    isWebControl
    @/@ShowHtml/@isThing
    sname
    isThing
    sinputtype
    truefalse
    sshowLabel
    true
    sreadOnly
    false
    sdefault
    false
    sinheritDescription
    false
    sdescription
    <p>如果url是事物，那么显示该事物的描述。</p>
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    isThing
    @/@ShowHtml/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
  @/@ShowThingDescription
  sname
  ShowThingDescription
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.CommonNode
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  Content
  smodifier
  public
  sinheritDescription
  false
  sdescription
  <p>显示事物的文档（description属性），如果thingPath为空，那么显示本事物的文档。</p>
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  ShowThingDescription
    @/@ShowThingDescription/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@ShowThingDescription/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
import xworker.lang.util.XWorkerUtils;

/*
def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}*/

def path = self.getStringBlankAsNull("thingPath");
if(path == null){
    path = self.getMetadata().getPath();
}
def url = XWorkerUtils.getThingDescUrl(path);
demo.showHtml(url, false);
#$@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
    @/@ShowThingDescription/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@ShowThingDescription/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@ShowThingDescription/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sdefault
    5000
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    waitTime
    @/@ShowThingDescription/@thingPath
    sname
    thingPath
    sinputtype
    dataSelector
    ssize
    60
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    thingPath
    @/@ShowThingDescription/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
  @/@ShowComposite
  sname
  ShowComposite
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.CommonNode
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  Content
  smodifier
  public
  sinheritDescription
  false
  Sdescription
#$@text#$@
<p>显示一个Composite。</p>

<p>&nbsp;</p>
#$@text#$@
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  ShowComposite
    @/@ShowComposite/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@ShowComposite/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}

def path = self.getStringBlankAsNull("compositePath");
if(path != null){
    demo.showComposite(path);
}else{
    def composite = self.getThing("Composite@0");
    if(composite != null){
        demo.showComposite(composite.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
    @/@ShowComposite/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@ShowComposite/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@ShowComposite/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sdefault
    5000
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    waitTime
    @/@ShowComposite/@compositePath
    sname
    compositePath
    sinputtype
    dataSelector
    ssize
    60
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    compositePath
    @/@ShowComposite/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
    @/@ShowComposite/@Composite
    sname
    Composite
    sdescriptors
    xworker.lang.MetaDescriptor3/@thing
    sextends
    xworker.swt.widgets.Composite
    smany
    true
    seditCols
    2
    sinitialization
    false
    smodifier
    public
    sinheritDescription
    true
    snotXmlAttribute
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    Composite
  @/@EditThing
  sname
  EditThing
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.CommonNode
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  EditThing
  smodifier
  public
  sinheritDescription
  false
  sdescription
  <p>打开编辑一个事物。</p>
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  EditThing
    @/@EditThing/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@EditThing/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
def thing = null;

def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}

def path = self.getString("thingPath");
if(path != null && path.startsWith("var:")){
    path = path.substring(4, path.length());
    thing = actionContext.get(path);
}else{
    thing = world.getThing(path);
}    
if(thing != null){
    demo.editThing(thing);
}else{
    log.warn("AutoDemo:EditThing: thing not exists, path=" + self.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
    @/@EditThing/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@EditThing/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@EditThing/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    waitTime
    @/@EditThing/@thingPath
    sname
    thingPath
    sinputtype
    dataSelector
    ssize
    60
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    sdescription
    <p>支持var:开头，从actionContext取事物。</p>
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    thingPath
    @/@EditThing/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
  @/@MarkControl
  sname
  MarkControl
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.CommonNode
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  SWT
  smodifier
  public
  sinheritDescription
  false
  Sdescription
#$@text#$@
<p>标记一个演示区的SWT控件。</p>

<p><strong>可能会标记SWT控件或事物编辑器的属性，下面两个变量上下文可用：</strong></p>

<ul>
	<li><strong>contentActionContext</strong><br />
	显示Composite的变量上下文。<br />
	&nbsp;</li>
	<li><strong>thingEditor</strong><br />
	编辑事物的变量上下文。</li>
</ul>
#$@text#$@
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  MarkControl
    @/@MarkControl/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@MarkControl/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
import ognl.Ognl;
import xworker.swt.design.Designer;
import org.eclipse.swt.widgets.Control;

def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}

//通过Ognl获取Control
def obj = null;
if(self.getStringBlankAsNull("path") != null){
    obj = Ognl.getValue(self.getString("path"), actionContext );
}
//如果控件存在，标记控件
if(obj != null && obj instanceof Control){
    obj.getDisplay().asyncExec({    
        Designer.markControl(obj);        
    });
    
    return;
}

//使用事物路径获取
def self = self;
contentComposite.display.asyncExec({
    def thingPath = self.getStringBlankAsNull("controlThingPath");
    if(thingPath != null){
        obj = Designer.findControl(contentComposite, thingPath);
        if(obj == null){
            obj = Designer.findControl(editorComposite, thingPath);
        }                        
    }
    
    //如果控件存在，标记控件
    if(obj != null && obj instanceof Control){
        obj.getDisplay().asyncExec({    
            Designer.markControl(obj);
        });
    }
});
#$@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
    @/@MarkControl/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@MarkControl/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@MarkControl/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    waitTime
    @/@MarkControl/@path
    sname
    path
    ssize
    60
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    sdescription
    <p>为Ognl的表达式，从演示区的变量上下文中取对象。</p>
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    path
    @/@MarkControl/@controlThingPath
    sname
    controlThingPath
    sinputtype
    dataSelector
    ssize
    60
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    Sdescription
#$@text#$@
<p>直接指定SWT控件事物的路径，通过事物的路径定位控件。</p>

<p>如果path为空，或path找到的Control为null，那么该属性生效。</p>
#$@text#$@
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    controlThingPath
    @/@MarkControl/@toolTipWidth
    sname
    toolTipWidth
    sgroup
    UnUsed
    sshowLabel
    true
    sreadOnly
    false
    sdefault
    200
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    toolTipWidth
    @/@MarkControl/@toopTipHeight
    sname
    toopTipHeight
    sgroup
    UnUsed
    sshowLabel
    true
    sreadOnly
    false
    sdefault
    100
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    toopTipHeight
    @/@MarkControl/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
  @/@UnMapkControl
  sname
  UnMapkControl
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.CommonNode
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  SWT
  smodifier
  public
  sinheritDescription
  false
  Sdescription
#$@text#$@
<p>标记一个SWT控件，并以此事物作为提示信息。</p>

<p><strong>几个特殊的变量上下文：</strong></p>

<ul>
	<li><strong>contentActionContext</strong><br />
	显示Composite的变量上下文。<br />
	&nbsp;</li>
	<li><strong>thingEditor</strong><br />
	编辑事物的变量上下文。</li>
</ul>
#$@text#$@
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  UnMapkControl
    @/@UnMapkControl/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@UnMapkControl/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
import ognl.Ognl;
import xworker.swt.design.Designer;
import org.eclipse.swt.widgets.Control;

def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}

if(self.getStringBlankAsNull("path") != null){
    def obj = Ognl.getValue(self.getString("path"), actionContext);
    if(obj != null){
        Designer.unmarkControl(obj);
        return;
    }    
}

//使用事物路径获取
def self = self;
contentComposite.display.asyncExec({
    def obj = null;
    def thingPath = self.getStringBlankAsNull("controlThingPath");
    if(thingPath != null){
        obj = Designer.findControl(contentComposite, thingPath);
        if(obj == null){
            obj = Designer.findControl(editorComposite, thingPath);
        }                        
    }
    
    //如果控件存在，标记控件
    if(obj != null && obj instanceof Control){
        obj.getDisplay().asyncExec({    
            Designer.unmarkControl(obj);
        });
    }
});
#$@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
    @/@UnMapkControl/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@UnMapkControl/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@UnMapkControl/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    waitTime
    @/@UnMapkControl/@path
    sname
    path
    ssize
    60
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    path
    @/@UnMapkControl/@controlThingPath
    sname
    controlThingPath
    sinputtype
    dataSelector
    ssize
    60
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    Sdescription
#$@text#$@
<p>直接指定SWT控件事物的路径，通过事物的路径定位控件。</p>

<p>如果path为空，或path找到的Control为null，那么该属性生效。</p>
#$@text#$@
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    controlThingPath
    @/@UnMapkControl/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
  @/@SetThingEditorValue
  sname
  SetThingEditorValue
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.CommonNode
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  EditThing
  smodifier
  public
  sinheritDescription
  false
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  SetThingEditorValue
    @/@SetThingEditorValue/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@SetThingEditorValue/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
import xworker.dataObject.utils.JacksonFormator;

def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}

def thingEditor = thingEditor;
def value = JacksonFormator.parseObject(self.getString("values"));

if(value != null){    
    thingEditor.thingContext.contentComposite.getDisplay().asyncExec({
        thingEditor.thingContext.actions.doAction("setValues", thingEditor.thingContext, ["values": value]);
    });
}
#$@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
    @/@SetThingEditorValue/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@SetThingEditorValue/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@SetThingEditorValue/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    waitTime
    @/@SetThingEditorValue/@values
    sname
    values
    sinputtype
    textarea
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    values
    @/@SetThingEditorValue/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
  @/@FocusThingEditorAttribute
  sname
  FocusThingEditorAttribute
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.CommonNode
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  EditThing
  smodifier
  public
  sinheritDescription
  false
  sdescription
  <p>指定编辑器属性控件获取输入焦点。</p>
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  FocusThingEditorAttribute
    @/@FocusThingEditorAttribute/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@FocusThingEditorAttribute/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
def tihngEditor = thingEditor;
def self = self;

def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}

thingEditor.thingContext.contentComposite.getDisplay().asyncExec({
    thingEditor.thingContext.actions.doAction("focusAttributeInput", thingEditor.thingContext, ["name": self.getString("attributeName")]);
});
#$@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
    @/@FocusThingEditorAttribute/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@FocusThingEditorAttribute/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@FocusThingEditorAttribute/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sdefault
    1000
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    waitTime
    @/@FocusThingEditorAttribute/@attributeName
    sname
    attributeName
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    attributeName
    @/@FocusThingEditorAttribute/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
  @/@ShowThingEditorAddChild
  sname
  ShowThingEditorAddChild
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.CommonNode
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  EditThing
  smodifier
  public
  sinheritDescription
  false
  sdescription
  <p>显示添加子节点界面。</p>
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  ShowThingEditorAddChild
    @/@ShowThingEditorAddChild/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@ShowThingEditorAddChild/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}

def tihngEditor = thingEditor;

thingEditor.thingContext.contentComposite.getDisplay().asyncExec({
    thingEditor.thingContext.actions.doAction("showAddChild", thingEditor.thingContext);
});
#$@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
    @/@ShowThingEditorAddChild/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@ShowThingEditorAddChild/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@ShowThingEditorAddChild/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sdefault
    1000
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    waitTime
    @/@ShowThingEditorAddChild/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
  @/@SetThingEditorAddChildValues
  sname
  SetThingEditorAddChildValues
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.CommonNode
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  EditThing
  smodifier
  public
  sinheritDescription
  false
  sdescription
  <p>添加子节点界面的表单设置值。</p>
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  SetThingEditorAddChildValues
    @/@SetThingEditorAddChildValues/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@SetThingEditorAddChildValues/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
import xworker.dataObject.utils.JacksonFormator;

def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}

def value = JacksonFormator.parseObject(self.getString("values"));

if(value != null){
    def tihngEditor = thingEditor;
    
    thingEditor.thingContext.contentComposite.getDisplay().asyncExec({
        thingEditor.thingContext.actions.doAction("setAddChildValues", thingEditor.thingContext, ["values": value]);
    });
}
#$@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
    @/@SetThingEditorAddChildValues/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@SetThingEditorAddChildValues/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@SetThingEditorAddChildValues/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sdefault
    1000
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    waitTime
    @/@SetThingEditorAddChildValues/@values
    sname
    values
    sinputtype
    textarea
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    values
    @/@SetThingEditorAddChildValues/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
  @/@DoThingEditorAddChild
  sname
  DoThingEditorAddChild
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.CommonNode
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  EditThing
  smodifier
  public
  sinheritDescription
  false
  sdescription
  <p>事物编辑器中执行添加子节点的操作。</p>
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  DoThingEditorAddChild
    @/@DoThingEditorAddChild/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@DoThingEditorAddChild/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}

def tihngEditor = thingEditor;

thingEditor.thingContext.contentComposite.getDisplay().asyncExec({
    thingEditor.thingContext.actions.doAction("doAddChild", thingEditor.thingContext);
});
#$@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
    @/@DoThingEditorAddChild/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@DoThingEditorAddChild/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@DoThingEditorAddChild/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    waitTime
    @/@DoThingEditorAddChild/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
  @/@AutoDemo
  sname
  AutoDemo
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.AutoDemo
  smany
  true
  seditCols
  2
  sinitialization
  false
  smodifier
  public
  sinheritDescription
  true
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  AutoDemo
    @/@AutoDemo/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_noThingRegistViewer
    false
    sth_fileMonitor
    false
    sth_mark
    false
    sth_registQueryOnlySelf
    false
    snotXmlAttribute
    false
    sjson_isArray
    false
    sgroupDescriptor
    false
    sid
    actions
      @/@AutoDemo/@actions/@create
      sname
      create
      sunimplementedException
      false
      slog
      false
      sdescriptors
      xworker.lang.actions.Actions/@NOOP
      sinterpretationType
      Self
      sattributeTemplate
      false
      schildsAttributeTemplate
      false
      svarScope
      Local
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      screateLocalVarScope
      false
      ssaveReturn
      false
      sswitchResult
      false
      sdisableGlobalContext
      false
      sdebugLog
      false
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_noThingRegistViewer
      false
      sth_fileMonitor
      false
      sth_mark
      false
      sth_registQueryOnlySelf
      false
      snotXmlAttribute
      false
      sjson_isArray
      false
      sgroupDescriptor
      false
      sid
      create
  @/@ShowCode
  sname
  ShowCode
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.AutoDemo
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  Content
  smodifier
  public
  sinheritDescription
  false
  sdescription
  <p>显示代码。</p>
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  ShowCode
    @/@ShowCode/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@ShowCode/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}

demo.showCode(self.getString("codeType"), self.getString("code"));
#$@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
    @/@ShowCode/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@ShowCode/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@ShowCode/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    waitTime
    @/@ShowCode/@codeType
    sname
    codeType
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    codeType
    @/@ShowCode/@code
    sname
    code
    sinputtype
    textarea
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    code
    @/@ShowCode/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
  @/@ClearUserInput
  sname
  ClearUserInput
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.AutoDemo
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  Speaker
  smodifier
  public
  sinheritDescription
  false
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  ClearUserInput
    @/@ClearUserInput/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@ClearUserInput/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}

demo.clearInputText();
#$@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
    @/@ClearUserInput/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@ClearUserInput/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@ClearUserInput/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sdefault
    0
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    waitTime
    @/@ClearUserInput/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
  @/@ShowBlank
  sname
  ShowBlank
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  Content
  smodifier
  public
  sinheritDescription
  false
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  ShowBlank
    @/@ShowBlank/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@ShowBlank/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}

def demo = demo;
demo.executeRunnable({
    demo.layout("blankComposite");
});
#$@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
    @/@ShowBlank/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@ShowBlank/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@ShowBlank/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
  @/@SelfDemo
  sname
  AbstractNode
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.AutoDemo
  smany
  true
  seditCols
  2
  sinitialization
  false
  smodifier
  public
  sinheritDescription
  false
  sdescription
  <p>自定义的演示内容，需自行实现run方法。</p>
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  SelfDemo
    @/@SelfDemo/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@SelfDemo/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@SelfDemo/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    waitTime
    @/@SelfDemo/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
    @/@SelfDemo/@actions
    sname
    actions
    slabel
    Actions
    sdescriptors
    xworker.lang.MetaDescriptor2/@thing
    sextends
    xworker.lang.actions.Actions
    smany
    true
    seditCols
    2
    Sdescription
#$@text#$@
<p>动作集合，通过子节点可以添加各种动作，动作通常是一个可执行的程序。</p>
<p>事物的第一个动作集合的子事物才可以作为事物的行为，第二个及其他动作集合就不能作为事物的行为使用了，事物的行为默认找第一个动作集合。</p>
<p>事物的run方法一般是这个事物转化为动作之后执行的方法。</p>
#$@text#$@
    szh_label
    动作
    sth_createIndex
    false
    sid
    actions
      @/@SelfDemo/@actions/@name
      sname
      name
      sdescriptors
      xworker.lang.MetaDescriptor2/@attribute
      sid
      name
  @/@ShowLayout
  sname
  ShowLayout
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  Content
  smodifier
  public
  sinheritDescription
  false
  sdescription
  <p>切换界面显示。</p>
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  ShowLayout
    @/@ShowLayout/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@ShowLayout/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}

def demo = demo;
def self  = self;
if(self.getStringBlankAsNull("content") == null){
    return;
}

demo.executeRunnable({
    demo.layout(self.getString("content"));
});
#$@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
    @/@ShowLayout/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@ShowLayout/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@ShowLayout/@content
    sname
    content
    sinputtype
    select
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    content
      @/@ShowLayout/@content/@blankComposite
      sname
      blankComposite
      svalue
      blankComposite
      sdescriptors
      xworker.lang.MetaDescriptor3/@attribute/@value
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      blankComposite
      @/@ShowLayout/@content/@contentComposite
      sname
      contentComposite
      svalue
      contentComposite
      sdescriptors
      xworker.lang.MetaDescriptor3/@attribute/@value
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      contentComposite
      @/@ShowLayout/@content/@browserComposite
      sname
      browserComposite
      svalue
      browserComposite
      sdescriptors
      xworker.lang.MetaDescriptor3/@attribute/@value
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      browserComposite
      @/@ShowLayout/@content/@editorComposite
      sname
      editorComposite
      svalue
      editorComposite
      sdescriptors
      xworker.lang.MetaDescriptor3/@attribute/@value
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      editorComposite
      @/@ShowLayout/@content/@xmlComposite
      sname
      xmlComposite
      svalue
      xmlComposite
      sdescriptors
      xworker.lang.MetaDescriptor3/@attribute/@value
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      xmlComposite
    @/@ShowLayout/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
  @/@ShowEditorContent
  sname
  ShowEditorContent
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.AutoDemo
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  EditThing
  smodifier
  public
  sinheritDescription
  false
  sdescription
  <p>显示事物编辑器的编辑界面，一般是从添加子节点界面的返回。</p>
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  ShowEditorContent
    @/@ShowEditorContent/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@ShowEditorContent/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}

def tihngEditor = thingEditor;

thingEditor.thingContext.contentComposite.getDisplay().asyncExec({
    thingEditor.thingContext.actions.doAction("showEditor", thingEditor.thingContext);
});
#$@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
    @/@ShowEditorContent/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@ShowEditorContent/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@ShowEditorContent/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sdefault
    1000
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    waitTime
    @/@ShowEditorContent/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
  @/@SelectAddChildItem
  sname
  SelectAddChildItem
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.AutoDemo
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  EditThing
  smodifier
  public
  sinheritDescription
  false
  sdescription
  <p>选择添加子节点中的一个节点。</p>
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  SelectAddChildItem
    @/@SelectAddChildItem/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@SelectAddChildItem/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}

def tihngEditor = thingEditor;
def self = self;

thingEditor.thingContext.contentComposite.getDisplay().asyncExec({
    thingEditor.thingContext.actions.doAction("selectChildTreeNode", thingEditor.thingContext, ["thingPath": self.getString("thingPath")]);
});
#$@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
    @/@SelectAddChildItem/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@SelectAddChildItem/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@SelectAddChildItem/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sdefault
    1000
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    waitTime
    @/@SelectAddChildItem/@attributeName
    sname
    thingPath
    sinputtype
    dataSelector
    ssize
    60
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    attributeName
    @/@SelectAddChildItem/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
  @/@ThingEditorSelectNode
  sname
  ThingEditorSelectNode
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.AutoDemo
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  EditThing
  smodifier
  public
  sinheritDescription
  false
  sdescription
  <p>事物编辑器中选择一个节点。</p>
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_registDisabled
  false
  sth_mark
  false
  sid
  ThingEditorSelectNode
    @/@ThingEditorSelectNode/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@ThingEditorSelectNode/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}


def thingEditor = thingEditor;
def self = self;
def world = world;

thingEditor.thingContext.contentComposite.getDisplay().asyncExec({
    def thing = world.getThing(self.getString("thingPath"));
    if(thing != null) {
        thingEditor.thingContext.actions.doAction("selectThing", thingEditor.thingContext, ["thing": thing]);
    }
});
#$@text#$@
      sinterpretationType
      Action
      screateLocalVarScope
      false
      ssaveReturn
      false
      sswitchResult
      false
      sdebugLog
      false
      sdescriptors
      xworker.lang.actions.Actions/@GroovyAction
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      run
    @/@ThingEditorSelectNode/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@ThingEditorSelectNode/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@ThingEditorSelectNode/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    waitTime
    @/@ThingEditorSelectNode/@thingPath
    sname
    thingPath
    sinputtype
    dataSelector
    ssize
    60
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    sdescription
    <p>支持var:开头，从actionContext取事物。</p>
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    thingPath
    @/@ThingEditorSelectNode/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
  @/@ThingEditorDoSave
  sname
  ThingEditorDoSave
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.swt.guide.autodemo.AutoDemo
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  EditThing
  smodifier
  public
  sinheritDescription
  false
  sdescription
  <p>事物编辑器保存当前事物。</p>
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_registDisabled
  false
  sth_mark
  false
  sid
  ThingEditorDoSave
    @/@ThingEditorDoSave/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    actions
      @/@ThingEditorDoSave/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}

def tihngEditor = thingEditor;
def self = self;

thingEditor.thingContext.contentComposite.getDisplay().asyncExec({
    thingEditor.thingContext.actions.doAction("save", thingEditor.thingContext);
});
#$@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
    @/@ThingEditorDoSave/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    name
    @/@ThingEditorDoSave/@label
    sname
    label
    ssize
    50
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    label
    @/@ThingEditorDoSave/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    waitTime
    @/@ThingEditorDoSave/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    description
  @/@ThingEditorSelectDescriptor
  sname
  ThingEditorSelectDescriptor
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  EditThing
  smodifier
  public
  sinheritDescription
  false
  sdescription
  <p>选择模型编辑器中的描述者（类）。</p>
  snotXmlAttribute
  false
  sjson_isArray
  false
  sjson_array_type
  children
  sjson_attribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_registDisabled
  false
  sth_noThingRegistViewer
  false
  sth_fileMonitor
  false
  sth_mark
  false
  sth_registQueryOnlySelf
  false
  sgroupDescriptor
  false
  sid
  ThingEditorSelectDescriptor
    @/@ThingEditorSelectDescriptor/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_noThingRegistViewer
    false
    sth_fileMonitor
    false
    sth_mark
    false
    sth_registQueryOnlySelf
    false
    snotXmlAttribute
    false
    sjson_isArray
    false
    sgroupDescriptor
    false
    sid
    actions
      @/@ThingEditorSelectDescriptor/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}

def tihngEditor = thingEditor;
def self = self;
def descriptor = world.getThing(self.getString("descriptor"));
if (descriptor == null) {
    return null;
}

thingEditor.thingContext.contentComposite.getDisplay().asyncExec({
    thingEditor.thingContext.actions.doAction("selectDescriptor", thingEditor.thingContext, "descriptor", descriptor);
});
#$@text#$@
      sinterpretationType
      Action
      screateLocalVarScope
      false
      ssaveReturn
      false
      sswitchResult
      false
      sdebugLog
      false
      sdescriptors
      xworker.groovy.GroovyAction
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_noThingRegistViewer
      false
      sth_fileMonitor
      false
      sth_mark
      false
      sth_registQueryOnlySelf
      false
      snotXmlAttribute
      false
      sjson_isArray
      false
      sgroupDescriptor
      false
      sid
      run
    @/@ThingEditorSelectDescriptor/@name
    sname
    name
    sshowLabel
    true
    slabelAlign
    right
    slabelVAlign
    baseline
    smodifier
    public
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sxmlJsonIncludeDefault
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_noThingRegistViewer
    false
    sth_fileMonitor
    false
    sth_mark
    false
    sth_registQueryOnlySelf
    false
    sjson_isArray
    false
    sgroupDescriptor
    false
    sid
    name
    @/@ThingEditorSelectDescriptor/@label
    sname
    label
    sshowLabel
    true
    slabelAlign
    right
    slabelVAlign
    baseline
    smodifier
    public
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sxmlJsonIncludeDefault
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_noThingRegistViewer
    false
    sth_fileMonitor
    false
    sth_mark
    false
    sth_registQueryOnlySelf
    false
    sjson_isArray
    false
    sgroupDescriptor
    false
    sid
    label
    @/@ThingEditorSelectDescriptor/@descriptor
    sname
    descriptor
    sinputtype
    dataSelector
    ssize
    60
    sshowLabel
    true
    slabelAlign
    right
    slabelVAlign
    baseline
    smodifier
    public
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sxmlJsonIncludeDefault
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_noThingRegistViewer
    false
    sth_fileMonitor
    false
    sth_mark
    false
    sth_registQueryOnlySelf
    false
    sjson_isArray
    false
    sgroupDescriptor
    false
    sid
    descriptor
    @/@ThingEditorSelectDescriptor/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    slabelAlign
    right
    slabelVAlign
    baseline
    smodifier
    public
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sxmlJsonIncludeDefault
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_noThingRegistViewer
    false
    sth_fileMonitor
    false
    sth_mark
    false
    sth_registQueryOnlySelf
    false
    sjson_isArray
    false
    sgroupDescriptor
    false
    sid
    description
  @/@CreateThingDialog
  sname
  CreateThingDialog
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  EditThing
  smodifier
  public
  sinheritDescription
  false
  sdescription
  <p>打开创建事物的窗口，实际上是在右面显示打开窗口的界面。</p>
  snotXmlAttribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_registDisabled
  false
  sth_mark
  false
  sid
  CreateThingDialog
    @/@CreateThingDialog/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    actions
      @/@CreateThingDialog/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}

//打开新建事物的窗口
demo.showComposite("xworker.demo.xworker.FakeNewThingDialog/@mainComposite");

//设置属性和名字
def actionContext = actionContext;
def self = self;
demo.executeRunnable({
    def contentActionContext = actionContext.get("contentActionContext");
    if(contentActionContext == null){
        println("contentActionContext is null");
        return;
    }
    def thingName = self.getStringBlankAsNull("thingName");
    if(thingName != null){
        contentActionContext.dataObjectNameText.setText(thingName);
    }    
    
    def descriptorPath = self.getStringBlankAsNull("descriptorPath");
    if(descriptorPath != null){
        contentActionContext.descriptorText.setText(descriptorPath);
    }    
});
#$@text#$@
      sinterpretationType
      Action
      screateLocalVarScope
      false
      ssaveReturn
      false
      sdebugLog
      false
      sdescriptors
      xworker.lang.actions.Actions/@GroovyAction
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      run
    @/@CreateThingDialog/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    name
    @/@CreateThingDialog/@label
    sname
    label
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    label
    @/@CreateThingDialog/@thingName
    sname
    thingName
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    thingName
    @/@CreateThingDialog/@descriptorPath
    sname
    descriptorPath
    sinputtype
    dataSelector
    ssize
    60
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    descriptorPath
    @/@CreateThingDialog/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    description
  @/@GroovyScript
  sname
  GroovyScript
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.groovy.GroovyAction
  smany
  true
  seditCols
  2
  sinitialization
  false
  smodifier
  public
  sinheritDescription
  false
  snotXmlAttribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_registDisabled
  false
  sth_mark
  false
  sid
  GroovyScript
  @/@ThingNarrate
  sname
  ThingNarrate
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  smany
  true
  seditCols
  2
  sinitialization
  false
  sgroup
  Thing
  smodifier
  public
  sinheritDescription
  false
  sdescription
  <p>事物解说员，给定一个事物然后动态生成解说该事物的演示脚本，形成子演示。</p>
  snotXmlAttribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_registDisabled
  false
  sth_mark
  false
  sid
  ThingNarrate
    @/@ThingNarrate/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    actions
      @/@ThingNarrate/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
import org.xmeta.Thing;
import xworker.swt.guide.AutoDemo;

def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}

//要解说的事物
def thingPath = self.getString("thingPath");
def thing = world.getThing(thingPath);
if(thing == null){
    log.warn("thing is null, demo=" + self.getMetadata.getPath());
    return;
}

//创建演示事物
def demoThing = new Thing("xworker.swt.guide.autodemo.AutoDemo");
//根节点必须设置时间
createEditThing(demoThing, thing, thing.getString("demo_waitTime"), true);
//初始化子节点
init(demoThing, thing);

println demoThing.getMetadata().getPath();

//创建子演示
def childDemo = new AutoDemo(demo, demoThing);

def init(demoThing, thing){
    for(child in thing.getChilds()){
        def demo_waitTime = child.getStringBlankAsNull("demo_waitTime");        
        if(demo_waitTime != null){
            createEditThing(demoThing, child, demo_waitTime, false);
        }
        
        init(demoThing, child);
    }
}

def createEditThing(demoThing, thing, waitTime, first){
    //形成说明
    def sys = new Thing("xworker.swt.guide.autodemo.AutoDemo/@SysResponse");
    sys.set("description", thing.getString("description"));
    sys.set("waitTime", "");
    demoThing.addChild(sys);
    
    //打开事物
    def edit = null;
    if(first){
        edit = new Thing("xworker.swt.guide.autodemo.AutoDemo/@EditThing");
        edit.set("isChapter", "true");
    }else{
        edit = new Thing("xworker.swt.guide.autodemo.AutoDemo/@ThingEditorSelectNode");
    }
    edit.set("thingPath", thing.getMetadata().getPath());
    edit.set("waitTime", waitTime);
    
    demoThing.addChild(edit);
    
    
}
#$@text#$@
      sinterpretationType
      Action
      screateLocalVarScope
      false
      ssaveReturn
      false
      sswitchResult
      false
      sdebugLog
      false
      sdescriptors
      xworker.lang.actions.Actions/@GroovyAction
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      run
    @/@ThingNarrate/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    name
    @/@ThingNarrate/@label
    sname
    label
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    label
    @/@ThingNarrate/@thingPath
    sname
    thingPath
    sinputtype
    dataSelector
    ssize
    60
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    thingPath
    @/@ThingNarrate/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    description
  @/@DemoSelector
  sname
  DemoSelector
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  smany
  true
  seditCols
  2
  sinitialization
  false
  smodifier
  public
  sinheritDescription
  false
  sdescription
  <p>给一个界面可以选择执行子演示，如果不选择那么自动演示时可能会跳过。</p>
  snotXmlAttribute
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_registDisabled
  false
  sth_mark
  false
  sid
  DemoSelector
    @/@DemoSelector/@actions
    sname
    actions
    sdescriptors
    xworker.lang.MetaDescriptor3/@actions
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    actions
      @/@DemoSelector/@actions/@run
      sname
      run
      sisSynchronized
      false
      sthrowException
      true
      suseOtherAction
      false
      svarScope
      Local
      sdisableGlobalContext
      false
      Scode
#$@text#$@
def desc = self.getMetadata().getDescription();
if(desc != null && desc.trim() != "" && desc.trim() != "<p></p>"){
    demo.sysmResponse(self.getMetadata().getPath());
}

def path = "xworker.ide.tools.autodemo.DemoSelector/@mainComposite";
demo.showComposite(path, ["thing": self]);
#$@text#$@
      sinterpretationType
      Action
      screateLocalVarScope
      false
      ssaveReturn
      false
      sdebugLog
      false
      sdescriptors
      xworker.lang.actions.Actions/@GroovyAction
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      run
    @/@DemoSelector/@name
    sname
    name
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    name
    @/@DemoSelector/@label
    sname
    label
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    label
    @/@DemoSelector/@waitTime
    sname
    waitTime
    sshowLabel
    true
    sreadOnly
    false
    sdefault
    7000
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    waitTime
    @/@DemoSelector/@description
    sname
    description
    sinputtype
    html
    sshowLabel
    true
    sreadOnly
    false
    sinheritDescription
    false
    svalidateAllowBlank
    true
    LvalidateOnBlur
    true
    LallowDecimals
    true
    LallowNegative
    true
    snotXmlAttribute
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    description
    @/@DemoSelector/@AutoDemo
    sname
    AutoDemo
    sdescriptors
    xworker.lang.MetaDescriptor3/@thing
    sextends
    xworker.swt.guide.AutoDemo
    smany
    true
    seditCols
    2
    sinitialization
    false
    smodifier
    public
    sinheritDescription
    true
    snotXmlAttribute
    false
    sjson_isArray
    false
    sjson_array_type
    children
    sjson_attribute
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    AutoDemo
  @/@5648
  sname
  MenuBar
  sdescriptors
  xworker.lang.MetaDescriptor3/@MenuBar
  sinheritDescription
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_registDisabled
  false
  sth_noThingRegistViewer
  false
  sth_fileMonitor
  false
  sth_mark
  false
  sth_registQueryOnlySelf
  false
  snotXmlAttribute
  false
  sjson_isArray
  false
  sgroupDescriptor
  false
  sid
  5648
    @/@5648/@5649
    sname
    autoDemo
    slabel
    AutoDemo
    ssortWeight
    0
    sdescriptors
    xworker.lang.ThingMenuBar/@Menu
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_noThingRegistViewer
    false
    sth_fileMonitor
    false
    sth_mark
    false
    sth_registQueryOnlySelf
    false
    snotXmlAttribute
    false
    sjson_isArray
    false
    sgroupDescriptor
    false
    sid
    5649
      @/@5648/@5649/@5650
      sname
      execute
      slabel
      执行
      saction
      xworker.swt.guide.autodemo.AutoDemo/@actions/@menu_run
      ssortWeight
      0
      sdescriptors
      xworker.lang.ThingMenuBar/@Menu
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_noThingRegistViewer
      false
      sth_fileMonitor
      false
      sth_mark
      false
      sth_registQueryOnlySelf
      false
      snotXmlAttribute
      false
      sjson_isArray
      false
      sgroupDescriptor
      false
      sid
      5650
