home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / fastviewob.tcl < prev    next >
Text File  |  1997-06-03  |  2KB  |  81 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)fastviewob.tcl    /main/titanic/2
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)fastviewob.tcl    /main/titanic/2   3 Jun 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. require custedarea.tcl
  13. # End user added include file section
  14.  
  15.  
  16. Class FastViewObject : {CustViewSpec} {
  17.     method destructor
  18.     constructor
  19.     method writeObject
  20.     method name
  21.     attribute objSpec
  22.     attribute scope
  23.     attribute readOnly
  24. }
  25.  
  26. method FastViewObject::destructor {this} {
  27.     # Start destructor user section
  28.     # End destructor user section
  29. }
  30.  
  31. constructor FastViewObject {class this name spec} {
  32.     set this [CustViewSpec::constructor $class $this $name]
  33.     # Start constructor user section
  34.     # extract level 1
  35.     while {![lempty $spec]} {
  36.         set key [lvarpop spec]
  37.         $this $key [lvarpop spec]
  38.     }
  39.  
  40.     # extract level 1
  41.     set spec [$this objSpec]
  42.     while {![lempty $spec]} {
  43.         set key [lvarpop spec]
  44.         $this $key [lvarpop spec]
  45.     }
  46.     # End constructor user section
  47.     return $this
  48. }
  49.  
  50. method FastViewObject::writeObject {this fid} {
  51.  
  52.     set list ""
  53.     lappend list name [$this viewName]
  54.     lappend list repositoryType [$this repositoryType]
  55.     if { [$this browserType] != "" } {
  56.         lappend list browserType [$this browserType]
  57.     }
  58.  
  59.     set spec [list associations [$this associations]]
  60.     lappend spec objectTypes [$this objectTypes]
  61.     lappend spec properties [$this properties]
  62.     lappend spec toolBarEntries [$this toolBarEntries]
  63.     lappend spec sortScript [$this sortScript]
  64.  
  65.     # Don't use lappend here to prevent confusion of indentList
  66.     set list "$list objSpec [CustEdArea::indentList $spec 1 1]"
  67.  
  68.     puts $fid "registerObject [CustEdArea::indentList $list 0 1]"
  69. }
  70.  
  71. method FastViewObject::name {this args} {
  72.     if {$args == ""} {
  73.         return [$this viewName]
  74.     } else {
  75.         $this viewName $args
  76.     }
  77. }
  78.  
  79. # Do not delete this line -- regeneration end marker
  80.  
  81.