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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)reparchcor.tcl    /main/titanic/5
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)reparchcor.tcl    /main/titanic/5   28 Nov 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14. require "reparchdia.tcl"
  15.  
  16. Class RepArchCorporateDialog : {RepArchDialog} {
  17.     constructor
  18.     method destructor
  19.     method objType
  20.     method objDescription
  21.     method popUp
  22.     method archive
  23.     method archiveFinished
  24. }
  25.  
  26. constructor RepArchCorporateDialog {class this name view} {
  27.     set this [RepArchDialog::constructor $class $this $name $view]
  28.     # Start constructor user section
  29.  
  30.         $this config \
  31.             -title "Archive Entire Corporate" \
  32.             -helpPressed "$view helpOnName archiveCorporate"
  33.  
  34.         [$this dirLabel] text "Corporate Directory"
  35.  
  36.     # End constructor user section
  37.     return $this
  38. }
  39.  
  40. method RepArchCorporateDialog::destructor {this} {
  41.     # Start destructor user section
  42.     # End destructor user section
  43.     $this RepArchDialog::destructor
  44. }
  45.  
  46. method RepArchCorporateDialog::objType {this} {
  47.     return "Corporate"
  48. }
  49.  
  50. method RepArchCorporateDialog::objDescription {this} {
  51.     set corp [[[$this view] rep] checkCorporate]
  52.     return "repository '[$corp name]'"
  53. }
  54.  
  55. method RepArchCorporateDialog::popUp {this} {
  56.     $this RepArchDialog::popUp
  57. }
  58.  
  59. method RepArchCorporateDialog::archive {this} {
  60.     set rep [[$this view] rep]
  61.     set dstFile [[$this dstField] text]
  62.     set repName [$this currentRepositoryName]
  63.     set repDir [$this currentRepositoryDir]
  64.  
  65.     return [$rep archiveRepositoryDirectory "$this archiveFinished" \
  66.             $dstFile $repName $repDir]
  67. }
  68.  
  69. method RepArchCorporateDialog::archiveFinished {this exitCode} {
  70.     if {$exitCode == 0} {
  71.         if [catch {
  72.             set view [$this view]
  73.         set rep [$view rep]
  74.         set corp [$rep checkCorporate]
  75.             if [$view projectsEnabled] {
  76.                 foreach proj [$corp projects] {
  77.                     $proj online
  78.                 }
  79.             }
  80.             if [$view modelsEnabled] {
  81.                 foreach model [$corp models] {
  82.                     if ![$model reserved] {
  83.                         continue
  84.                     }
  85.             set comment [$model reserveComment]
  86.             if {$comment == "Reserved for backup."} {
  87.             $model unreserve
  88.                     }
  89.                 }
  90.             }
  91.         } error] {
  92.         $this RepArchDialog::archiveFinished 1
  93.             error $error
  94.             return
  95.         }
  96.     }
  97.     $this RepArchDialog::archiveFinished $exitCode
  98. }
  99.  
  100. # Do not delete this line -- regeneration end marker
  101.  
  102.