home *** CD-ROM | disk | FTP | other *** search
/ PC World 1997 November / PCWorld_1997-11_cd.bin / software / programy / komix / DATA.Z / itempropin.tcl < prev    next >
Text File  |  1996-05-29  |  2KB  |  105 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Westmount Technology    1994
  4. #
  5. #      File:           @(#)itempropin.tcl    1.2
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)itempropin.tcl    1.2   13 Nov 1995 Copyright 1994 Westmount Technology
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14.  
  15. Class ItemPropInfo : {PIPropInfo} {
  16.     constructor
  17.     method destructor
  18.     method load
  19.     method edit
  20.     method save
  21.     method quit
  22.     attribute loaded
  23.     attribute saved
  24.     attribute contents
  25.     attribute propObj
  26. }
  27.  
  28. global ItemPropInfo::allPropInfos
  29. set ItemPropInfo::allPropInfos [Dictionary new]
  30.  
  31.  
  32. constructor ItemPropInfo {class this propObj} {
  33.     set this [PIPropInfo::constructor $class $this]
  34.     $this loaded 0
  35.     $this saved 1
  36.     $this contents 0
  37.     $this propObj $propObj
  38.     # Start constructor user section
  39.  
  40.     global ${ItemPropInfo::allPropInfos}
  41.     ${ItemPropInfo::allPropInfos} set $propObj $this
  42.  
  43.     # End constructor user section
  44.     return $this
  45. }
  46.  
  47. method ItemPropInfo::destructor {this} {
  48.     # Start destructor user section
  49.  
  50.     global ${ItemPropInfo::allPropInfos}
  51.     ${ItemPropInfo::allPropInfos} unset [$this propObj]
  52.  
  53.     # End destructor user section
  54. }
  55.  
  56. proc ItemPropInfo::getPropInfo {propObj} {
  57.     global ${ItemPropInfo::allPropInfos}
  58.     set info [${ItemPropInfo::allPropInfos} set $propObj]
  59.     if {$info == ""} {
  60.         set info [ItemPropInfo new $propObj]
  61.     }
  62.     return $info
  63. }
  64.  
  65. method ItemPropInfo::load {this} {
  66.     if [$this loaded] {
  67.         return
  68.     }
  69.     $this PIPropInfo::load [$this propObj]
  70.     $this loaded 1
  71.     $this saved 0
  72.     $this contents 1
  73. }
  74.  
  75. method ItemPropInfo::edit {this} {
  76.     if [$this loaded] {
  77.         return
  78.     }
  79.     $this PIPropInfo::edit [$this propObj]
  80.     $this loaded 1
  81.     $this saved 0
  82.     $this contents 1
  83. }
  84.  
  85. method ItemPropInfo::save {this} {
  86.     if [$this saved] {
  87.         return
  88.     }
  89.     $this PIPropInfo::save
  90.     $this saved 1
  91. }
  92.  
  93. method ItemPropInfo::quit {this} {
  94.     if {![$this contents]} {
  95.         return
  96.     }
  97.     $this PIPropInfo::quit
  98.     $this contents 0
  99.     $this loaded 0
  100.     $this saved 1
  101. }
  102.  
  103. # Do not delete this line -- regeneration end marker
  104.  
  105.