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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)represtpro.tcl    /main/titanic/11
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)represtpro.tcl    /main/titanic/11   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 "represtobj.tcl"
  15.  
  16. Class RepRestProjectDialog : {RepRestObjDialog} {
  17.     constructor
  18.     method destructor
  19.         method browseObjects
  20.         method setOverwrite
  21.     method objType
  22.     method objDescription
  23.     method pressedOk
  24.     method restore
  25.     method restoreFinished
  26. }
  27.  
  28. constructor RepRestProjectDialog {class this name view} {
  29.     set this [RepRestObjDialog::constructor $class $this $name $view]
  30.     # Start constructor user section
  31.  
  32.     $this config \
  33.             -title "Restore Single Project" \
  34.             -helpPressed "$view helpOnName restoreProject"
  35.  
  36.         [$this dirLabel] text "From Project Directory\
  37.                                (created by unarchive command)"
  38.         [$this nameLabel] text "New Project Name\
  39.                                 (taken from dump if not specified)"
  40.         [$this overwriteLabel] text "Overwrite Project\
  41.                                 (not overwritten if not specified)"
  42.  
  43.     # End constructor user section
  44.     return $this
  45. }
  46.  
  47. method RepRestProjectDialog::destructor {this} {
  48.     # Start destructor user section
  49.     # End destructor user section
  50.     $this RepRestObjDialog::destructor
  51. }
  52.  
  53. method RepRestProjectDialog::browseObjects {this} {
  54.     set dlg [$this view].selectrestprojectbrowser
  55.     if ![isCommand $dlg] {
  56.         RepProjBrowser new $dlg [$this view] \
  57.             -okPressed "$this setOverwrite \[\[%this selected] label]"
  58.     }
  59.     $dlg popUp
  60. }
  61.  
  62. method RepRestProjectDialog::setOverwrite {this name} {
  63.     [$this overwriteField] text $name
  64.     $this checkOverwrite old
  65.     $this checkOk
  66. }
  67.  
  68. method RepRestProjectDialog::objType {this} {
  69.     return "Project"
  70. }
  71.  
  72. method RepRestProjectDialog::objDescription {this} {
  73.     return "project '[[$this nameField] text]'"
  74. }
  75.  
  76. method RepRestProjectDialog::pressedOk {this} {
  77.     $this RepRestObjDialog::pressedOk
  78. }
  79.  
  80. method RepRestProjectDialog::restore {this dbInfo} {
  81.     upvar $dbInfo info
  82.     set rep [[$this view] rep]
  83.     set opts {}
  84.  
  85.     set projDir [[$this dirField] text]
  86.  
  87.     # Only one of newName and overwriteName can ever be specified.
  88.     #
  89.     set newName [[$this nameField] text]
  90.     set overwriteName [[$this overwriteField] text]
  91.     if [string length $overwriteName] {
  92.         set newName $overwriteName
  93.         append opts " -o"
  94.     }
  95.  
  96.     return [$rep restoreObject "$this restoreFinished" info $opts \
  97.         "project" $projDir $newName]
  98. }
  99.  
  100. method RepRestProjectDialog::restoreFinished {this exitCode} {
  101.     $this RepRestObjDialog::restoreFinished $exitCode
  102. }
  103.  
  104. # Do not delete this line -- regeneration end marker
  105.  
  106.