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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cadre Technologies Inc.    1996
  4. #
  5. #      File:           @(#)propcontif.tcl    /main/titanic/1
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)propcontif.tcl    /main/titanic/1   30 Jul 1997 Copyright 1996 Cadre Technologies Inc.
  10.  
  11. # Start user added include file section
  12.  
  13. require propifpage.tcl
  14. require propif2col.tcl
  15. require ripolatass.tcl
  16. require propifcomb.tcl
  17. require rwaccessro.tcl
  18. require stextitrpr.tcl
  19. require propifclas.tcl
  20.  
  21. # End user added include file section
  22.  
  23.  
  24. Class PropContIf : {NoteBook} {
  25.     method destructor
  26.     constructor
  27.     method getProperties
  28.     method setProperties
  29.     method addPage
  30.     method removePage
  31.     attribute index
  32.     attribute pageSet
  33. }
  34.  
  35. global PropContIf::interfaces
  36. set PropContIf::interfaces [Dictionary new]
  37.  
  38. global PropContIf::count
  39. set PropContIf::count 0
  40.  
  41.  
  42. method PropContIf::destructor {this} {
  43.     # Start destructor user section
  44.     # End destructor user section
  45. }
  46.  
  47. proc PropContIf::createInterface {guiParent cnt} {
  48.     global PropContIf::interfaces
  49.     set cntKey [$cnt propertyKey]
  50.     set if [${PropContIf::interfaces} set $cntKey]
  51.     if {$if == ""} {
  52.         set if [PropContIf new $guiParent $cnt]
  53.         ${PropContIf::interfaces} set $cntKey $if
  54.     }
  55.     $cnt propInterface $if
  56.     return $if
  57. }
  58.  
  59. constructor PropContIf {class this guiParent cnt} {
  60.     global PropContIf::count
  61.     incr PropContIf::count
  62.     set this [NoteBook::constructor $class $this \
  63.                 $guiParent.PropContIf:${PropContIf::count}]
  64.     $this config -pageSet [List new] -index ${PropContIf::count}
  65.  
  66.     set miscList ""
  67.     set pageList ""
  68.     [$cnt propDefinitionSet] foreach propDef {
  69.         set class [$propDef ifClass]
  70.         case $class in {
  71.             {PropIfPage RIPolAtAss PropIfClassLib} {
  72.                 lappend pageList $propDef
  73.             }
  74.             {default} {
  75.                 lappend miscList $propDef
  76.             }
  77.         }
  78.     }
  79.     if {$miscList != ""} {
  80.         set propDef [PropDefinition new -name misc -longName Misc \
  81.                         -ifClass PropIfPage \
  82.                         -memberSet $miscList]
  83.         $this addPage [PropIfPage new $this $propDef]
  84.     }
  85.     foreach page $pageList {
  86.         $this addPage [[$page ifClass] new $this $page]
  87.     }
  88.     return $this
  89. }
  90.  
  91. method PropContIf::getProperties {this cnt} {
  92.     [$this pageSet] foreach page {
  93.         $page getProperties $cnt
  94.     }
  95. }
  96.  
  97. method PropContIf::setProperties {this cnt} {
  98.     [$this pageSet] foreach page {
  99.         $page setProperties $cnt
  100.     }
  101. }
  102.  
  103. proc PropContIf::clearInterfaces {} {
  104.     global PropContIf::interfaces
  105.     set PropContIf::interfaces [Dictionary new]
  106.     global PropContIf::count
  107.     set PropContIf::count 0
  108. }
  109.  
  110. # Do not delete this line -- regeneration end marker
  111.  
  112. method PropContIf::addPage {this newPage} {
  113.     [$this pageSet] append $newPage
  114.  
  115. }
  116.  
  117. method PropContIf::removePage {this oldPage} {
  118.     [$this pageSet] removeValue $oldPage
  119. }
  120.  
  121.