home *** CD-ROM | disk | FTP | other *** search
/ PC World 1997 November / PCWorld_1997-11_cd.bin / software / programy / komix / DATA.Z / versionobj.tcl < prev    next >
Text File  |  1996-09-20  |  4KB  |  140 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1996
  4. #
  5. #      File:           @(#)versionobj.tcl    /main/hindenburg/7
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)versionobj.tcl    /main/hindenburg/7   20 Sep 1996 Copyright 1996 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14.  
  15. Class VersionObj : {Object} {
  16.     constructor
  17.     method destructor
  18.     method createTime2String
  19.     method freezeTime2String
  20.     method updateTime2String
  21.     method selectVersion
  22.     method deselectVersion
  23.     method createdBy
  24.     method cutVersion
  25. }
  26.  
  27. constructor VersionObj {class this name} {
  28.     set this [Object::constructor $class $this $name]
  29.     # Start constructor user section
  30.     # End constructor user section
  31.     return $this
  32. }
  33.  
  34. method VersionObj::destructor {this} {
  35.     # Start destructor user section
  36.     # End destructor user section
  37. }
  38.  
  39. method VersionObj::createTime2String {this} {
  40.     return [BrowserProcs::displayDate [$this createTime]]
  41. }
  42.  
  43. method VersionObj::freezeTime2String {this} {
  44.     return [BrowserProcs::displayDate [$this freezeTime]]
  45. }
  46.  
  47. method VersionObj::updateTime2String {this} {
  48.     return [BrowserProcs::displayDate [$this updateTime]]
  49. }
  50.  
  51. method VersionObj::selectVersion {this version {confV ""}} {
  52.     if [$version isA CorporateGroupVersion] {
  53.     if {"$confV" == ""} {
  54.         set confV [$this getParent ConfigVersion]
  55.     }
  56.     $this reuse $version $confV
  57.     return
  58.     }
  59.  
  60.     if [$version isA PhaseVersion] {
  61.     set flag "-phaseVersion"
  62.     } elseif [$version isA SystemVersion] {
  63.     set flag "-systemVersion"
  64.     } elseif [$version isA FileVersion] {
  65.     set flag "-fileVersion"
  66.     } elseif [$version isA GroupVersion] {
  67.     set flag "-groupVersion"
  68.     } else {
  69.     set flag ""
  70.     }
  71.     eval $this select $flag $version
  72.  
  73.     if [$version isA Document] {
  74.     if {"$confV" == ""} {
  75.         set confV [$this getParent ConfigVersion]
  76.     }
  77.     $version initialize $confV
  78.     $version parent $this
  79.     $version updateDocDir all 0
  80.     }
  81. }
  82.  
  83. method VersionObj::deselectVersion {this version} {
  84.     if [$version isA CorporateGroupVersion] {
  85.     $this unuse $version
  86.     return
  87.     }
  88.  
  89.     if [$version isA PhaseVersion] {
  90.     set flag "-phaseVersion"
  91.     } elseif [$version isA SystemVersion] {
  92.     set flag "-systemVersion"
  93.     if [$version isA Document] {
  94.         if {"[$version getInfo Status]" != "frozen"} {
  95.         $version freeze "Frozen for deactivation"
  96.         }
  97.         $version removeDocDir
  98.     }
  99.     } elseif [$version isA FileVersion] {
  100.     set flag "-fileVersion"
  101.     } elseif [$version isA GroupVersion] {
  102.     set flag "-groupVersion"
  103.     } else {
  104.     set flag ""
  105.     }
  106.     eval $this deselect $flag $version
  107. }
  108.  
  109. method VersionObj::createdBy {this} {
  110.     return [[$this creator] name]
  111. }
  112.  
  113. method VersionObj::cutVersion {this version} {
  114.  
  115.     # Skip if version is not selected any more
  116.     if [$version isA SystemVersion] {
  117.     set link [$this findSystemVersionLink -bySystemVersion $version]
  118.     } elseif [$version isA FileVersion] {
  119.     set link [$this findFileVersionLink -byFileVersion $version]
  120.     } elseif [$version isA GroupVersion] {
  121.     set link [$this findGroupVersionLink -byVersion $version]
  122.     } else {
  123.     return
  124.     }
  125.     if [$link isNil] {
  126.     return
  127.     }
  128.  
  129.     wmtkmessage "\
  130.     Deselecting [$version getInfo Type] '[$version getInfo Name]'\
  131.     from [$this getInfo Type] '[$this getInfo Name]'"
  132.     $this deselectVersion $version
  133.     [.main undoCommand] sourceObj $this
  134.     [.main undoCommand] addSource $version
  135.     wmtkmessage ""
  136. }
  137.  
  138. # Do not delete this line -- regeneration end marker
  139.  
  140.