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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)represtmod.tcl    /main/titanic/10
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)represtmod.tcl    /main/titanic/10   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 RepRestModelDialog : {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 RepRestModelDialog {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 Model" \
  34.             -helpPressed "$view helpOnName restoreModel"
  35.  
  36.         [$this dirLabel] text "From Model Directory\
  37.                                (created by unarchive command)"
  38.         [$this nameLabel] text "New Model Name\
  39.                                 (taken from dump if not specified)"
  40.         [$this overwriteLabel] text "Overwrite Model\
  41.                                 (not overwritten if not specified)"
  42.  
  43.     # End constructor user section
  44.     return $this
  45. }
  46.  
  47. method RepRestModelDialog::destructor {this} {
  48.     # Start destructor user section
  49.     # End destructor user section
  50.     $this RepRestObjDialog::destructor
  51. }
  52.  
  53. method RepRestModelDialog::browseObjects {this} {
  54.     set dlg [$this view].selectrestmodelbrowser
  55.     if ![isCommand $dlg] {
  56.         RepModelBrowser new $dlg [$this view] \
  57.             -okPressed "$this setOverwrite \[%this selectedObject]"
  58.     }
  59.     $dlg popUp
  60. }
  61.  
  62. method RepRestModelDialog::setOverwrite {this model} {
  63.     [$this overwriteField] text "[$model name].[$model type]"
  64.     $this checkOverwrite old
  65.     $this checkOk
  66. }
  67.  
  68. method RepRestModelDialog::objType {this} {
  69.     return "Model"
  70. }
  71.  
  72. method RepRestModelDialog::objDescription {this} {
  73.     return "model '[[$this nameField] text]'"
  74. }
  75.  
  76. method RepRestModelDialog::pressedOk {this} {
  77.     $this RepRestObjDialog::pressedOk
  78. }
  79.  
  80. method RepRestModelDialog::restore {this dbInfo} {
  81.     upvar $dbInfo info
  82.     set rep [[$this view] rep]
  83.     set opts {}
  84.  
  85.     set modelDir [[$this dirField] text]
  86.  
  87.     # Only one of newName and overwriteName can ever be specified.
  88.     #
  89.     set nt [splitFileName [[$this nameField] text]]
  90.     set newName [lindex $nt 0]
  91.  
  92.     set overwriteName [[$this overwriteField] text]
  93.     if [string length $overwriteName] {
  94.     set nt [splitFileName $overwriteName]
  95.         set newName [lindex $nt 0]
  96.         append opts " -o"
  97.     }
  98.  
  99.     return [$rep restoreObject "$this restoreFinished" info $opts \
  100.         "model" $modelDir $newName]
  101. }
  102.  
  103. method RepRestModelDialog::restoreFinished {this exitCode} {
  104.     $this RepRestObjDialog::restoreFinished $exitCode
  105. }
  106.  
  107. # Do not delete this line -- regeneration end marker
  108.  
  109.