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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)cbattribut.tcl    /main/titanic/1
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)cbattribut.tcl    /main/titanic/1   29 Aug 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. require "cbpropname.tcl"
  13.  
  14. require "cbpropcomp.tcl"
  15. require "cbproplabe.tcl"
  16. require "cbpropitem.tcl"
  17. # End user added include file section
  18.  
  19. require "cadfeature.tcl"
  20. require "cbcdmcomp.tcl"
  21. require "cbtlentry.tcl"
  22.  
  23. Class CBAttribute : {CBCDMComp CADFeature CBTLEntry} {
  24.     method destructor
  25.     constructor
  26.     method getCBClass
  27.     method collectClasses
  28.     method collectWorkItems
  29.     method collectPropComps
  30.     method format
  31.     method getFilter
  32. }
  33.  
  34. method CBAttribute::destructor {this} {
  35.     # Start destructor user section
  36.     # End destructor user section
  37.     $this CBCDMComp::destructor
  38.     $this CADFeature::destructor
  39.     $this CBTLEntry::destructor
  40. }
  41.  
  42. constructor CBAttribute {class this theClass row} {
  43.     set this [CADFeature::constructor $class $this $theClass $row]
  44.     set this [CBTLEntry::constructor $class $this $this]
  45.     set this [CBCDMComp::constructor $class $this $this]
  46.     return $this
  47. }
  48.  
  49. method CBAttribute::getCBClass {this} {
  50.     return [$this theClass]
  51. }
  52.  
  53. method CBAttribute::collectClasses {this classList} {
  54.     if {[[$this getClassBrowser] isInFlatViewMode]} {
  55.         $classList append [$this theClass]
  56.     }
  57.     $this CBCDMComp::collectClasses $classList
  58. }
  59.  
  60. method CBAttribute::collectWorkItems {this workItemList} {
  61.     if {[[$this getClassBrowser] isInFlatViewMode]} {
  62.         [$this theClass] collectWorkItems $workItemList
  63.     }
  64.     $this CBCDMComp::collectWorkItems $workItemList
  65. }
  66.  
  67. method CBAttribute::collectPropComps {this propCompList} {
  68.     if {[[$this getClassBrowser] isInFlatViewMode]} {
  69.         [$this theClass] collectPropComps $propCompList
  70.     }
  71.     $this CBCDMComp::collectPropComps $propCompList
  72. }
  73.  
  74. method CBAttribute::format {this} {
  75.     set prefix ""
  76.     if {[[$this getClassBrowser] isInFlatViewMode]} {
  77.         set prefix "[[$this theClass] name]: "
  78.     }
  79.     if {[$this formattedText] != ""} {
  80.         return $prefix[$this formattedText]
  81.     }
  82.  
  83.     set result ""
  84.  
  85.     set isClassFeature [[$this row] getPropertyValue $COMP_CLASS_ATTR]
  86.     if {$isClassFeature == "1"} {
  87.         set result "${result}\$"
  88.     }
  89.  
  90.     set isDerived [[$this row] getPropertyValue $COMP_DERIVED_ATTR]
  91.     if {$isDerived == "1"} {
  92.         set result "${result}/"
  93.     }
  94.  
  95.     set isKey [[$this row] getPropertyValue $COMP_KEY]
  96.     if {$isKey == "1"} {
  97.         set result "${result}*"
  98.     }
  99.  
  100.     set result "${result}[$this name]"
  101.     if {[$this type] != ""} {
  102.         set result "${result}: [$this type]"
  103.     }
  104.  
  105.     set initialValue [[$this row] getPropertyValue $COMP_INITIAL_VALUE]
  106.     if {$initialValue != ""} {
  107.         set result "${result} = $initialValue"
  108.     }
  109.  
  110.     $this formattedText $result
  111.     return $prefix$result
  112. }
  113.  
  114. method CBAttribute::getFilter {this} {
  115.     return ${ClassBrowser::attrFilter}
  116. }
  117.  
  118. # Do not delete this line -- regeneration end marker
  119.  
  120.