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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cadre Technologies Inc.    1996
  4. #
  5. #      File:           @(#)itempropse.tcl    /main/3
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)itempropse.tcl    /main/3   5 Jun 1996 Copyright 1996 Cadre Technologies Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14. require "itemprdbob.tcl"
  15. require "propertyse.tcl"
  16.  
  17. Class ItempropSection : {ItemPRDbObj PropertySection} {
  18.     method destructor
  19.     constructor
  20.     method promoter
  21.     method edit
  22.     method makeCurrent
  23.     method makeSnapshot
  24.     method uiName
  25.     method docTitle
  26. }
  27.  
  28. method ItempropSection::destructor {this} {
  29.     # Start destructor user section
  30.     # End destructor user section
  31.     $this ItemPRDbObj::destructor
  32.     $this PropertySection::destructor
  33. }
  34.  
  35. constructor ItempropSection {class this name document} {
  36.     set this [ItemPRDbObj::constructor $class $this $name]
  37.     set this [PropertySection::constructor $class $this $name $document]
  38.     return $this
  39. }
  40.  
  41. selfPromoter ItemPRDbObj {this} {
  42.     set sysV [$this systemVersion]
  43.     if {"[[$sysV system] type]" != "document"} return
  44.     set editor [$sysV editor]
  45.     if {! [isCommand $editor]} return
  46.  
  47.     set editorName [$editor name]
  48.     set editorVersion [$editor version]
  49.     set class [Document::getClass $editorName $editorVersion Itemprop]
  50.  
  51.     if {$class != ""} {
  52.         $class promote $this $sysV
  53.     }
  54. }
  55.  
  56. method ItempropSection::promoter {this document} {
  57.     $this PropertySection::promoter $document
  58.  
  59.     $this uiType Itemprop
  60. }
  61.  
  62. method ItempropSection::edit {this} {
  63.      $this PropertySection::edit
  64. }
  65.  
  66. method ItempropSection::makeCurrent {this} {
  67.     set cv [[$this document] configVersion]
  68.     $this status current $cv
  69. }
  70.  
  71. method ItempropSection::makeSnapshot {this} {
  72.     set cv [[$this document] configVersion]
  73.     $this status snapshot $cv
  74. }
  75.  
  76. method ItempropSection::uiName {this args} {
  77.     return [$this PropertySection::uiName $args]
  78. }
  79.  
  80. method ItempropSection::docTitle {this} {
  81.  
  82.     set title "Properties of item"
  83.     set item [$this referredItem]
  84.     if {! [$item isNil]} {
  85.         set title "$title '[$item name].[$item type]'"
  86.         set cv [[$this document] configVersion]
  87.         set itemKeeper [$this referredItemKeeper $cv]
  88.         if {! [$itemKeeper isNil]} {
  89.             if [$itemKeeper isA SystemVersion] {
  90.                 set kind system
  91.                 set name [[$itemKeeper system] name]
  92.                 set title "$title from system '$name'"
  93.             } else {
  94.                 set name [[$itemKeeper file] name]
  95.                 set type [[$itemKeeper file] type]
  96.                 set title "$title from file '$name.$type'"
  97.             }
  98.         } else {
  99.             set title "$title from <unknown>"
  100.         }
  101.     } else {
  102.         set title "$title <unknown>"
  103.     }
  104.     return $title
  105. }
  106.  
  107. # Do not delete this line -- regeneration end marker
  108.  
  109.