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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Westmount Technology    1994
  4. #
  5. #      File:           @(#)cbsubclass.tcl    1.4
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)cbsubclass.tcl    1.4   19 Oct 1995 Copyright 1994 Westmount Technology
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14. require "cbclassinf.tcl"
  15.  
  16. Class CBSubClassTextList : {CBClassInfoTextList} {
  17.     constructor
  18.     method destructor
  19.     method updateView
  20.     method collectSubClasses
  21.     method browser
  22.     attribute _browser
  23. }
  24.  
  25. constructor CBSubClassTextList {class this name} {
  26.     set this [CBClassInfoTextList::constructor $class $this $name]
  27.     # Start constructor user section
  28.     # End constructor user section
  29.     return $this
  30. }
  31.  
  32. method CBSubClassTextList::destructor {this} {
  33.     set ref [$this _browser]
  34.     if {$ref != ""} {
  35.         $ref _subClassTL ""
  36.     }
  37.     # Start destructor user section
  38.     # End destructor user section
  39.     $this CBClassInfoTextList::destructor
  40. }
  41.  
  42. method CBSubClassTextList::updateView {this currentClass} {
  43.     $this removeTextListEntries
  44.     $this removeEntries
  45.  
  46.     set inViewList [List new]
  47.     $this collectSubClasses $currentClass $inViewList
  48.  
  49.     $this sortTextListEntries
  50.     $this fillEntries
  51.     $this deselectEntries
  52. }
  53.  
  54. method CBSubClassTextList::collectSubClasses {this aClass inViewList} {
  55.     foreach subClass [$aClass getSubClasses] {
  56.         if {[$subClass name] == ""} {
  57.             continue
  58.         }
  59.         if {[lsearch [$inViewList contents] $subClass] != -1} {
  60.             continue
  61.         }
  62.         $this addTextListEntry $subClass
  63.         $inViewList insert $subClass
  64.     }
  65. }
  66.  
  67. # Do not delete this line -- regeneration end marker
  68.  
  69. method CBSubClassTextList::browser {this args} {
  70.     if {$args == ""} {
  71.         return [$this _browser]
  72.     }
  73.     set ref [$this _browser]
  74.     if {$ref != ""} {
  75.         $ref _subClassTL ""
  76.     }
  77.     set obj [lindex $args 0]
  78.     if {$obj != ""} {
  79.         $obj _subClassTL $this
  80.     }
  81.     $this _browser $obj
  82. }
  83.  
  84.