home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / witemuiobj.tcl < prev    next >
Text File  |  1996-11-07  |  4KB  |  148 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cadre Technologies Inc.    1996
  4. #
  5. #      File:           @(#)witemuiobj.tcl    /main/titanic/2
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)witemuiobj.tcl    /main/titanic/2   7 Nov 1996 Copyright 1996 Cadre Technologies Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14. require "browsuiobj.tcl"
  15.  
  16. Class WItemUiObj : {BrowsUiObj} {
  17.     constructor
  18.     method destructor
  19.     method definedItems
  20.     method initializeInfo
  21.     method moveDefinition
  22. }
  23.  
  24. global WItemUiObj::uiClass
  25. set WItemUiObj::uiClass "WorkItems"
  26.  
  27.  
  28. constructor WItemUiObj {class this name} {
  29.     set this [BrowsUiObj::constructor $class $this $name]
  30.     # Start constructor user section
  31.  
  32.     $this uiName "<defined items>"
  33.     $this uiText "defined items"
  34.  
  35.     # End constructor user section
  36.     return $this
  37. }
  38.  
  39. method WItemUiObj::destructor {this} {
  40.     # Start destructor user section
  41.     # End destructor user section
  42.     $this BrowsUiObj::destructor
  43. }
  44.  
  45. proc WItemUiObj::associations {} {
  46.     return {definedItems}
  47. }
  48.  
  49. proc WItemUiObj::childTypes {assoc} {
  50.     if {[lsearch -exact "[WItemUiObj::associations]" "$assoc"] == -1} {
  51.     return ""
  52.     }
  53.     set childTypes [BrowserProcs::childTypes $assoc]
  54.     case "$childTypes" in {
  55.     {DefinedItem} {
  56.         return "${BrowserProcs::itemTypes}"
  57.     }
  58.     {default} {
  59.         return "$childTypes"
  60.     }
  61.     }
  62. }
  63.  
  64. method WItemUiObj::definedItems {this} {
  65.     set definedItems ""
  66.     foreach item [[$this parent] definedItems] {
  67.     if {"[$item scope]" == "scopePhaseRef"} continue
  68.     lappend definedItems $item
  69.     }
  70.     return $definedItems
  71. }
  72.  
  73. proc WItemUiObj::infoProperties {} {
  74.     return [BrowserProcs::infoProperties]
  75. }
  76.  
  77. method WItemUiObj::initializeInfo {this dummy} {
  78.     $this BrowsUiObj::initializeInfo $dummy
  79.     $this setInfo Text "[$this uiText] of [[$this parent] getInfo Text]"
  80. }
  81.  
  82. method WItemUiObj::moveDefinition {this} {
  83.     set sysVList ""
  84.     set crntSysV [$this getParent SystemVersion]
  85.     set crntSysType [[$crntSysV system] type]
  86.     foreach sysV [[$this getParent PhaseVersion] getChildSet systemVersions] {
  87.     if {"$sysV" == "$crntSysV"} continue
  88.     if {"$crntSysType" != "[[$sysV system] type]"} continue
  89.     lappend sysVList $sysV
  90.     }
  91.     if [lempty $sysVList] {
  92.     wmtkinfo \
  93.         "There are no other [$crntSysV getInfo Type]s to move\
  94.          definitions to within the current PhaseVersion"
  95.     return
  96.     }
  97.  
  98.     set typeSpec [getObjectSpec [$wmttoolObj objectHdlr] \
  99.     SystemVersion [$crntSysV getInfo Type] \
  100.     ]
  101.     if {"$typeSpec" != ""} {
  102.     set icon [$typeSpec smallIcon]
  103.     } else {
  104.     set icon ""
  105.     }
  106.     set headerSpecList {
  107.     {Name 25 ascii {increasing 1}}
  108.     {Version 25 ascii {increasing 2}}
  109.     {Status 14 ascii {increasing 3}}
  110.     }
  111.     set objectSpecList ""
  112.     foreach sysV $sysVList {
  113.     lappend objectSpecList [list $icon \
  114.         [$sysV name] \
  115.         [$sysV versionName] \
  116.         [$sysV status] \
  117.     ]
  118.     }
  119.  
  120.     require "browsviewd.tcl"
  121.     set box $wmttoolObj.moveDefinition
  122.     ClassMaker::extend BrowsViewDialog MoveDefinitionBrowsViewDialog dbObj
  123.     MoveDefinitionBrowsViewDialog new $box \
  124.     -title "Move Definition" \
  125.     -message "Select [$crntSysV getInfo Type] to move definition(s) to" \
  126.     -headerSpecList $headerSpecList \
  127.     -objectSpecList $objectSpecList \
  128.     -objectList $sysVList \
  129.     -dbObj [$this parent] \
  130.     -cancelPressed {%this delete} \
  131.     -okPressed {
  132.         set dbObj [%this dbObj]
  133.         set confV [$dbObj getParent ConfigVersion]
  134.         set sysV [[lindex [[%this view] selectedSet] 0] object]
  135.         set script " $sysV removeUnusedDeclarations"
  136.         foreach obj [$wmttoolObj selectedObjSet] {
  137.         append script " ;"
  138.         append script " $dbObj moveDefinition $obj $confV $sysV"
  139.         }
  140.         $wmttoolObj startCommand tcl "$script" "" "" {1 0} 1
  141.     }
  142.     [$box view] selectionPolicy BROWSE
  143.     $box popUp
  144. }
  145.  
  146. # Do not delete this line -- regeneration end marker
  147.  
  148.