home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / opendefeda.tcl < prev    next >
Text File  |  1997-04-24  |  5KB  |  185 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)opendefeda.tcl    /main/titanic/3
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)opendefeda.tcl    /main/titanic/3   24 Apr 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12.  
  13. require "searchstgd.tcl"
  14. require "crfilestgd.tcl"
  15. require "crsysstgde.tcl"
  16. require "userstgdef.tcl"
  17. require "groupstgde.tcl"
  18.  
  19. global stgAbbr
  20.  
  21. set stgAbbr(search)            Search
  22. set stgAbbr(createFile)            CrFile
  23. set stgAbbr(createSystemAndFile)    CrSys
  24. set stgAbbr(userDefined)        User
  25. set stgAbbr(group)            Group
  26.  
  27. # End user added include file section
  28.  
  29. require "custdefsar.tcl"
  30.  
  31. Class OpenDefEdArea : {CustDefsArea} {
  32.     constructor
  33.     method destructor
  34.     method parseLines
  35.     method deleteObjects
  36.     method newObject
  37.     method createSearch
  38.     method createCrFile
  39.     method createCrSys
  40.     method createUser
  41.     method createGroup
  42.     method createObject
  43.     method clearArea
  44.     method getStrategy
  45.     method setStrategy
  46.     method removeStrategy
  47.     attribute searchDefiner
  48.     attribute crFileDefiner
  49.     attribute crSysDefiner
  50.     attribute userDefiner
  51.     attribute groupDefiner
  52.     attribute strategy
  53. }
  54.  
  55. constructor OpenDefEdArea {class this name} {
  56.     set this [CustDefsArea::constructor $class $this $name]
  57.     $this strategy [Dictionary new]
  58.     # Start constructor user section
  59.     $this rowCount 12
  60.     $this columnCount 65
  61.     $this font "[m4_var get M4_font -context uce]"
  62.     $this destinationSet "OPENSTGDEF dropEvent"
  63.     $this mode DETAIL
  64.     BrowsHeader new $this.name  -label Strategy -width 25
  65.     BrowsHeader new $this.type  -label Type     -width 20
  66.     BrowsHeader new $this.level -label Level    -width 25
  67.     # End constructor user section
  68.     return $this
  69. }
  70.  
  71. method OpenDefEdArea::destructor {this} {
  72.     # Start destructor user section
  73.     # End destructor user section
  74.     $this CustDefsArea::destructor
  75. }
  76.  
  77. method OpenDefEdArea::parseLines {this lines level} {
  78.     global stgAbbr
  79.     foreach defLine $lines {
  80.         $this create$stgAbbr([lindex $defLine 1]) $defLine $level
  81.     }
  82. }
  83.  
  84. method OpenDefEdArea::deleteObjects {this objs} {
  85.     foreach stg $objs {
  86.         $this removeStrategy [$stg name]
  87.     }
  88.     $this CustDefsArea::deleteObjects $objs
  89. }
  90.  
  91. method OpenDefEdArea::newObject {this type name {edit 0}} {
  92.     $this isChanged 1
  93.  
  94.     set obj [$this createObject [list name        $name \
  95.                       type        $type \
  96.                       specLevel    [$this _level]] \
  97.                     $type [$this _level]]
  98.  
  99.     $this sortArea
  100.  
  101.     if $edit {
  102.         $obj open
  103.     }
  104. }
  105.  
  106. method OpenDefEdArea::createSearch {this defs level} {
  107.     $this createObject [list name        [lindex $defs 0] \
  108.                  type        [lindex $defs 1] \
  109.                  flags        [lindex $defs 2] \
  110.                  fileTypes    [lindex $defs 3]] \
  111.                [lindex $defs 1] $level
  112. }
  113.  
  114. method OpenDefEdArea::createCrFile {this defs level} {
  115.     $this createObject [list name        [lindex $defs 0] \
  116.                  type        [lindex $defs 1] \
  117.                  fileQualifier    [lindex $defs 2] \
  118.                  fileName    [lindex $defs 3] \
  119.                  fileType    [lindex $defs 4]] \
  120.                [lindex $defs 1] $level
  121. }
  122.  
  123. method OpenDefEdArea::createCrSys {this defs level} {
  124.     $this createObject [list name        [lindex $defs 0] \
  125.                  type        [lindex $defs 1] \
  126.                  systemName    [lindex $defs 2] \
  127.                  fileQualifier    [lindex $defs 3] \
  128.                  fileName    [lindex $defs 4] \
  129.                  fileType    [lindex $defs 5]] \
  130.                [lindex $defs 1] $level
  131. }
  132.  
  133. method OpenDefEdArea::createUser {this defs level} {
  134.     $this createObject [list name        [lindex $defs 0] \
  135.                  type        [lindex $defs 1] \
  136.                  procedure    [lindex $defs 2]] \
  137.                [lindex $defs 1] $level
  138. }
  139.  
  140. method OpenDefEdArea::createGroup {this defs level} {
  141.     $this createObject [list name        [lindex $defs 0] \
  142.                  type        [lindex $defs 1] \
  143.                  members    [lindex $defs 2]] \
  144.                [lindex $defs 1] $level
  145. }
  146.  
  147. method OpenDefEdArea::createObject {this objSpec type level} {
  148.     global stgAbbr
  149.     global classCount
  150.     set newIndex [llength [$this objectSet]]
  151.     set object [$stgAbbr($type)StgDef new $this.Object$classCount $objSpec]
  152.     $this setStrategy [$object name] $object
  153.     $object index $newIndex
  154.     incr classCount
  155.  
  156.     $this adjustCreatedObject $object $level
  157.  
  158.     # update the object-details in the view
  159.     $object updateView
  160.  
  161.     return $object
  162. }
  163.  
  164. method OpenDefEdArea::clearArea {this} {
  165.     $this CustDefsArea::clearArea
  166.     foreach stg [[$this strategy] names] {
  167.         $this removeStrategy $stg
  168.     }
  169. }
  170.  
  171. # Do not delete this line -- regeneration end marker
  172.  
  173. method OpenDefEdArea::getStrategy {this name} {
  174.     return [[$this strategy] set $name]
  175. }
  176.  
  177. method OpenDefEdArea::setStrategy {this name newStrategy} {
  178.     [$this strategy] set $name $newStrategy
  179. }
  180.  
  181. method OpenDefEdArea::removeStrategy {this name} {
  182.     [$this strategy] unset $name
  183. }
  184.  
  185.