home *** CD-ROM | disk | FTP | other *** search
/ PC World 1997 November / PCWorld_1997-11_cd.bin / software / programy / komix / DATA.Z / uenvbrobje.tcl < prev    next >
Text File  |  1996-10-18  |  3KB  |  109 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cadre Technologies Inc.    1996
  4. #
  5. #      File:           @(#)uenvbrobje.tcl    /main/hindenburg/6
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)uenvbrobje.tcl    /main/hindenburg/6   18 Oct 1996 Copyright 1996 Cadre Technologies Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14.  
  15. Class UEnvBrObject : {BrowsObject} {
  16.     constructor
  17.     method destructor
  18.     method fileName
  19.     method update
  20.     method show
  21.     attribute fileV
  22.     attribute configV
  23.     attribute path
  24. }
  25.  
  26. constructor UEnvBrObject {class this name fileV configV path} {
  27.     set this [BrowsObject::constructor $class $this $name]
  28.     $this fileV $fileV
  29.     $this configV $configV
  30.     $this path $path
  31.     # Start constructor user section
  32.  
  33.         $this label $path
  34.         $this activated { %this show }
  35.         $this update
  36.  
  37.     # End constructor user section
  38.     return $this
  39. }
  40.  
  41. method UEnvBrObject::destructor {this} {
  42.     # Start destructor user section
  43.     # End destructor user section
  44. }
  45.  
  46. proc UEnvBrObject::headerLabels {} {
  47.     return {File Object Version Status Owner Size Project ConfigVersion}
  48. }
  49.  
  50. method UEnvBrObject::fileName {this} {
  51.     set file [[$this fileV] file]
  52.     set name [$file qualifiedName].[$file type]
  53. }
  54.  
  55. method UEnvBrObject::update {this} {
  56.     set fileV [$this fileV]
  57.     set configV [$this configV]
  58.     set path [$this path]
  59.  
  60.     if ![catch {file stat $path stat}] {
  61.     set size  $stat(size)
  62.     } else {
  63.     set size  "<unknown>"
  64.     }
  65.  
  66.     if [catch {set owner [BasicFS::owner $path]}] {
  67.         set owner "<unknown>"
  68.     }
  69.  
  70.     $this details [list \
  71.     [$this fileName] \
  72.         [$fileV versionName] \
  73.     [$fileV status] \
  74.     $owner \
  75.     $size \
  76.     [[$fileV project] name] \
  77.     [[$fileV config] name]:[$configV versionNumber] \
  78.     ]
  79.  
  80.     if {[$fileV status] == "working"} {
  81.         $this smallIcon rep_working_16
  82.     } else {
  83.         $this smallIcon rep_frozen_16
  84.     }
  85. }
  86.  
  87. method UEnvBrObject::show {this} {
  88.     set fileClass [[[$this fileV] file] fileClass]
  89.     if {$fileClass == "externalText"} {
  90.     $wmttoolObj startM4Command viewer [$this path] "" [$this fileName]
  91.     } else {
  92.         # $fileClass == "externalBinary"
  93.         #
  94.         set dlg [YesNoWarningDialog new $wmttoolObj.uenvbinwarndlg \
  95.             -title "Binary File Warning" \
  96.             -message "'[$this fileName]' is a binary file.  Continue?" \
  97.             -yesPressed "$wmttoolObj startM4Command viewer \
  98.                             [list [$this path]] \
  99.                             [list ""] \
  100.                             [list [$this fileName]]"]
  101.         $dlg delCancelButton
  102.         $dlg delHelpButton
  103.         $dlg popUp
  104.     }
  105. }
  106.  
  107. # Do not delete this line -- regeneration end marker
  108.  
  109.