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

  1. #---------------------------------------------------------------------------
  2. #
  3. #    (c) Cayenne Software Inc. 1997
  4. #
  5. #    File:        @(#)projects.tcl    /main/titanic/4
  6. #    Author:        M. van Leeuwen
  7. #    Description:    Report on projects & configurations with properties
  8. #    Usage in:    Wherever appropriate
  9. #       History:        Derived from projects.tcl
  10. #
  11. #---------------------------------------------------------------------------
  12. # SccsId = @(#)projects.tcl    /main/titanic/4    26 Aug 1997    Copyright 1997 Cayenne Software Inc.
  13.  
  14.  
  15. Class ReportProjects : {ReportBase} {
  16.     constructor
  17.  
  18.     attribute printProps
  19.  
  20.     method corporateReport
  21.     method projectReport
  22.     method configReport
  23.     method phaseReport
  24.     method systemReport
  25.     method fileReport
  26. }
  27.  
  28.  
  29. constructor ReportProjects {class this} {
  30.     set this [ReportBase::constructor $class $this]
  31.     if { [lsearch $Options "properties"] != -1 } {
  32.     $this printProps 1
  33.     } else {
  34.     $this printProps 0
  35.     } 
  36.     $this reportName "Projects and Configurations"
  37.     return $this
  38. }
  39.  
  40.  
  41. method ReportProjects::corporateReport {this} {
  42.     set report [$this report]
  43.     set corp   [$this corporate]
  44.  
  45.     $report header {
  46.     $report print Object  25
  47.     $report print Type    25
  48.     $report print Owner   20
  49.     $report print Version 16
  50.     $report print Status  12
  51.     $report print Creator line
  52.     $report line
  53.     }
  54.  
  55.     $report print [$corp name] 24
  56.     $report space
  57.     $report print [$corp ORB_class] line
  58.     if [$this printProps] { 
  59.     $this showProperties $corp
  60.     }
  61.  
  62.     foreach project [osort name [$corp projects]] {
  63.     $report print [$project name] 24
  64.         $report space
  65.     $report print [$project ORB_class] line
  66.     if [$this printProps] { 
  67.         $this showProperties $project
  68.     }
  69.  
  70.     foreach cv [osort config.name versionNumber -versnum \
  71.                         [$project configVersions]] {
  72.         $report print [[$cv config] name] 24
  73.         $report space
  74.         $report print [$cv ORB_class] 24
  75.         $report space
  76.         $report print [$project name] 19
  77.         $report space
  78.         $report print [$cv versionNumber] 15
  79.         $report space
  80.         $report print [$cv status] 11 break
  81.         $report space
  82.         $report print [$cv creator] line
  83.         if [$this printProps] { 
  84.         $this showProperties $cv
  85.         }
  86.     }
  87.     }
  88.  
  89.     $report page
  90.  
  91.     return 0
  92. }
  93.  
  94.  
  95. # overload all others so this report can be executed on all levels
  96. #
  97. method ReportProjects::projectReport {this} {
  98.     return [$this corporateReport]
  99. }
  100.  
  101. method ReportProjects::configReport {this} {
  102.     return [$this corporateReport]
  103. }
  104.  
  105. method ReportProjects::phaseReport {this} {
  106.     return [$this corporateReport]
  107. }
  108.  
  109. method ReportProjects::systemReport {this} {
  110.     return [$this corporateReport]
  111. }
  112.  
  113. method ReportProjects::fileReport {this} {
  114.     return [$this corporateReport]
  115. }
  116.  
  117.  
  118. # ----------------------------------------------------------------------
  119. #
  120. set executeMe [ReportProjects new]
  121.