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

  1. #---------------------------------------------------------------------------
  2. #
  3. #    (c) Cadre Technologies Inc. 1995
  4. #
  5. #    File:        @(#)files.tcl    /main/titanic/2
  6. #    Author:        Harm Leijendeckers
  7. #    Description:    Report on file versions
  8. #    Usage in:    SystemVersion and higher
  9. #
  10. #---------------------------------------------------------------------------
  11. # SccsId = @(#)files.tcl    /main/titanic/2    26 Aug 1997    Copyright 1995 Cadre Technologies Inc.
  12.  
  13.  
  14. Class ReportFiles : {ReportBase} {
  15.     constructor
  16.  
  17.     attribute printProps
  18.  
  19.     method systemReport
  20.     method doNameAndType
  21. }
  22.  
  23.  
  24. constructor ReportFiles {class this} {
  25.     set this [ReportBase::constructor $class $this]
  26.     if { [lsearch $Options "properties"] != -1 } {
  27.     $this printProps 1
  28.     } else {
  29.     $this printProps 0
  30.     } 
  31.     $this reportName Files
  32.     return $this
  33. }
  34.  
  35.  
  36. method ReportFiles::systemReport {this} {
  37.     set allFileVersions  [query "file.type != cdm" \
  38.                 [[$this systemV] localFileVersions]]
  39.     set allExternalLinks [[$this systemV] externalLinks]
  40.     if { ![llength $allFileVersions] && ![llength $allExternalLinks] } {
  41.     return 0
  42.     }
  43.  
  44.     set report [$this report]
  45.  
  46.     $report header {
  47.     [$this report] print File 31
  48.     [$this report] print Type 11
  49.     [$this report] print Version 26
  50.     [$this report] print Status 11
  51.     [$this report] print Corporate 10
  52.     [$this report] print Link line
  53.     [$this report] line
  54.     }
  55.  
  56.     foreach fileV [osort file.name file.type $allFileVersions] {
  57.     $this doNameAndType [[$fileV file] name] [[$fileV file] type]
  58.     $report print [$fileV versionName] 25
  59.     $report space
  60.     $report print [$fileV status] 10
  61.     $report space
  62.     $report print \
  63.         [expr { [$fileV inCorporate] ? "yes" : "no" } ] 10 center
  64.     set link [[$this systemV] findFileVersionLink -byFileVersion $fileV]
  65.     if ![$link isNil] {
  66.         $report print [$link status] 30
  67.     }
  68.     $report line
  69.         if [$this printProps] {
  70.             $this showProperties $fileV
  71.         }
  72.     }
  73.  
  74.     if [llength $allExternalLinks] {
  75.     if [llength $allFileVersions] { $report line }
  76.  
  77.     foreach externalLink [osort type name $allExternalLinks] {
  78.         $this doNameAndType [$externalLink name] [$externalLink type]
  79.         $report print [$externalLink path] line
  80.         if [$this printProps] {
  81.         $this showProperties $externalLink
  82.         }
  83.     }
  84.     }
  85.  
  86.     $report page
  87.     $report remove header
  88.  
  89.     return 0
  90. }
  91.  
  92.  
  93. method ReportFiles::doNameAndType {this name type} {
  94.     set report [$this report]
  95.     $report print $name 30
  96.     $report space
  97.     $report print $type 10
  98.     $report space
  99. }
  100.  
  101.  
  102. set executeMe [ReportFiles new]
  103.