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

  1. #---------------------------------------------------------------------------
  2. #
  3. #    (c) Cadre Technologies Inc. 1995
  4. #
  5. #    File:        @(#)projects.tcl    /main/hindenburg/2
  6. #    Author:        Harm Leijendeckers
  7. #    Description:    Report on projects & configurations
  8. #    Usage in:    Wherever appropriate
  9. #
  10. #---------------------------------------------------------------------------
  11. # SccsId = @(#)projects.tcl    /main/hindenburg/2    20 Nov 1996    Copyright 1995 Cadre Technologies Inc.
  12.  
  13.  
  14. Class ReportProjects : {ReportBase} {
  15.     constructor
  16.     method setHeader
  17.     method corporateReport
  18.     method projectReport
  19.     method configReport
  20.     method phaseReport
  21.     method systemReport
  22.     method fileReport
  23. }
  24.  
  25.  
  26. constructor ReportProjects {class this} {
  27.     set this [ReportBase::constructor $class $this]
  28.     $this reportName "Projects & Configurations"
  29.     return $this
  30. }
  31.  
  32.  
  33. method ReportProjects::setHeader {this} {
  34.     [$this report] header {
  35.     set report [$this report]
  36.     $report print - 131 fill line
  37.     $report print [$this logo1] 13 center break
  38.     $report print "|" line
  39.     $report print [$this logo2] 13 center break
  40.     $report print "|" line
  41.     $report print [$this logo3] 13 center break
  42.     $report print "|  "
  43.     $report space 10
  44.     $report print "Report: [$this reportName]" 50
  45.     $report print "Date: [$report date]" line
  46.     $report print [$this logo4] 13 center break
  47.     $report print "|" line
  48.     $report print - 131 fill line
  49.     $report line
  50.     $report print Project line
  51.     $report print "     -Configuration" 31
  52.     $report print Version 15
  53.     $report print Status 12
  54.     $report print Creator line
  55.     $report print - [$report linelen] fill line
  56.     $report line
  57.     }
  58. }
  59.  
  60.  
  61. method ReportProjects::corporateReport {this} {
  62.     set report [$this report]
  63.     foreach project [osort name [[$this corporate] projects]] {
  64.     # print empty line between projects
  65.     if [[$executeMe report] lineno] {
  66.         $report line
  67.     }
  68.     $report print [$project name] line
  69.     foreach cv [osort config.name versionNumber -versnum \
  70.                         [$project configVersions]] {
  71.         $report space 5
  72.         $report print -[[$cv config] name] 25
  73.         $report space
  74.         $report print [$cv versionNumber] 14
  75.         $report space
  76.         $report print [$cv status] 11 break
  77.         $report space
  78.         $report print [[$cv creator] name] line
  79.     }
  80.     }
  81.  
  82.     $report page
  83.  
  84.     return 0
  85. }
  86.  
  87.  
  88. # overload all others so this report can be executed on all levels
  89. #
  90. method ReportProjects::projectReport {this} {
  91.     return [$this corporateReport]
  92. }
  93.  
  94. method ReportProjects::configReport {this} {
  95.     return [$this corporateReport]
  96. }
  97.  
  98. method ReportProjects::phaseReport {this} {
  99.     return [$this corporateReport]
  100. }
  101.  
  102. method ReportProjects::systemReport {this} {
  103.     return [$this corporateReport]
  104. }
  105.  
  106. method ReportProjects::fileReport {this} {
  107.     return [$this corporateReport]
  108. }
  109.  
  110.  
  111. # ----------------------------------------------------------------------
  112. #
  113. set executeMe [ReportProjects new]
  114.