home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / cachedrowc.tcl < prev    next >
Text File  |  1996-05-29  |  2KB  |  93 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cadre Technologies Inc.    1996
  4. #
  5. #      File:           @(#)cachedrowc.tcl    1.3
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)cachedrowc.tcl    1.3   12 Mar 1996 Copyright 1996 Cadre Technologies Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14.  
  15. Class CachedRowCell : {Object} {
  16.     constructor
  17.     method destructor
  18.     method promoter
  19.     method getPropertyValue
  20.     method getItem
  21.     method addItem
  22.     method removeItem
  23.     method getPropValue
  24.     method setPropValue
  25.     method removePropValue
  26.     attribute itemSet
  27.     attribute propValue
  28. }
  29.  
  30. constructor CachedRowCell {class this name} {
  31.     set this [Object::constructor $class $this $name]
  32.     $this itemSet [List new]
  33.     $this propValue [Dictionary new]
  34.     # Start constructor user section
  35.     # End constructor user section
  36.     return $this
  37. }
  38.  
  39. method CachedRowCell::destructor {this} {
  40.     # Start destructor user section
  41.     # End destructor user section
  42. }
  43.  
  44. method CachedRowCell::promoter {this items props} {
  45.     $this propValue [Dictionary new]
  46.     $this itemSet [List new]
  47.  
  48.     set nmValList ""
  49.     foreach prop $props {
  50.         lappend nmValList [$prop name]
  51.         lappend nmValList [$prop value]
  52.     }
  53.     [$this propValue] contents $nmValList
  54.     [$this itemSet] contents $items
  55. }
  56.  
  57. method CachedRowCell::getPropertyValue {this name} {
  58.     return [$this getPropValue $name]
  59. }
  60.  
  61. method CachedRowCell::getItem {this itemType} {
  62.     [$this itemSet] foreach item {
  63.         if {[$item type] == $itemType} {
  64.             return $item
  65.         }
  66.     }
  67.     return [ORB::nil]
  68. }
  69.  
  70. # Do not delete this line -- regeneration end marker
  71.  
  72. method CachedRowCell::addItem {this newItem} {
  73.     [$this itemSet] append $newItem
  74.  
  75. }
  76.  
  77. method CachedRowCell::removeItem {this oldItem} {
  78.     [$this itemSet] removeValue $oldItem
  79. }
  80.  
  81. method CachedRowCell::getPropValue {this propName} {
  82.     return [[$this propValue] set $propName]
  83. }
  84.  
  85. method CachedRowCell::setPropValue {this propName newPropValue} {
  86.     [$this propValue] set $propName $newPropValue
  87. }
  88.  
  89. method CachedRowCell::removePropValue {this propName} {
  90.     [$this propValue] unset $propName
  91. }
  92.  
  93.