^1640771638152
@
sname
shell
stext
默认解说员
sNO_TRIM
false
sCLOSE
false
sTITLE
false
sMIN
false
sMAX
false
sBORDER
false
sRESIZE
true
sON_TOP
true
sTOOL
false
sNO_FOCUS
false
swidth
600
sheight
260
scenterScreen
true
spack
false
smaximized
false
sfullScreen
false
sH_SCROLL
false
sV_SCROLL
false
sNO_BACKGROUND
false
sNO_MERGE_PAINTS
false
sNO_REDRAW_RESIZE
false
sNO_RADIO_GROUP
false
sEMBEDDED
false
sDOUBLE_BUFFERED
false
slabel
DefaultNarrator
scapture
false
senabled
true
sredraw
true
svisible
true
sdescriptors
xworker.swt.widgets.Shell
sth_createIndex
false
sth_registMyChilds
false
sth_mark
false
  @/@resources
  sname
  resources
  sdescriptors
  xworker.swt.Widgets/@Resource
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  resources
    @/@resources/@narratorImage
    sname
    defaultImage
    stype
    Image
    simageFile
    images/guide/narrator/default.jpg
    sdescriptors
    xworker.swt.util.Resource/@Image
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    narratorImage
    @/@resources/@userImage
    sname
    userImage
    stype
    Image
    simageFile
    images/guide/narrator/user.jpg
    sdescriptors
    xworker.swt.util.Resource/@Image
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    userImage
  @/@shellGridLayout
  sname
  shellGridLayout
  snumColumns
  2
  smakeColumnsEqualWidth
  false
  smarginWidth
  0
  smarginHeight
  0
  smarginLeft
  0
  smarginTop
  0
  smarginRight
  0
  smarginBottom
  0
  shorizontalSpacing
  0
  sverticalSpacing
  0
  sdescriptors
  xworker.swt.Layouts/@GridLayout
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  shellGridLayout
  @/@imageComposite
  sname
  imageComposite
  sBORDER
  false
  sH_SCROLL
  false
  sV_SCROLL
  false
  sNO_BACKGROUND
  false
  sNO_FOCUS
  false
  sNO_MERGE_PAINTS
  false
  sNO_REDRAW_RESIZE
  false
  sNO_RADIO_GROUP
  false
  sEMBEDDED
  false
  sDOUBLE_BUFFERED
  false
  scapture
  false
  senabled
  true
  sredraw
  true
  svisible
  true
  sdescriptors
  xworker.swt.Widgets/@Composite
  sinheritDescription
  false
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_registDisabled
  false
  sth_mark
  false
  sid
  imageComposite
    @/@imageComposite/@imageCompositeGridLayout
    sname
    imageCompositeGridLayout
    smakeColumnsEqualWidth
    false
    smarginWidth
    5
    smarginHeight
    5
    smarginLeft
    0
    smarginTop
    0
    smarginRight
    0
    smarginBottom
    0
    shorizontalSpacing
    5
    sverticalSpacing
    5
    sdescriptors
    xworker.swt.Layouts/@GridLayout
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    imageCompositeGridLayout
    @/@imageComposite/@imageCompositeGridData
    sname
    imageCompositeGridData
    sstyle
    FILL_VERTICAL
    shorizontalIndent
    0
    swidth
    -1
    sheight
    -1
    shorizontalAlignment
    BEGINNING
    sverticalAlignment
    CENTER
    shorizontalSpan
    1
    sverticalSpan
    1
    sgrabExcessHorizontalSpace
    false
    sgrabExcessVerticalSpace
    false
    sdescriptors
    xworker.swt.layout.LayoutDatas/@GridData
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    imageCompositeGridData
    @/@imageComposite/@narratorComposite
    sname
    narratorComposite
    sBORDER
    false
    sH_SCROLL
    false
    sV_SCROLL
    false
    sNO_BACKGROUND
    false
    sNO_FOCUS
    false
    sNO_MERGE_PAINTS
    false
    sNO_REDRAW_RESIZE
    false
    sNO_RADIO_GROUP
    false
    sEMBEDDED
    false
    sDOUBLE_BUFFERED
    false
    sbackgroundMode
    INHERIT_DEFAULT
    sbackgroundImage
    defaultImage
    scapture
    false
    senabled
    true
    sredraw
    true
    svisible
    true
    sdescriptors
    xworker.swt.Widgets/@Composite
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    narratorComposite
      @/@imageComposite/@narratorComposite/@narratorCompositeGridData
      sname
      narratorCompositeGridData
      shorizontalIndent
      0
      swidth
      175
      sheight
      200
      shorizontalAlignment
      BEGINNING
      sverticalAlignment
      CENTER
      shorizontalSpan
      1
      sverticalSpan
      1
      sgrabExcessHorizontalSpace
      false
      sgrabExcessVerticalSpace
      false
      sdescriptors
      xworker.swt.layout.LayoutDatas/@GridData
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      narratorCompositeGridData
      @/@imageComposite/@narratorComposite/@narratorCompositeGirdLayout
      sname
      narratorCompositeGirdLayout
      smakeColumnsEqualWidth
      false
      smarginWidth
      5
      smarginHeight
      5
      smarginLeft
      0
      smarginTop
      0
      smarginRight
      0
      smarginBottom
      0
      shorizontalSpacing
      5
      sverticalSpacing
      5
      sdescriptors
      xworker.swt.Layouts/@GridLayout
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      narratorCompositeGirdLayout
      @/@imageComposite/@narratorComposite/@DragMove1
      sname
      DragMove
      sdescriptors
      xworker.swt.Widgets/@DragMove
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      DragMove1
        @/@imageComposite/@narratorComposite/@DragMove1/@actions
        sname
        actions
        sdescriptors
        xworker.swt.events.xworker.DragMove/@actions1
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        actions
          @/@imageComposite/@narratorComposite/@DragMove1/@actions/@dragMoveMoved
          sname
          dragMoveMoved
          sisSynchronized
          false
          sthrowException
          true
          suseOtherAction
          false
          svarScope
          Local
          sdisableGlobalContext
          false
          Scode
#$@text#$@
//移动窗口
def loc = shell.getLocation();
shell.setLocation(loc.x + dragMove.getOffsetX(), loc.y + dragMove.getOffsetY());
#$@text#$@
          sinterpretationType
          Action
          screateLocalVarScope
          false
          ssaveReturn
          false
          sdescriptors
          xworker.lang.actions.Actions/@GroovyAction
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          dragMoveMoved
    @/@imageComposite/@blankComposite
    sname
    blankComposite
    sBORDER
    false
    sH_SCROLL
    false
    sV_SCROLL
    false
    sNO_BACKGROUND
    false
    sNO_FOCUS
    false
    sNO_MERGE_PAINTS
    false
    sNO_REDRAW_RESIZE
    false
    sNO_RADIO_GROUP
    false
    sEMBEDDED
    false
    sDOUBLE_BUFFERED
    false
    scapture
    false
    senabled
    true
    sredraw
    true
    svisible
    true
    sdescriptors
    xworker.swt.Widgets/@Composite
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    blankComposite
      @/@imageComposite/@blankComposite/@blankCompositeGridData
      sname
      blankCompositeGridData
      sstyle
      FILL_BOTH
      shorizontalIndent
      0
      swidth
      -1
      sheight
      -1
      shorizontalAlignment
      BEGINNING
      sverticalAlignment
      CENTER
      shorizontalSpan
      1
      sverticalSpan
      1
      sgrabExcessHorizontalSpace
      false
      sgrabExcessVerticalSpace
      false
      sdescriptors
      xworker.swt.layout.LayoutDatas/@GridData
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      blankCompositeGridData
      @/@imageComposite/@blankComposite/@Label
      sname
      drageMoveLabel
      sBORDER
      false
      stype
      HORIZONTAL
      sshadow
      SHADOW_OUT
      salignment
      LEFT
      stext
      lang:d=拖动头像可以移动窗口&en=Drag the avatar to move
      scapture
      false
      senabled
      true
      sredraw
      true
      spack
      false
      svisible
      true
      sdescriptors
      xworker.swt.Widgets/@Label
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      Label
        @/@imageComposite/@blankComposite/@Label/@GridData
        sname
        GridData
        sstyle
        FILL_BOTH
        shorizontalIndent
        0
        swidth
        -1
        sheight
        -1
        shorizontalAlignment
        CENTER
        sverticalAlignment
        BEGINNING
        shorizontalSpan
        1
        sverticalSpan
        1
        sgrabExcessHorizontalSpace
        false
        sgrabExcessVerticalSpace
        false
        sdescriptors
        xworker.swt.layout.LayoutDatas/@GridData
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        GridData
      @/@imageComposite/@blankComposite/@blankComposteGridLayout
      sname
      blankComposteGridLayout
      smakeColumnsEqualWidth
      false
      smarginWidth
      5
      smarginHeight
      5
      smarginLeft
      0
      smarginTop
      0
      smarginRight
      0
      smarginBottom
      0
      shorizontalSpacing
      5
      sverticalSpacing
      5
      sdescriptors
      xworker.swt.Layouts/@GridLayout
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      blankComposteGridLayout
  @/@descComposite
  sname
  descComposite
  sBORDER
  false
  sH_SCROLL
  false
  sV_SCROLL
  false
  sNO_BACKGROUND
  false
  sNO_FOCUS
  false
  sNO_MERGE_PAINTS
  false
  sNO_REDRAW_RESIZE
  false
  sNO_RADIO_GROUP
  false
  sEMBEDDED
  false
  sDOUBLE_BUFFERED
  false
  scapture
  false
  senabled
  true
  sredraw
  true
  svisible
  true
  sdescriptors
  xworker.swt.Widgets/@Composite
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  descComposite
    @/@descComposite/@descCompositeGridData
    sname
    descCompositeGridData
    sstyle
    FILL_BOTH
    shorizontalIndent
    0
    swidth
    -1
    sheight
    -1
    shorizontalAlignment
    BEGINNING
    sverticalAlignment
    CENTER
    shorizontalSpan
    1
    sverticalSpan
    1
    sgrabExcessHorizontalSpace
    false
    sgrabExcessVerticalSpace
    false
    sdescriptors
    xworker.swt.layout.LayoutDatas/@GridData
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    descCompositeGridData
    @/@descComposite/@descCompositeGridData1
    sname
    descCompositeGridData
    smakeColumnsEqualWidth
    false
    smarginWidth
    0
    smarginHeight
    0
    smarginLeft
    0
    smarginTop
    0
    smarginRight
    0
    smarginBottom
    0
    shorizontalSpacing
    0
    sverticalSpacing
    0
    sdescriptors
    xworker.swt.Layouts/@GridLayout
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    descCompositeGridData1
    @/@descComposite/@contentComposite
    sname
    contentComposite
    sBORDER
    false
    sH_SCROLL
    false
    sV_SCROLL
    false
    sNO_BACKGROUND
    false
    sNO_FOCUS
    false
    sNO_MERGE_PAINTS
    false
    sNO_REDRAW_RESIZE
    false
    sNO_RADIO_GROUP
    false
    sEMBEDDED
    false
    sDOUBLE_BUFFERED
    false
    scapture
    false
    senabled
    true
    sredraw
    true
    svisible
    true
    sdescriptors
    xworker.swt.Widgets/@Composite
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    contentComposite
      @/@descComposite/@contentComposite/@contentCompositeGridData
      sname
      contentCompositeGridData
      sstyle
      FILL_BOTH
      shorizontalIndent
      0
      swidth
      -1
      sheight
      -1
      shorizontalAlignment
      BEGINNING
      sverticalAlignment
      CENTER
      shorizontalSpan
      1
      sverticalSpan
      1
      sgrabExcessHorizontalSpace
      false
      sgrabExcessVerticalSpace
      false
      sdescriptors
      xworker.swt.layout.LayoutDatas/@GridData
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      contentCompositeGridData
      @/@descComposite/@contentComposite/@descBrowser
      sname
      descBrowser
      sMOZILLA
      false
      sWEBKIT
      false
      sdescriptors
      xworker.swt.Widgets/@Browser
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      descBrowser
        @/@descComposite/@contentComposite/@descBrowser/@UtilBrowser
        sname
        UtilBrowser
        sdescriptors
        xworker.swt.browser.Browser/@UtilBrowser
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        UtilBrowser
      @/@descComposite/@contentComposite/@thingFormComposite
      sname
      thingFormComposite
      sBORDER
      false
      sH_SCROLL
      false
      sV_SCROLL
      false
      sNO_BACKGROUND
      false
      sNO_FOCUS
      false
      sNO_MERGE_PAINTS
      false
      sNO_REDRAW_RESIZE
      false
      sNO_RADIO_GROUP
      false
      sEMBEDDED
      false
      sDOUBLE_BUFFERED
      false
      scapture
      false
      senabled
      true
      sredraw
      true
      svisible
      true
      sdescriptors
      xworker.swt.Widgets/@Composite
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      thingFormComposite
        @/@descComposite/@contentComposite/@thingFormComposite/@thingFormFillLayout
        sname
        thingFormFillLayout
        stype
        SWT.HORIZONTAL
        sdescriptors
        xworker.swt.Layouts/@FillLayout
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        thingFormFillLayout
        @/@descComposite/@contentComposite/@thingFormComposite/@thingForm
        sname
        thingForm
        scolumn
        -1
        sH_SCROLL
        true
        sV_SCROLL
        true
        sNO_BACKGROUND
        false
        sNO_FOCUS
        false
        sNO_MERGE_PAINTS
        false
        sNO_REDRAW_RESIZE
        false
        sNO_RADIO_GROUP
        false
        sEMBEDDED
        false
        sDOUBLE_BUFFERED
        false
        sdescriptors
        xworker.swt.Widgets/@ThingForm
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        thingForm
      @/@descComposite/@contentComposite/@composite
      sname
      userComposite
      sBORDER
      false
      sH_SCROLL
      false
      sV_SCROLL
      false
      sNO_BACKGROUND
      false
      sNO_FOCUS
      false
      sNO_MERGE_PAINTS
      false
      sNO_REDRAW_RESIZE
      false
      sNO_RADIO_GROUP
      false
      sEMBEDDED
      false
      sDOUBLE_BUFFERED
      false
      scapture
      false
      senabled
      true
      sredraw
      true
      svisible
      true
      sdescriptors
      xworker.swt.Widgets/@Composite
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      composite
        @/@descComposite/@contentComposite/@composite/@compositeFillLayout
        sname
        compositeFillLayout
        stype
        SWT.HORIZONTAL
        sdescriptors
        xworker.swt.Layouts/@FillLayout
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        compositeFillLayout
      @/@descComposite/@contentComposite/@contentCompositeStackLayout
      sname
      contentCompositeStackLayout
      stopControl
      descBrowser
      sdescriptors
      xworker.swt.Layouts/@StackLayout
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      contentCompositeStackLayout
    @/@descComposite/@buttonComposite
    sname
    buttonComposite
    sBORDER
    false
    sH_SCROLL
    false
    sV_SCROLL
    false
    sNO_BACKGROUND
    false
    sNO_FOCUS
    false
    sNO_MERGE_PAINTS
    false
    sNO_REDRAW_RESIZE
    false
    sNO_RADIO_GROUP
    false
    sEMBEDDED
    false
    sDOUBLE_BUFFERED
    false
    scapture
    false
    senabled
    true
    sredraw
    true
    svisible
    true
    sdescriptors
    xworker.swt.Widgets/@Composite
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    buttonComposite
      @/@descComposite/@buttonComposite/@buttonCompositeRowLayout
      sname
      buttonCompositeRowLayout
      sfill
      false
      sjustify
      false
      smarginWidth
      0
      smarginHeight
      0
      smarginLeft
      3
      smarginTop
      3
      smarginRight
      3
      smarginBottom
      3
      spack
      true
      sspacing
      3
      stype
      SWT.HORIZONTAL
      swrap
      true
      sdescriptors
      xworker.swt.Layouts/@RowLayout
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      buttonCompositeRowLayout
      @/@descComposite/@buttonComposite/@buttonCompositeGridData
      sname
      buttonCompositeGridData
      sstyle
      FILL_HORIZONTAL
      shorizontalIndent
      0
      swidth
      -1
      sheight
      -1
      shorizontalAlignment
      END
      sverticalAlignment
      CENTER
      shorizontalSpan
      1
      sverticalSpan
      1
      sgrabExcessHorizontalSpace
      false
      sgrabExcessVerticalSpace
      false
      sdescriptors
      xworker.swt.layout.LayoutDatas/@GridData
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      buttonCompositeGridData
      @/@descComposite/@buttonComposite/@nextButton
      sname
      nextButton
      stext
      lang:d=下一步&en=Next
      stype
      SWT.PUSH
      sflat
      false
      sborder
      false
      sselected
      false
      scapture
      false
      senabled
      true
      sredraw
      true
      spack
      false
      svisible
      true
      sdescriptors
      xworker.swt.Widgets/@Button
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      nextButton
        @/@descComposite/@buttonComposite/@nextButton/@Listeners
        sname
        Listeners
        sdescriptors
        xworker.swt.widgets.Widget/@Listeners
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        Listeners
          @/@descComposite/@buttonComposite/@nextButton/@Listeners/@netxtButtonSelection
          sname
          netxtButtonSelection
          stype
          Selection
          sdescriptors
          xworker.swt.events.Listeners/@listeners/@Listener
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          netxtButtonSelection
            @/@descComposite/@buttonComposite/@nextButton/@Listeners/@netxtButtonSelection/@GroovyAction
            sname
            GroovyAction
            sisSynchronized
            false
            sthrowException
            true
            suseOtherAction
            false
            svarScope
            Local
            sdisableGlobalContext
            false
            Scode
#$@text#$@
if(actionContext.get("contentThing") != null){
    def thing = world.getThing(contentThing.getString("nextNarratorSpeak"));
    if(thing != null){
        thing.doAction("run", actionContext);
    }
}
#$@text#$@
            sinterpretationType
            Action
            screateLocalVarScope
            false
            ssaveReturn
            false
            sdescriptors
            xworker.lang.actions.Actions/@GroovyAction
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            GroovyAction
      @/@descComposite/@buttonComposite/@closeButton
      sname
      closeButton
      stext
      lang:d=关闭&en=Close
      stype
      SWT.PUSH
      sflat
      false
      sborder
      false
      sselected
      false
      scapture
      false
      senabled
      true
      sredraw
      true
      spack
      false
      svisible
      true
      sdescriptors
      xworker.swt.Widgets/@Button
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      closeButton
        @/@descComposite/@buttonComposite/@closeButton/@Listeners
        sname
        Listeners
        sdescriptors
        xworker.swt.widgets.Widget/@Listeners
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        Listeners
          @/@descComposite/@buttonComposite/@closeButton/@Listeners/@closeButtonSelection
          sname
          closeButtonSelection
          stype
          Selection
          sdescriptors
          xworker.swt.events.Listeners/@listeners/@Listener
          sth_createIndex
          false
          sth_registMyChilds
          false
          sth_mark
          false
          sid
          closeButtonSelection
            @/@descComposite/@buttonComposite/@closeButton/@Listeners/@closeButtonSelection/@GroovyAction
            sname
            GroovyAction
            sisSynchronized
            false
            sthrowException
            true
            suseOtherAction
            false
            svarScope
            Local
            sdisableGlobalContext
            false
            scode
            shell.dispose();
            sinterpretationType
            Action
            screateLocalVarScope
            false
            ssaveReturn
            false
            sdescriptors
            xworker.lang.actions.Actions/@GroovyAction
            sth_createIndex
            false
            sth_registMyChilds
            false
            sth_mark
            false
            sid
            GroovyAction
  @/@actions
  sname
  actions
  sdescriptors
  xworker.swt.Widgets/@actions
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_mark
  false
  sid
  actions
    @/@actions/@setDescription
    sname
    setContent
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import xworker.lang.util.XWorkerUtils;

//设置讲述人的图片
def image = defaultImage;
def narrator = actionContext.get("narrator");
if(narrator == "default"){
    image = defaultImage;
}else if(narrator == "user"){
    image = userImage;
}
narratorComposite.setBackgroundImage(image);

//设置内容
descBrowser.setUrl(XWorkerUtils.getThingDescUrl(contentThing));

actionContext.getScope(0).put("contentThing", contentThing);

contentCompositeStackLayout.topControl = descBrowser;
contentComposite.layout();
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    setDescription
      @/@actions/@setDescription/@ins
      sisValidate
      false
      sname
      ins
      sdescriptors
      xworker.lang.actions.Inout/@ins
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      ins
        @/@actions/@setDescription/@ins/@narrator
        sname
        narrator
        stype
        java.lang.String
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        narrator
        @/@actions/@setDescription/@ins/@contentThing
        sname
        contentThing
        stype
        org.xmeta.Thing
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        contentThing
    @/@actions/@setButtons
    sname
    setButtons
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import org.xmeta.ActionContext;
import xworker.lang.executor.Executor;

def ac = new ActionContext(actionContext);

//清除原来的按钮
for(control in buttonComposite.getChildren()){
    control.dispose();
}

actionContext.peek().put("parent", buttonComposite);
//创建新的按钮
try{
    if(actionContext.get("buttonThings") != null){
        for(buttonThing in buttonThings){
            buttonThing.doAction("create", ac);
        }
    }
}catch(Exception e){
    Executor.error("xworker.ide.guide.narrator.DefaultNarrator.p_1852567959.setButtons", "Create narrator buttons error", e);
}

//创建下一步的按钮
if(actionContext.get("nextButton") == true){
    def thing = world.getThing("xworker.ide.guide.narrator.DefaultNarrator/@descComposite/@buttonComposite/@nextButton");
    thing.doAction("create", ac);
}

//创建关闭按钮
def closeButton = actionContext.get("closeButton");
//log.info("closeButton=" + closeButton);
if(closeButton == null || closeButton == true){
    def thing = world.getThing("xworker.ide.guide.narrator.DefaultNarrator/@descComposite/@buttonComposite/@closeButton");
    thing.doAction("create", ac);
}

buttonComposite.pack();
buttonComposite.layout();
descComposite.layout();
//shell.pack();
#$@text#$@
    sinterpretationType
    Action
    screateLocalVarScope
    false
    ssaveReturn
    false
    sswitchResult
    false
    sdebugLog
    false
    sdescriptors
    xworker.lang.actions.Actions/@GroovyAction
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_mark
    false
    sid
    setButtons
      @/@actions/@setButtons/@ins
      sisValidate
      false
      sname
      ins
      sdescriptors
      xworker.lang.actions.Inout/@ins
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      ins
        @/@actions/@setButtons/@ins/@buttonThings
        sname
        buttonThings
        stype
        java.lang.Iterable
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        buttonThings
        @/@actions/@setButtons/@ins/@nextButton
        sname
        nextButton
        stype
        Boolean
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        nextButton
    @/@actions/@setThingDesc
    sname
    setThingDesc
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import xworker.lang.util.XWorkerUtils;

//设置讲述人的图片
def image = defaultImage;
def narrator = actionContext.get("narrator");
if(narrator == "default"){
    image = defaultImage;
}else if(narrator == "user"){
    image = userImage;
}
narratorComposite.setBackgroundImage(image);

//设置内容
descBrowser.setUrl(XWorkerUtils.getThingDescUrl(thing));

actionContext.getScope(0).put("contentThing", thing);

contentCompositeStackLayout.topControl = descBrowser;
contentComposite.layout();
#$@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
    setThingDesc
      @/@actions/@setThingDesc/@ins
      sisValidate
      false
      sname
      ins
      sdescriptors
      xworker.lang.actions.Inout/@ins
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_mark
      false
      sid
      ins
        @/@actions/@setThingDesc/@ins/@narrator
        sname
        narrator
        stype
        java.lang.String
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        narrator
        @/@actions/@setThingDesc/@ins/@contentThing
        sname
        thing
        stype
        org.xmeta.Thing
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_mark
        false
        sid
        contentThing
    @/@actions/@setFormThing
    sname
    setFormThing
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
thingForm.doAction("setThing", actionContext, ["thing": thing]);

contentCompositeStackLayout.topControl = thingFormComposite;
contentComposite.layout();
#$@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
    setFormThing
      @/@actions/@setFormThing/@ins
      sisValidate
      false
      sname
      ins
      sdescriptors
      xworker.lang.actions.Inout/@ins
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      ins
        @/@actions/@setFormThing/@ins/@thing
        sname
        thing
        stype
        org.xmeta.Thing
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        thing
    @/@actions/@setComposite
    sname
    setComposite
    sisSynchronized
    false
    sthrowException
    true
    suseOtherAction
    false
    svarScope
    Local
    sdisableGlobalContext
    false
    Scode
#$@text#$@
import org.xmeta.ActionContext;

//先清空原先的Composite下的内容
for(child in userComposite.getChildren()){
    child.dispose();
}

//用传入的事物创建内容
def ac = new ActionContext(actionContext);
ac.put("parent", userComposite);
compositeThing.doAction("create", ac);
userComposite.layout();

//把composite的全局变量名保存到内容中
actionContext.getScope(0).put("compositeContext", ac);

contentCompositeStackLayout.topControl = userComposite;
contentComposite.layout();
#$@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
    setComposite
      @/@actions/@setComposite/@ins
      sisValidate
      false
      sname
      ins
      sdescriptors
      xworker.lang.actions.Inout/@ins
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      ins
        @/@actions/@setComposite/@ins/@composite
        sname
        compositeThing
        stype
        org.xmeta.Thing
        stypeCheck
        false
        soptional
        true
        scheck
        false
        scheckLevel
        exception
        sdescriptors
        xworker.lang.actions.Inout/@ins/@param
        sinheritDescription
        false
        sth_createIndex
        false
        sth_registMyChilds
        false
        sth_registDisabled
        false
        sth_mark
        false
        sid
        composite
