home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / projdbobj.tcl < prev    next >
Text File  |  1997-10-17  |  4KB  |  169 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)projdbobj.tcl    /main/titanic/8
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)projdbobj.tcl    /main/titanic/8   17 Oct 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14. require "browsdbobj.tcl"
  15.  
  16. Class ProjDbObj : {BrowsDbObj Project} {
  17.     method destructor
  18.     constructor
  19.     method promoter
  20.     method activateObject
  21.     method addConfigVersion
  22.     method deactivateObject
  23.     method deselectVersion
  24.     method makeUpToDate
  25.     method newObjects
  26.     method removeObjects
  27.     method selectVersion
  28.     attribute roleSet
  29.     attribute controlledClassSet
  30. }
  31.  
  32. method ProjDbObj::destructor {this} {
  33.     # Start destructor user section
  34.     # End destructor user section
  35.     $this BrowsDbObj::destructor
  36. }
  37.  
  38. constructor ProjDbObj {class this name} {
  39.     set this [Project::constructor $class $this $name]
  40.     set this [BrowsDbObj::constructor $class $this $name]
  41.     return $this
  42. }
  43.  
  44. selfPromoter Project {this} {
  45.     ProjDbObj promote $this
  46. }
  47.  
  48. method ProjDbObj::promoter {this} {
  49.     $this BrowsDbObj::promoter
  50.  
  51.     set customFileVersionSet $this.${CustFVUiObj::uiClass}:0
  52.     if {! [isCommand $customFileVersionSet]} {
  53.     CustFVUiObj new $customFileVersionSet -parent $this
  54.     }
  55.     $this customFileVersionSet $customFileVersionSet
  56.  
  57.     module_promoter ProjDbObj $this
  58. }
  59.  
  60. method ProjDbObj::activateObject {this} {
  61.     set obj [lindex [$wmttoolObj selectedObjSet] 0]
  62.     set script "$obj activate"
  63.     $wmttoolObj startCommand tcl "$script" "" "" {1 0} 1
  64. }
  65.  
  66. method ProjDbObj::addConfigVersion {this} {
  67.     require "newobjentr.tcl"
  68.  
  69.     if {! [isCommand $wmttoolObj.newConfigV]} {
  70.     NewObjEntryDlg new $wmttoolObj.newConfigV \
  71.         -title "New Config Version" \
  72.         -message "Configuration Name:" \
  73.         -okPressed {
  74.         set confName [%this entry]
  75.         set script "[%this dbObj] createConfigVersion [list $confName]"
  76.         $wmttoolObj startCommand tcl \
  77.             "$script" "" \
  78.             "Creating configuration version '$confName'..." \
  79.             {1 0} 1
  80.         }
  81.     }
  82.     $wmttoolObj.newConfigV dbObj $this
  83.     $wmttoolObj.newConfigV popUp
  84. }
  85.  
  86. proc ProjDbObj::associations {} {
  87.     return {configVersions customFileVersionSet}
  88. }
  89.  
  90. proc ProjDbObj::childTypes {assoc} {
  91.     if {[lsearch -exact "[ProjDbObj::associations]" "$assoc"] == -1} {
  92.     return ""
  93.     }
  94.     return "[BrowserProcs::childTypes $assoc]"
  95. }
  96.  
  97. proc ProjDbObj::controlledLists {} {
  98.     return {
  99.     "[$this configList]"
  100.     "[$this customFileList]"
  101.     "[$this customFileVersionLinkList]"
  102.     "[$this phaseList]"
  103.     }
  104. }
  105.  
  106. method ProjDbObj::deactivateObject {this} {
  107.     set obj [lindex [$wmttoolObj selectedObjSet] 0]
  108.     set script "$obj deactivate"
  109.     $wmttoolObj startCommand tcl "$script" "" "" {1 0} 1
  110. }
  111.  
  112. method ProjDbObj::deselectVersion {this version} {
  113.     $this deselect $version
  114. }
  115.  
  116. proc ProjDbObj::infoProperties {} {
  117.     return [concat \
  118.     [BrowserProcs::infoProperties] \
  119.     {"Controlled Actions"} \
  120.     ]
  121. }
  122.  
  123. method ProjDbObj::makeUpToDate {this} {
  124.     # dummy call to server
  125.     $this repositoryDirectory
  126. }
  127.  
  128. method ProjDbObj::newObjects {this} {
  129.     set script ""
  130.     foreach obj [$wmttoolObj selectedObjSet] {
  131.     if {"$script" != ""} {
  132.         append script " ;"
  133.     }
  134.     append script " $obj derive -self"
  135.     }
  136.     $wmttoolObj startCommand tcl "$script" "" "" {1 0} 1
  137. }
  138.  
  139. method ProjDbObj::removeObjects {this} {
  140.     set box $wmttoolObj.removeWarning
  141.     ClassMaker::extend YesNoWarningDialog RemoveObjectsWarningDialog dbObj
  142.     RemoveObjectsWarningDialog new $box \
  143.     -title "Confirm Config Version Delete" \
  144.     -message [BrowserProcs::removeMessage] \
  145.     -dbObj $this \
  146.     -noPressed {%this delete} \
  147.     -yesPressed {
  148.         set dbObj [%this dbObj]
  149.         set script ""
  150.         foreach obj [$wmttoolObj selectedObjSet] {
  151.         if {"$script" != ""} {
  152.             append script " ;"
  153.         }
  154.         append script " $dbObj removeObject $obj"
  155.         }
  156.         $wmttoolObj startCommand tcl "$script" "" "" {1 0} 1
  157.         %this delete
  158.     }
  159.     $box delCancelButton
  160.     $box popUp
  161. }
  162.  
  163. method ProjDbObj::selectVersion {this version} {
  164.     $this select $version
  165. }
  166.  
  167. # Do not delete this line -- regeneration end marker
  168.  
  169.