home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / mtcorpgrou.tcl < prev    next >
Text File  |  1997-11-20  |  3KB  |  128 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)mtcorpgrou.tcl    /main/titanic/1
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)mtcorpgrou.tcl    /main/titanic/1   20 Nov 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14. require "mergeobjec.tcl"
  15.  
  16. Class MTCorpGroup : {MergeObject} {
  17.     constructor
  18.     method destructor
  19.     method hasConflict
  20.     method getInfo
  21.     method merge
  22.     method import
  23.     method getOwners
  24.     attribute level
  25. }
  26.  
  27. constructor MTCorpGroup {class this name fromRepObj toRepObj} {
  28.     set this [MergeObject::constructor $class $this $name $fromRepObj $toRepObj]
  29.     # Start constructor user section
  30.     # End constructor user section
  31.     return $this
  32. }
  33.  
  34. method MTCorpGroup::destructor {this} {
  35.     # Start destructor user section
  36.     # End destructor user section
  37.     $this MergeObject::destructor
  38. }
  39.  
  40. method MTCorpGroup::hasConflict {this} {
  41.     return 0
  42. }
  43.  
  44. method MTCorpGroup::getInfo {this} {
  45.     set owners [$this getOwners]
  46.     set fromOwners [lindex $owners 0]
  47.     set toOwners [lindex $owners 1]
  48.  
  49.     set info ""
  50.  
  51.     set systems ""
  52.     foreach owner $fromOwners {
  53.     if {$systems != ""} {
  54.         append systems "\n"
  55.     }
  56.     append systems "- [$owner status] [$owner text] \
  57.             in phase '[[$owner phase] name]'"
  58.     }
  59.     if {$systems != ""} {
  60.     lappend info  "From Reused In"
  61.     lappend info $systems
  62.     }
  63.  
  64.     set systems ""
  65.     foreach owner $toOwners {
  66.     if {$systems != ""} {
  67.         append systems "\n"
  68.     }
  69.     append systems "- [$owner status] [$owner text] \
  70.             in phase '[[$owner phase] name]'"
  71.     }
  72.     if {$systems != ""} {
  73.     lappend info  "To Reused In"
  74.     lappend info $systems
  75.     }
  76.  
  77.     return $info
  78. }
  79.  
  80. method MTCorpGroup::merge {this} {
  81.     return [$this import]
  82. }
  83.  
  84. method MTCorpGroup::import {this} {
  85.     set fromRepObj [$this fromRepObj]
  86.     set name [$fromRepObj getInfo Name]
  87.     set type [$fromRepObj getInfo Type]
  88.     wmtkmessage "Merging object $name.$type"
  89.  
  90.     # import the file
  91.     set parent [$this parent]
  92.     if {$parent != "" && [$parent toRepObj] != ""} {
  93.     MTProcs::makeToWorking $parent
  94.     } else {
  95.     set warning "Cannot merge object, \
  96.              parent object does not exist in 'to' version."
  97.     wmtkwarning $warning
  98.     wmtkmessage ""
  99.     return 0
  100.     }
  101.     set toRepObj [$this toRepObj]
  102.     set toSys [$parent toRepObj]
  103.     if {$toRepObj != ""} {
  104.     $toSys unuse $toRepObj
  105.     }
  106.     $toSys reuse $fromRepObj [.main toConfig]
  107.  
  108.     $this toRepObj $fromRepObj
  109.  
  110.     wmtkmessage ""
  111.     return 1
  112. }
  113.  
  114. method MTCorpGroup::getOwners {this} {
  115.     set owners ""
  116.     lappend owners [[$this fromRepObj] reusedIn]
  117.     set toRepObj [$this toRepObj]
  118.     if {$toRepObj != ""} {
  119.     lappend owners [$toRepObj ReusedIn]
  120.     } else {
  121.     lappend owners {}
  122.     }
  123.     return $owners
  124. }
  125.  
  126. # Do not delete this line -- regeneration end marker
  127.  
  128.