home *** CD-ROM | disk | FTP | other *** search
/ PC World 1997 November / PCWorld_1997-11_cd.bin / software / programy / komix / DATA.Z / propknowle.tcl < prev    next >
Encoding:
Text File  |  1997-03-12  |  2.6 KB  |  97 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)propknowle.tcl    /main/hindenburg/7
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)propknowle.tcl    /main/hindenburg/7   12 Mar 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. require "propifdefs.tcl"
  13. # End user added include file section
  14.  
  15.  
  16. Class PropKnowledge : {Object} {
  17.     constructor
  18.     method destructor
  19. }
  20.  
  21. global PropKnowledge::propKnowledgeDB
  22. set PropKnowledge::propKnowledgeDB ""
  23.  
  24.  
  25. constructor PropKnowledge {class this} {
  26.     set this [Object::constructor $class $this $name]
  27.     # Start constructor user section
  28.     # End constructor user section
  29.     return $this
  30. }
  31.  
  32. method PropKnowledge::destructor {this} {
  33.     # Start destructor user section
  34.     # End destructor user section
  35. }
  36.  
  37. proc PropKnowledge::updatePropKnowledge {} {
  38.     global PropKnowledge::propKnowledgeDB
  39.     if {${PropKnowledge::propKnowledgeDB} == ""} {
  40.         OTShRegister::propertyKnowledge
  41.         set PropKnowledge::propKnowledgeDB \
  42.             [PropKnowledgeDB new ".propDefinition"]
  43.     }
  44.  
  45.     ${PropKnowledge::propKnowledgeDB} context \
  46.         [[ClientContext::global] currentLevelIdString]
  47. }
  48.  
  49. proc PropKnowledge::getLongName {name} {
  50.     global PropKnowledge::propKnowledgeDB
  51.     if {${PropKnowledge::propKnowledgeDB} == ""} {
  52.         PropKnowledge::updatePropKnowledge
  53.     }
  54.     set propDef [${PropKnowledge::propKnowledgeDB} definition $name]
  55.     if {$propDef != ""} {
  56.         return [$propDef longName]
  57.     }
  58.     return $name
  59. }
  60.  
  61. proc PropKnowledge::getDefaultValue {name} {
  62.     global hasEntrySet defIndex PropKnowledge::propKnowledgeDB
  63.     if {${PropKnowledge::propKnowledgeDB} == ""} {
  64.         PropKnowledge::updatePropKnowledge
  65.     }
  66.     set propDef [${PropKnowledge::propKnowledgeDB} definition $name]
  67.     if {$propDef != ""} {
  68.         set className [$propDef ifClass]
  69.         set optList [$propDef ifOptions]
  70.         if [info exists defIndex($className)] {
  71.             if [info exists hasEntrySet($className)] {
  72.                 set idx [lsearch -exact $optList -entrySet]
  73.                 if {$idx != -1} {
  74.                     incr idx
  75.  
  76.                     return [lindex [lindex $optList $idx] $defIndex($className)]
  77.                 }
  78.                 return ""
  79.             }
  80.             return $defIndex($className)
  81.         }
  82.  
  83.         if {$className == "RWAccessRow"} {
  84.             set idx [lsearch -exact $optList -entrySet]
  85.             if {$idx != -1} {
  86.                 incr idx
  87.                 set def [lindex [lindex $optList $idx] 0]
  88.                 return "${def}-${def}"
  89.             }
  90.         }
  91.     }
  92.     return ""
  93. }
  94.  
  95. # Do not delete this line -- regeneration end marker
  96.  
  97.