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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)msumlnamed.tcl    /main/titanic/2
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)msumlnamed.tcl    /main/titanic/2   29 Aug 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14. #require "msumlsumma.tcl"
  15.  
  16. Class MSUMLNamedObject : {MSUMLSummaryInformation} {
  17.     constructor
  18.     method destructor
  19.     method name
  20.     method promoter
  21.     method interfaceOfMe
  22.     method getInterfaceObject
  23.     method setInterfaceObject
  24.     method removeInterfaceObject
  25.     method saveFreeTextProp
  26.     method loadFreeTextProp
  27.     attribute msUmlObject
  28.     attribute interfaceObject
  29. }
  30.  
  31. constructor MSUMLNamedObject {class this typeName} {
  32.     set this [MSUMLSummaryInformation::constructor $class $this $typeName]
  33.     $this interfaceObject [Dictionary new]
  34.     # Start constructor user section
  35.     # End constructor user section
  36.     return $this
  37. }
  38.  
  39. method MSUMLNamedObject::destructor {this} {
  40.     # Start destructor user section
  41.     [$this interfaceObject] foreach id intObj {
  42.         $intObj delete
  43.     }
  44.     set msUmlObject [$this msUmlObject]
  45.     if [llength $msUmlObject] {
  46.         $msUmlObject delete
  47.     }
  48.     # End destructor user section
  49.     $this MSUMLSummaryInformation::destructor
  50. }
  51.  
  52. method MSUMLNamedObject::name {this} {
  53.     [$this msObject] property Name
  54. }
  55.  
  56. method MSUMLNamedObject::promoter {this} {
  57.     $this interfaceObject [Dictionary new]
  58.     $this MSUMLSummaryInformation::promoter
  59. }
  60.  
  61. method MSUMLNamedObject::interfaceOfMe {this interface} {
  62.     set int [$this getInterfaceObject $interface]
  63.         if [llength $int] {
  64.             return $int
  65.         }
  66.         set int [$this getInterface $interface]
  67.         $this setInterfaceObject $interface $int
  68.         return $int
  69.  
  70. }
  71.  
  72. # Do not delete this line -- regeneration end marker
  73.  
  74. method MSUMLNamedObject::getInterfaceObject {this interfaceName} {
  75.     return [[$this interfaceObject] set $interfaceName]
  76. }
  77.  
  78. method MSUMLNamedObject::setInterfaceObject {this interfaceName newInterfaceObject} {
  79.     [$this interfaceObject] set $interfaceName $newInterfaceObject
  80. }
  81.  
  82. method MSUMLNamedObject::removeInterfaceObject {this interfaceName} {
  83.     [$this interfaceObject] unset $interfaceName
  84. }
  85.  
  86. method MSUMLNamedObject::saveFreeTextProp {this msObject propObject} {
  87.     set freeText [$propObject getPropertyValue freeText]
  88.     if [llength $freeText] {
  89.         set iSummObject [$msObject getInterface ISummaryInformation]
  90.         $iSummObject property Comments $freeText
  91.     }
  92. }
  93.  
  94. method MSUMLNamedObject::loadFreeTextProp {this revEngObject {type "item"}} {
  95.     set iSummObject [$this interfaceOfMe ISummaryInformation]
  96.     set freeText [$iSummObject property Comments]
  97.     if [llength $freeText] {
  98.         $revEngObject setProp freeText $freeText $type
  99.     }
  100. }
  101.     
  102.  
  103.