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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)filepropse.tcl    /main/titanic/7
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)filepropse.tcl    /main/titanic/7   5 Sep 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14. require "fileprdbob.tcl"
  15. require_module_file "propertyse.tcl" docwriter
  16.  
  17. Class FilepropSection : {PropertySection FilePRDbObj} {
  18.     method destructor
  19.     constructor
  20.     method promoter
  21.     method edit
  22.     method makeFixed
  23.     method makeSelected
  24.     method uiName
  25.     method docTitle
  26. }
  27.  
  28. method FilepropSection::destructor {this} {
  29.     # Start destructor user section
  30.     # End destructor user section
  31.     $this PropertySection::destructor
  32.     $this FilePRDbObj::destructor
  33. }
  34.  
  35. constructor FilepropSection {class this name document} {
  36.     set this [FilePRDbObj::constructor $class $this $name]
  37.     set this [PropertySection::constructor $class $this $name $document]
  38.     return $this
  39. }
  40.  
  41. proc FilepropSection::validDocument {obj} {
  42.  
  43.     set document [$obj systemVersion]
  44.     if {"[[$document system] type]" != "document"} {return 0}
  45.  
  46.     set editor [$document editor]
  47.     if {! [isCommand $editor]} {return 0}
  48.  
  49.     return 1
  50. }
  51.  
  52. method FilepropSection::promoter {this} {
  53.  
  54.     $this FilePRDbObj::promoter
  55.  
  56.     if {![FilepropSection::validDocument $this]} {
  57.         return
  58.     }
  59.  
  60.     $this extension txt
  61.  
  62.     set document [$this systemVersion]
  63.     set editor [$document editor]
  64.  
  65.     $this document $document
  66.     $this uiType Fileprop
  67.     set editorName [$editor name]
  68.     set editorVersion [$editor version]
  69.     set class [Document::getClass $editorName $editorVersion Fileprop]
  70.  
  71.     if {$class != "" && ![$this isA $class]} {
  72.         $class promote $this
  73.     }
  74.  
  75.     # now promote to DocSection
  76.     DocSection::promoter $this
  77. }
  78.  
  79. method FilepropSection::edit {this} {
  80.     $this PropertySection::edit
  81. }
  82.  
  83. method FilepropSection::makeFixed {this} {
  84.     set cv [[$this document] configVersion]
  85.     $this status fixed $cv
  86. }
  87.  
  88. method FilepropSection::makeSelected {this} {
  89.     set cv [[$this document] configVersion]
  90.     $this status selected $cv
  91. }
  92.  
  93. method FilepropSection::uiName {this args} {
  94.     return [$this PropertySection::uiName $args]
  95. }
  96.  
  97. method FilepropSection::docTitle {this} {
  98.  
  99.     set title "Properties of file"
  100.     set file [$this referredFile]
  101.     if {! [$file isNil]} {
  102.         set title "$title '[$file name].[$file type]'"
  103.     } else {
  104.         set title "$title <unknown>"
  105.     }
  106.     return $title
  107. }
  108.  
  109. # Do not delete this line -- regeneration end marker
  110.  
  111.