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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)msumlgenel.tcl    /main/titanic/2
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)msumlgenel.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 "msumleleme.tcl"
  15.  
  16. Class MSUMLGenElement : {MSUMLElement} {
  17.     constructor
  18.     method destructor
  19.     method ms2ot
  20.     method promoter
  21.     method generalizationSet
  22.     method addGeneralization
  23.     method removeGeneralization
  24.     method specializationSet
  25.     method addSpecialization
  26.     method removeSpecialization
  27.     attribute _generalizationSet
  28.     attribute _specializationSet
  29. }
  30.  
  31. constructor MSUMLGenElement {class this typeName} {
  32.     set this [MSUMLElement::constructor $class $this $typeName]
  33.     $this _generalizationSet [List new]
  34.     $this _specializationSet [List new]
  35.     # Start constructor user section
  36.     # End constructor user section
  37.     return $this
  38. }
  39.  
  40. method MSUMLGenElement::destructor {this} {
  41.     foreach ref [[$this _generalizationSet] contents] {
  42.         $ref _subType ""
  43.     }
  44.     foreach ref [[$this _specializationSet] contents] {
  45.         $ref _superType ""
  46.     }
  47.     # Start destructor user section
  48.     # End destructor user section
  49.     $this MSUMLElement::destructor
  50. }
  51.  
  52. method MSUMLGenElement::ms2ot {this rtDiag} {
  53.     # !! Implement this function !!
  54. }
  55.  
  56. method MSUMLGenElement::promoter {this} {
  57.     $this MSUMLElement::promoter
  58.     $this _generalizationSet [List new]
  59.     $this _specializationSet [List new]
  60. }
  61.  
  62. # Do not delete this line -- regeneration end marker
  63.  
  64. method MSUMLGenElement::generalizationSet {this} {
  65.     return [$this _generalizationSet]
  66. }
  67.  
  68. method MSUMLGenElement::addGeneralization {this newGeneralization} {
  69.     [$this _generalizationSet] append $newGeneralization
  70.     $newGeneralization _subType $this
  71. }
  72.  
  73. method MSUMLGenElement::removeGeneralization {this oldGeneralization} {
  74.     $oldGeneralization _subType ""
  75.     [$this _generalizationSet] removeValue $oldGeneralization
  76. }
  77.  
  78. method MSUMLGenElement::specializationSet {this} {
  79.     return [$this _specializationSet]
  80. }
  81.  
  82. method MSUMLGenElement::addSpecialization {this newSpecialization} {
  83.     [$this _specializationSet] append $newSpecialization
  84.     $newSpecialization _superType $this
  85. }
  86.  
  87. method MSUMLGenElement::removeSpecialization {this oldSpecialization} {
  88.     $oldSpecialization _superType ""
  89.     [$this _specializationSet] removeValue $oldSpecialization
  90. }
  91.  
  92.