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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)extldbobj.tcl    /main/titanic/6
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)extldbobj.tcl    /main/titanic/6   16 Oct 1997 Copyright 1996 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 ExtLDbObj : {BrowsDbObj ExternalLink} {
  17.     method destructor
  18.     constructor
  19.     method promoter
  20.     method browserType
  21.     method changeLocation
  22.     method customLevelVersion
  23.     method editFile
  24.     method hasChildren
  25.     method makeUpToDate
  26.     method showFile
  27. }
  28.  
  29. method ExtLDbObj::destructor {this} {
  30.     # Start destructor user section
  31.     # End destructor user section
  32.     $this BrowsDbObj::destructor
  33. }
  34.  
  35. constructor ExtLDbObj {class this name} {
  36.     set this [ExternalLink::constructor $class $this $name]
  37.     set this [BrowsDbObj::constructor $class $this $name]
  38.     return $this
  39. }
  40.  
  41. selfPromoter ExternalLink {this} {
  42.     ExtLDbObj promote $this
  43. }
  44.  
  45. method ExtLDbObj::promoter {this} {
  46.     $this BrowsDbObj::promoter
  47.     module_promoter ExtLDbObj $this
  48. }
  49.  
  50. proc ExtLDbObj::associations {} {
  51.     return {}
  52. }
  53.  
  54. method ExtLDbObj::browserType {this} {
  55.     return "[$this type]"
  56. }
  57.  
  58. method ExtLDbObj::changeLocation {this} {
  59.     ClassMaker::extend FileChooser ChangeLocationFileChooser dbObj
  60.     if $win95 {
  61.     set filter "All Files (*.*)|*|"
  62.     } else {
  63.     set filter "*"
  64.     }
  65.     ChangeLocationFileChooser new $wmttoolObj.changeLocation \
  66.     -title "Change Location" \
  67.     -selectionPolicy BROWSE \
  68.     -filter $filter \
  69.     -helpPressed {.main helpOnName changeLocation} \
  70.     -directory "[path_name directory [$this path]]" \
  71.     -selectedSet "[list [$this path]]" \
  72.     -dbObj $this \
  73.     -cancelPressed {%this delete} \
  74.     -okPressed {
  75.         set script \
  76.         "[%this dbObj] path [list [lindex [%this selectedSet] 0]]"
  77.         $wmttoolObj startCommand tcl "$script" "" "" {1 0} 1
  78.         %this delete
  79.     }
  80.     $wmttoolObj.changeLocation popUp
  81. }
  82.  
  83. proc ExtLDbObj::childTypes {assoc} {
  84.     if {[lsearch -exact "[ExtLDbObj::associations]" "$assoc"] == -1} {
  85.     return ""
  86.     }
  87.     return "[BrowserProcs::childTypes $assoc]"
  88. }
  89.  
  90. proc ExtLDbObj::controlledLists {} {
  91.     return ""
  92. }
  93.  
  94. method ExtLDbObj::customLevelVersion {this} {
  95.     return [$this systemVersion]
  96. }
  97.  
  98. method ExtLDbObj::editFile {this} {
  99.     if {! [file writable [$this path]]} {
  100.     $this showFile
  101.     return
  102.     }
  103.     set file [$this path]
  104.     $this edit
  105.     $wmttoolObj startM4Command editor "$file" "$this quit" "$file"
  106.     if {! [file exists $file]} {
  107.     wmtkwarning "File '$file' does not exist"
  108.     }
  109. }
  110.  
  111. method ExtLDbObj::hasChildren {this} {
  112.     return 0
  113. }
  114.  
  115. proc ExtLDbObj::infoProperties {} {
  116.     return [concat \
  117.     [BrowserProcs::infoProperties] \
  118.     {"Controlled Actions"} \
  119.     ]
  120. }
  121.  
  122. method ExtLDbObj::makeUpToDate {this} {
  123.     # dummy call to server
  124.     $this path [$this path]
  125. }
  126.  
  127. method ExtLDbObj::showFile {this} {
  128.     set file [$this path]
  129.     if {! [file exists $file]} {
  130.     wmtkerror "File '$file' does not exist"
  131.     return
  132.     }
  133.     $wmttoolObj startM4Command viewer "$file" "" "$file"
  134. }
  135.  
  136. # Do not delete this line -- regeneration end marker
  137.  
  138.