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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)browsdbobj.tcl    /main/titanic/15
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)browsdbobj.tcl    /main/titanic/15   28 Nov 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. require "classmaker.tcl"
  13. # End user added include file section
  14.  
  15. require "browsuiobj.tcl"
  16.  
  17. Class BrowsDbObj : {BrowsUiObj} {
  18.     method destructor
  19.     constructor
  20.     method promoter
  21.     method controlledActions2String
  22.     method customLevelVersion
  23.     method displayName
  24.     method getInfo
  25.     method initializeInfo
  26.     method removeObject
  27.     method uiClass
  28.     method uiIdentity
  29.     method removeSpecials
  30.     attribute controlledListSet
  31.     attribute customFileVersionSet
  32.     attribute accessRuleSet
  33. }
  34.  
  35. method BrowsDbObj::destructor {this} {
  36.     # Start destructor user section
  37.     # End destructor user section
  38.     $this BrowsUiObj::destructor
  39. }
  40.  
  41. constructor BrowsDbObj {class this name} {
  42.     set this [BrowsUiObj::constructor $class $this $name]
  43.     return $this
  44. }
  45.  
  46. method BrowsDbObj::promoter {this} {
  47.     $this BrowsUiObj::promoter
  48.     module_promoter BrowsDbObj $this
  49. }
  50.  
  51. method BrowsDbObj::controlledActions2String {this} {
  52.     return [BrowserProcs::action2String [$this controlledActions]]
  53. }
  54.  
  55. method BrowsDbObj::customLevelVersion {this} {
  56.     if [$this isA CustomLevelVersion] {
  57.     return $this
  58.     }
  59.     return [$this getParent CustomLevelVersion]
  60. }
  61.  
  62. method BrowsDbObj::displayName {this} {
  63.     return "[$this name]"
  64. }
  65.  
  66. method BrowsDbObj::getInfo {this header} {
  67.     set info [[$this info] set $header]
  68.     if {"$info" != ""} {
  69.     return $info
  70.     }
  71.  
  72.     global browsDbObjInfoDict
  73.     if {! [info exists browsDbObjInfoDict]} {
  74.     set browsDbObjInfoDict [Dictionary new \
  75.         -contents {
  76.         Comments comments
  77.         "Controlled Actions" controlledActions2String
  78.         Created createTime2String
  79.         "Created By" creator
  80.         "Current Users" currentUserNames
  81.         "DB Host" databaseHost
  82.         "DB Name" databaseName
  83.         "DB Server" databaseServer
  84.         "Documented System" documentedSystemName
  85.         Editor editorType
  86.         Frozen freezeTime2String
  87.         Identity identity
  88.         "In Corporate" inCorporate2String
  89.         Link linkStatus
  90.         Name displayName
  91.         Path pathName
  92.         Phase phaseName
  93.         Project projectName
  94.         Release productRelease
  95.         Reserved reserveTime2String
  96.         "Reserved By" reserveUser
  97.         "Reservation Comments" reserveComments
  98.         Scope scope2String
  99.         Status status
  100.         System systemName
  101.         Text text
  102.         Type browserType
  103.         Updated updateTime2String
  104.         "Updated By" updator
  105.         Version versionName
  106.         } \
  107.     ]
  108.     }
  109.  
  110.     global browsDbObjNotCachedList
  111.     if {! [info exists browsDbObjNotCachedList]} {
  112.     foreach infoProp {Updated "Updated By"} {
  113.         set browsDbObjNotCachedList($infoProp) 1
  114.     }
  115.     }
  116.  
  117.     if [info exists browsDbObjNotCachedList($header)] {
  118.     set cached 0
  119.     $this makeUpToDate
  120.     } else {
  121.     set cached 1
  122.     }
  123.     if [catch {set info [$this [$browsDbObjInfoDict set $header]]}] {
  124.     resetErrorVars
  125.     set info ""
  126.     }
  127.     if $cached {
  128.     $this setInfo $header $info
  129.     }
  130.     return $info
  131. }
  132.  
  133. method BrowsDbObj::initializeInfo {this arg} {
  134.     [$this info] contents ""
  135. }
  136.  
  137. method BrowsDbObj::removeObject {this object} {
  138.     if [$object isA ConfigVersion] {
  139.     set flag "-configVersion"
  140.     } elseif [$object isA PhaseVersion] {
  141.     set flag "-phaseVersion"
  142.     } elseif [$object isA SystemVersion] {
  143.     set flag "-systemVersion"
  144.     } elseif [$object isA ExternalLink] {
  145.     set flag "-externalLink"
  146.     } elseif [$object isA FileVersion] {
  147.     set flag "-fileVersion"
  148.     } elseif [$object isA GroupVersion] {
  149.     set flag "-groupVersion"
  150.     } elseif [$object isA PropertyReference] {
  151.     set flag "-propRef"
  152.     } elseif [$object isA SystemFileReference] {
  153.     set flag "-reference"
  154.     } else {
  155.     set flag ""
  156.     }
  157.  
  158.     $object removeSpecials
  159.  
  160.     eval $this remove $flag $object
  161.  
  162.     # Remove current EditPasteCmd when it operates on the removed object
  163.     if [.main isA CommonBrowser] {
  164.     set cmd [.main undoCommand]
  165.     if {[isCommand $cmd] && (! [$cmd busy]) &&
  166.         [$cmd isA EditPasteCmd] && [$cmd operatesOn $object]} {
  167.         $cmd delete
  168.     }
  169.     }
  170. }
  171.  
  172. method BrowsDbObj::uiClass {this} {
  173.     return [$this ORB_class]
  174. }
  175.  
  176. method BrowsDbObj::uiIdentity {this} {
  177.     return [$this identity]
  178. }
  179.  
  180. method BrowsDbObj::removeSpecials {this} {
  181.     # default no specials to remove
  182. }
  183.  
  184. # Do not delete this line -- regeneration end marker
  185.  
  186.