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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Westmount Technology    1994
  4. #
  5. #      File:           @(#)genlink.tcl    1.4
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)genlink.tcl    1.4   05 Apr 1996 Copyright 1994 Westmount Technology
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14.  
  15. Class GenLink : {Object} {
  16.     method destructor
  17.     constructor
  18.     method getDocStructure
  19.     method match
  20.     method getStructureLine
  21.     attribute document
  22. }
  23.  
  24. method GenLink::destructor {this} {
  25.     # Start destructor user section
  26.     # End destructor user section
  27. }
  28.  
  29. constructor GenLink {class this name document} {
  30.     set this [Object::constructor $class $this $name]
  31.     $this document $document
  32.     # Start constructor user section
  33.     # End constructor user section
  34.     return $this
  35. }
  36.  
  37. method GenLink::getDocStructure {this fileTypes} {
  38.  
  39.     set structure ""
  40.     set first 1
  41.  
  42.         set sv [[$this document] documentedSystem]
  43.  
  44.     if [$sv isNil] {
  45.         wmtkerror "Invalid documented system"
  46.         return $structure
  47.     }
  48.  
  49.     foreach fv [$sv localFileVersions] {
  50.         if [$this match $fileTypes $fv] {
  51.             set structureLine [$this getStructureLine $fv $first]
  52.             if {$first == "1"} {
  53.                 set structure $structureLine
  54.             } else {
  55.                 set structure "$structure\n$structureLine"
  56.             }
  57.             set first 0
  58.         }
  59.     }
  60.  
  61.     return $structure
  62. }
  63.  
  64. method GenLink::match {this fileTypes fileVersion} {
  65.  
  66.     if {[lsearch $fileTypes [[$fileVersion file] type]] == -1} {
  67.         return 0
  68.     }
  69.     return 1
  70. }
  71.  
  72. method GenLink::getStructureLine {this fileVersion first} {
  73.  
  74.     set indent "="
  75.     if {$first == "1"} {
  76.         set indent "+"
  77.     }
  78.  
  79.     set name [[$fileVersion file] qualifiedName :]
  80.     set type [[$fileVersion file] type]
  81.     set line "${name}_$type | $indent | | $type | | | $fileVersion"
  82.  
  83.     return $line
  84. }
  85.  
  86. # Do not delete this line -- regeneration end marker
  87.  
  88.