home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / vacppoopl.tcl < prev    next >
Text File  |  1997-12-01  |  35KB  |  1,156 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. # Copyright (c) 1997 by Cayenne Software, Inc.
  4. #
  5. # This software is furnished under a license and may be used only in
  6. # accordance with the terms of such license and with the inclusion of
  7. # the above copyright notice. This software or any other copies thereof
  8. # may not be provided or otherwise made available to any other person.
  9. # No title to and ownership of the software is hereby transferred.
  10. #
  11. # The information in this software is subject to change without notice
  12. # and should not be construed as a commitment by Cayenne Software, Inc.
  13. #
  14. #---------------------------------------------------------------------------
  15. #
  16. #       File            : vacppoopl.tcl
  17. #       Author          : 
  18. #       Original date   : November 1997
  19. #       Description     : Classes for code generation
  20. #
  21. #---------------------------------------------------------------------------
  22.  
  23. #---------------------------------------------------------------------------
  24. #      File:           @(#)vaccls.tcl    /main/titanic/1
  25. #---------------------------------------------------------------------------
  26.  
  27. # Start user added include file section
  28. # End user added include file section
  29.  
  30.  
  31. Class VACCls : {Object} {
  32.     constructor
  33.     method destructor
  34.     method includeFileName
  35.     method includeDefine
  36.     method vaGenerateSub
  37.     attribute target
  38. }
  39.  
  40. constructor VACCls {class this} {
  41.     set this [Object::constructor $class $this $name]
  42.     # Start constructor user section
  43.     # End constructor user section
  44.     return $this
  45. }
  46.  
  47. method VACCls::destructor {this} {
  48.     # Start destructor user section
  49.     # End destructor user section
  50. }
  51.  
  52. method VACCls::includeFileName {this} {
  53.     if {[$this target] != ""} {
  54.         return [[$this target] hdrFileName]
  55.     } 
  56.     return ""
  57. }
  58.  
  59. method VACCls::includeDefine {this} {
  60.     if {[$this target] != ""} {
  61.         return [[$this target] protector]
  62.     } 
  63.     return ""
  64. }
  65.  
  66. method VACCls::vaGenerateSub {this tgl} {
  67.         $tgl name [$this getName]
  68.         set comment [VAComment new]
  69.         $comment comment  [$this getPropertyValue "freeText"]
  70.         $tgl comment $comment
  71.         $tgl description [$this getPropertyValue "description"]
  72.  
  73.         $tgl includeFileName [$this includeFileName]
  74.         $tgl includeDefine [$this includeDefine]
  75. }
  76.  
  77. # Do not delete this line -- regeneration end marker
  78.  
  79. #---------------------------------------------------------------------------
  80. #      File:           @(#)vacdataatt.tcl    /main/titanic/2
  81. #---------------------------------------------------------------------------
  82.  
  83. # Start user added include file section
  84. # End user added include file section
  85.  
  86.  
  87. Class VACDataAttr : [customizeOOPLModel OPDataAttr VACDataAttr] {
  88.     constructor
  89.     method destructor
  90.     method vaGenerate
  91.     method generate
  92.     attribute queryMember
  93.     attribute setMember
  94.     attribute type
  95. }
  96.  
  97. constructor VACDataAttr {class this} {
  98.     global VACDataAttr::super
  99.     set this [${VACDataAttr::super}::constructor $class $this $name]
  100.     # Start constructor user section
  101.     # End constructor user section
  102.     return $this
  103. }
  104.  
  105. method VACDataAttr::destructor {this} {
  106.     # Start destructor user section
  107.     # End destructor user section
  108. }
  109.  
  110. method VACDataAttr::vaGenerate {this tgl} {
  111.         set cl [VAAttribute new]
  112.         $cl name [$this getName]
  113.         set comment [VAComment new]
  114.         $comment comment  [$this getPropertyValue "freeText"]
  115.         $cl comment $comment
  116.         $cl description [$this getPropertyValue "description"]
  117.         $cl noSetting [$this getPropertyValue "nosetting"]
  118.         $cl noConnect [$this getPropertyValue "noconnect"]
  119.         $cl preferred [$this getPropertyValue "preferredfeature"]
  120.            $cl type [$this type]
  121.         $cl queryMember [$this queryMember]
  122.         $cl setMember [$this setMember]
  123.  
  124.         $tgl addAttribute $cl
  125. }
  126.  
  127. method VACDataAttr::generate {this tgt} {
  128.         set res [$this ${VACDataAttr::super}::generate $tgt]
  129.         if {$res != ""} {
  130.         if {[$res type] != ""} {
  131.                         $this type [[$res type] getTypeName "hdr" ""]
  132.                 }
  133.         [$res accMethodSet] foreach methd {
  134.             if {[$methd kind] == "get"} {
  135.                         set txt [TextSection new]
  136.                         $methd genSignature "va" $txt
  137.                         $this queryMember [$txt contents]
  138.             } else {
  139.                 if {[$methd kind] == "set"} {
  140.                             set txt [TextSection new]
  141.                             $methd genSignature "va" $txt
  142.                             $this setMember [$txt contents]
  143.                 }
  144.             }
  145.         }
  146.         
  147.         }
  148.         return res
  149. }
  150.  
  151. # Do not delete this line -- regeneration end marker
  152.  
  153. selfPromoter OPDataAttr {this} {
  154.     VACDataAttr promote $this
  155. }
  156. #---------------------------------------------------------------------------
  157. #      File:           @(#)vacoperati.tcl    /main/titanic/4
  158. #---------------------------------------------------------------------------
  159.  
  160. # Start user added include file section
  161. # End user added include file section
  162.  
  163.  
  164. Class VACOperation : [customizeOOPLModel OPOperation VACOperation] {
  165.     constructor
  166.     method destructor
  167.     method vaGenerate
  168.     method generate
  169.     method checkLocal
  170.     attribute actionMember
  171.     attribute returnType
  172. }
  173.  
  174. constructor VACOperation {class this} {
  175.     global VACOperation::super
  176.     set this [${VACOperation::super}::constructor $class $this $name]
  177.     # Start constructor user section
  178.     # End constructor user section
  179.     return $this
  180. }
  181.  
  182. method VACOperation::destructor {this} {
  183.     # Start destructor user section
  184.     # End destructor user section
  185. }
  186.  
  187. method VACOperation::vaGenerate {this tgl} {
  188.     if {[$this getName] != "create" || ![$this isClassFeature]} {
  189.  
  190.             set cl [VAAction new]
  191.                 $cl name  [$this getPropertyValue "action_name"]
  192.                 if {[$cl name] == ""} {
  193.             $cl name [$this getName]
  194.         }
  195.             set comment [VAComment new]
  196.             $comment comment  [$this getPropertyValue "freeText"]
  197.             $cl comment $comment
  198.             $cl description [$this getPropertyValue "description"]
  199.             $cl preferred [$this getPropertyValue "preferredfeature"]
  200.             $cl noConnect [$this getPropertyValue "noconnect"]
  201.  
  202.             $cl returnType [$this returnType]
  203.  
  204.             $cl actionMember [$this actionMember]
  205.  
  206.             $tgl addAction $cl
  207.     }
  208. }
  209.  
  210. method VACOperation::generate {this tgt} {
  211.     set res [$this ${VACOperation::super}::generate $tgt]
  212.     if {$res != ""} {
  213.         set txt [TextSection new]
  214.         $res genSignature "va" $txt
  215.         $this actionMember [$txt contents]
  216.         if {[$res type] != ""} {
  217.             $this returnType [[$res type] getTypeName "hdr" ""]
  218.         }
  219.     }
  220.     return res
  221. }
  222.  
  223. method VACOperation::checkLocal {this} {
  224.     set res [$this ${VACOperation::super}::checkLocal]
  225.     if {[$this getName] == "operator" || [$this getName] == "operatorCOMMA"} {
  226.         m4_error $E_ILLEGALMNAME [$this getName]
  227.         incr res 1
  228.     }
  229.     return $res
  230. }
  231.  
  232. # Do not delete this line -- regeneration end marker
  233.  
  234. selfPromoter OPOperation {this} {
  235.     VACOperation promote $this
  236. }
  237. #---------------------------------------------------------------------------
  238. #      File:           @(#)genassocat.tcl    /main/titanic/4
  239. #---------------------------------------------------------------------------
  240.  
  241. # Start user added include file section
  242. # End user added include file section
  243.  
  244.  
  245. Class GenAssocAttr : {Object} {
  246.     constructor
  247.     method destructor
  248.     method vaGenerate
  249.     method generateSub
  250.     attribute setMember
  251.     attribute getMember
  252.     attribute removeMember
  253.     attribute addMember
  254.     attribute setMemberName
  255.     attribute getMemberName
  256.     attribute removeName
  257.     attribute addName
  258.     attribute getType
  259.     attribute aType
  260.     attribute aName
  261. }
  262.  
  263. constructor GenAssocAttr {class this} {
  264.     set this [Object::constructor $class $this $name]
  265.     # Start constructor user section
  266.     # End constructor user section
  267.     return $this
  268. }
  269.  
  270. method GenAssocAttr::destructor {this} {
  271.     # Start destructor user section
  272.     # End destructor user section
  273. }
  274.  
  275. method GenAssocAttr::vaGenerate {this tgl} {
  276.         set cl [VAAttribute new]
  277.         $cl name [$this aName]
  278.     $cl description "association-attribute-storage"
  279.         $cl noSetting 1
  280.         $cl noConnect 1
  281.         $cl type [$this aType]
  282.         $cl queryMember "void dummy()"
  283.     $tgl addAttribute $cl
  284.  
  285.         set setm [$this setMember]
  286.         if {$setm != ""} {
  287.                 set cl [VAAction new]
  288.                 $cl name  [$this setMemberName]
  289.                 $cl actionMember $setm
  290.         $cl description "association-accessor-method"
  291.                 $tgl addAction $cl
  292.         }
  293.         set addm [$this addMember]
  294.         if {$addm != ""} {
  295.                 set cl [VAAction new]
  296.                 $cl name  [$this addName]
  297.                 $cl actionMember $addm
  298.         $cl description "association-accessor-method"
  299.                 $tgl addAction $cl
  300.         }
  301.         set remm [$this removeMember]
  302.         if {$remm != ""} {
  303.                 set cl [VAAction new]
  304.                 $cl name  [$this removeName]
  305.                 $cl actionMember $remm
  306.         $cl description "association-accessor-method"
  307.                 $tgl addAction $cl
  308.         }
  309.         set getm [$this getMember]
  310.         if {$getm != ""} {
  311.                 set cl [VAAction new]
  312.                 $cl name  [$this getMemberName]
  313.                 $cl returnType  [$this getType]
  314.                 $cl actionMember $getm
  315.         $cl description "association-accessor-method"
  316.                 $tgl addAction $cl
  317.         }
  318. }
  319.  
  320. method GenAssocAttr::generateSub {this res} {
  321.         if {$res != ""} {
  322.         $this aName [$res getName]
  323.         $this aType [[$res type] getTypeName "hdr" ""]
  324.                 [$res accMethodSet] foreach methd {
  325.                         if {[$methd kind] == "get"} {
  326.                                 set txt [TextSection new]
  327.                                 $methd genSignature "va" $txt
  328.                                 $this getMember [$txt contents]
  329.                                 $this getMemberName [$methd name]
  330.                 $this getType [[$methd type] getTypeName "hdr" ""]
  331.                         } else {
  332.                                 if {[$methd kind] == "set"} {
  333.                                         set txt [TextSection new]
  334.                                         $methd genSignature "va" $txt
  335.                                         $this setMember [$txt contents]
  336.                                         $this setMemberName [$methd name]
  337.                                 } else {
  338.                                         if {[$methd kind] == "add"} {
  339.                                           set txt [TextSection new]
  340.                                           $methd genSignature "va" $txt
  341.                                           $this addMember [$txt contents]
  342.                                           $this addName [$methd name]
  343.                                         } else {
  344.                                                 if {[$methd kind] == "remove"} {
  345.                                                   set txt [TextSection new]
  346.                                                   $methd genSignature "va" $txt
  347.                                                   $this removeMember [$txt contents]
  348.                                                   $this removeName [$methd name]
  349.                                                 }
  350.                                         }
  351.                                 }
  352.                         }
  353.                 }
  354.  
  355.         }
  356.     return $res
  357. }
  358.  
  359. # Do not delete this line -- regeneration end marker
  360.  
  361. #---------------------------------------------------------------------------
  362. #      File:           @(#)vacqualass.tcl    /main/titanic/1
  363. #---------------------------------------------------------------------------
  364.  
  365. # Start user added include file section
  366. # End user added include file section
  367.  
  368.  
  369. Class VACQualAssocAttr : [list [customizeOOPLModel OPQualAssocAttr VACQualAssocAttr] GenAssocAttr]  {
  370.     constructor
  371.     method destructor
  372.     method generate
  373. }
  374.  
  375. constructor VACQualAssocAttr {class this} {
  376.     global VACQualAssocAttr::super
  377.     set this [${VACQualAssocAttr::super}::constructor $class $this $name]
  378.     set this [GenAssocAttr::constructor $class $this]
  379.     # Start constructor user section
  380.     # End constructor user section
  381.     return $this
  382. }
  383.  
  384. method VACQualAssocAttr::destructor {this} {
  385.     # Start destructor user section
  386.     # End destructor user section
  387.     $this GenAssocAttr::destructor
  388. }
  389.  
  390. method VACQualAssocAttr::generate {this tgt} {
  391.         return [$this generateSub [$this ${VACQualAssocAttr::super}::generate $tgt]]
  392. }
  393.  
  394. # Do not delete this line -- regeneration end marker
  395.  
  396. selfPromoter OPQualAssocAttr {this} {
  397.     VACQualAssocAttr promote $this
  398. }
  399. #---------------------------------------------------------------------------
  400. #      File:           @(#)vacquallin.tcl    /main/titanic/1
  401. #---------------------------------------------------------------------------
  402.  
  403. # Start user added include file section
  404. # End user added include file section
  405.  
  406.  
  407. Class VACQualLinkAttr : [list [customizeOOPLModel OPQualLinkAttr VACQualLinkAttr] GenAssocAttr]  {
  408.     constructor
  409.     method destructor
  410.     method generate
  411. }
  412.  
  413. constructor VACQualLinkAttr {class this} {
  414.     global VACQualLinkAttr::super
  415.     set this [${VACQualLinkAttr::super}::constructor $class $this $name]
  416.     set this [GenAssocAttr::constructor $class $this]
  417.     # Start constructor user section
  418.     # End constructor user section
  419.     return $this
  420. }
  421.  
  422. method VACQualLinkAttr::destructor {this} {
  423.     # Start destructor user section
  424.     # End destructor user section
  425.     $this GenAssocAttr::destructor
  426. }
  427.  
  428. method VACQualLinkAttr::generate {this tgt} {
  429.         return [$this generateSub [$this ${VACQualLinkAttr::super}::generate $tgt]]
  430. }
  431.  
  432. # Do not delete this line -- regeneration end marker
  433.  
  434. selfPromoter OPQualLinkAttr {this} {
  435.     VACQualLinkAttr promote $this
  436. }
  437. #---------------------------------------------------------------------------
  438. #      File:           @(#)typedef.tcl    /main/titanic/1
  439. #---------------------------------------------------------------------------
  440.  
  441. # Start user added include file section
  442. # End user added include file section
  443.  
  444.  
  445. Class TypeDef : {VACCls} {
  446.     constructor
  447.     method destructor
  448.     method vaGenerate
  449. }
  450.  
  451. constructor TypeDef {class this} {
  452.     set this [VACCls::constructor $class $this]
  453.     # Start constructor user section
  454.     # End constructor user section
  455.     return $this
  456. }
  457.  
  458. method TypeDef::destructor {this} {
  459.     # Start destructor user section
  460.     # End destructor user section
  461.     $this VACCls::destructor
  462. }
  463.  
  464. method TypeDef::vaGenerate {this tgl} {
  465.         set cl [VACPPTypeDef new]
  466.     $this vaGenerateSub $cl
  467.         $tgl setTypedef [$cl name] $cl
  468. }
  469.  
  470. # Do not delete this line -- regeneration end marker
  471.  
  472. #---------------------------------------------------------------------------
  473. #      File:           @(#)vacdbquala.tcl    /main/titanic/1
  474. #---------------------------------------------------------------------------
  475.  
  476. # Start user added include file section
  477. # End user added include file section
  478.  
  479.  
  480. Class VACDBQualAssocAttr : [list [customizeOOPLModel OPDBQualAssocAttr VACDBQualAssocAttr] GenAssocAttr]  {
  481.     constructor
  482.     method destructor
  483.     method generate
  484. }
  485.  
  486. constructor VACDBQualAssocAttr {class this} {
  487.     global VACDBQualAssocAttr::super
  488.     set this [${VACDBQualAssocAttr::super}::constructor $class $this $name]
  489.     set this [GenAssocAttr::constructor $class $this]
  490.     # Start constructor user section
  491.     # End constructor user section
  492.     return $this
  493. }
  494.  
  495. method VACDBQualAssocAttr::destructor {this} {
  496.     # Start destructor user section
  497.     # End destructor user section
  498.     $this GenAssocAttr::destructor
  499. }
  500.  
  501. method VACDBQualAssocAttr::generate {this tgt} {
  502.         return [$this generateSub [$this ${VACDBQualAssocAttr::super}::generate $tgt]]
  503. }
  504.  
  505. # Do not delete this line -- regeneration end marker
  506.  
  507. selfPromoter OPDBQualAssocAttr {this} {
  508.     VACDBQualAssocAttr promote $this
  509. }
  510. #---------------------------------------------------------------------------
  511. #      File:           @(#)vacsclass.tcl    /main/titanic/1
  512. #---------------------------------------------------------------------------
  513.  
  514. # Start user added include file section
  515. # End user added include file section
  516.  
  517.  
  518. Class VACSClass : {VACCls} {
  519.     constructor
  520.     method destructor
  521.     method vaConstructor
  522.     method vaGenerate
  523. }
  524.  
  525. constructor VACSClass {class this} {
  526.     set this [VACCls::constructor $class $this]
  527.     # Start constructor user section
  528.     # End constructor user section
  529.     return $this
  530. }
  531.  
  532. method VACSClass::destructor {this} {
  533.     # Start destructor user section
  534.     # End destructor user section
  535.     $this VACCls::destructor
  536. }
  537.  
  538. method VACSClass::vaConstructor {this} {
  539.         if {[$this target] != ""} {
  540.                  [[$this target] featureSet] foreach feature {
  541.                         if {[$feature isA CppConstructor]} {
  542.                                 set txt [TextSection new]
  543.                                 $feature genSignature "va" $txt
  544.                                 return [$txt contents]
  545.                         }
  546.                 }
  547.         }
  548.         return ""
  549. }
  550.  
  551. method VACSClass::vaGenerate {this tgl} {
  552.         set cl [VACPPClass new]
  553.         $this vaGenerateSub $cl
  554.  
  555.         $cl iconResourceId [$this getPropertyValue "icon_resource_id"]
  556.         $cl resourceDll [$this getPropertyValue "resource_dll"]
  557.         $cl abstract [$this getPropertyValue "abstract"]
  558.  
  559.         if {[llength [$this genNodeSet]] > 0} {
  560.                  $cl parentName [[[lindex [$this genNodeSet] 0] superClass] getName]
  561.         }
  562.  
  563.         set temp ""
  564.         if {[$this getPropertyValue "nobaseclass"] == 1} {
  565.                 set temp "${temp}noBaseClass "
  566.         }
  567.         if {[$this getPropertyValue "noedit"] == 1} {
  568.                 set temp "${temp}noEdit "
  569.         }
  570.         if {[$this getPropertyValue "noshow"] == 1} {
  571.                 set temp "${temp}noShow "
  572.         }
  573.         if {[$this getPropertyValue "noadd"] == 1} {
  574.                 set temp "${temp}noAdd "
  575.         }
  576.         if {[$this getPropertyValue "nodefctr "] == 1} {
  577.                 set temp "${temp}noDefCtr "
  578.         }
  579.         $cl constraints $temp
  580.  
  581.         $cl constructor [$this vaConstructor]
  582.  
  583.         foreach feature [$this dataAttrSet] {
  584.                 $feature vaGenerate $cl
  585.         }
  586.  
  587.         foreach feature [$this genAssocAttrSet] {
  588.                 $feature vaGenerate $cl
  589.         }
  590.  
  591.         foreach feature [$this operationSet] {
  592.                 $feature vaGenerate $cl
  593.         }
  594.  
  595.         $tgl setCls [$cl name] $cl
  596.  
  597.         $tgl setCls [$cl name] $cl
  598. }
  599.  
  600. # Do not delete this line -- regeneration end marker
  601.  
  602. #---------------------------------------------------------------------------
  603. #      File:           @(#)vacclass.tcl    /main/titanic/3
  604. #---------------------------------------------------------------------------
  605.  
  606. # Start user added include file section
  607. # End user added include file section
  608.  
  609.  
  610. Class VACClass : [list [customizeOOPLModel OPClass VACClass] VACSClass]  {
  611.     constructor
  612.     method destructor
  613.     method generate
  614. }
  615.  
  616. constructor VACClass {class this} {
  617.     global VACClass::super
  618.     set this [${VACClass::super}::constructor $class $this $name]
  619.     set this [VACSClass::constructor $class $this]
  620.     # Start constructor user section
  621.     # End constructor user section
  622.     return $this
  623. }
  624.  
  625. method VACClass::destructor {this} {
  626.     # Start destructor user section
  627.     # End destructor user section
  628.     $this VACSClass::destructor
  629. }
  630.  
  631. method VACClass::generate {this res} {
  632.         $this target [$this ${VACClass::super}::generate $res]
  633.         return [$this target]
  634. }
  635.  
  636. # Do not delete this line -- regeneration end marker
  637.  
  638. selfPromoter OPClass {this} {
  639.     VACClass promote $this
  640. }
  641. #---------------------------------------------------------------------------
  642. #      File:           @(#)vacdblinkc.tcl    /main/titanic/1
  643. #---------------------------------------------------------------------------
  644.  
  645. # Start user added include file section
  646. # End user added include file section
  647.  
  648.  
  649. Class VACDBLinkClass : [list [customizeOOPLModel OPDBLinkClass VACDBLinkClass] VACSClass]  {
  650.     constructor
  651.     method destructor
  652.     method generate
  653. }
  654.  
  655. constructor VACDBLinkClass {class this} {
  656.     global VACDBLinkClass::super
  657.     set this [${VACDBLinkClass::super}::constructor $class $this $name]
  658.     set this [VACSClass::constructor $class $this]
  659.     # Start constructor user section
  660.     # End constructor user section
  661.     return $this
  662. }
  663.  
  664. method VACDBLinkClass::destructor {this} {
  665.     # Start destructor user section
  666.     # End destructor user section
  667.     $this VACSClass::destructor
  668. }
  669.  
  670. method VACDBLinkClass::generate {this res} {
  671.         $this target [$this ${VACDBLinkClass::super}::generate $res]
  672.         return [$this target]
  673. }
  674.  
  675. # Do not delete this line -- regeneration end marker
  676.  
  677. selfPromoter OPDBLinkClass {this} {
  678.     VACDBLinkClass promote $this
  679. }
  680. #---------------------------------------------------------------------------
  681. #      File:           @(#)vacdblinka.tcl    /main/titanic/1
  682. #---------------------------------------------------------------------------
  683.  
  684. # Start user added include file section
  685. # End user added include file section
  686.  
  687.  
  688. Class VACDBLinkAttr : [list [customizeOOPLModel OPDBLinkAttr VACDBLinkAttr] GenAssocAttr]  {
  689.     constructor
  690.     method destructor
  691.     method generate
  692. }
  693.  
  694. constructor VACDBLinkAttr {class this} {
  695.     global VACDBLinkAttr::super
  696.     set this [${VACDBLinkAttr::super}::constructor $class $this $name]
  697.     set this [GenAssocAttr::constructor $class $this]
  698.     # Start constructor user section
  699.     # End constructor user section
  700.     return $this
  701. }
  702.  
  703. method VACDBLinkAttr::destructor {this} {
  704.     # Start destructor user section
  705.     # End destructor user section
  706.     $this GenAssocAttr::destructor
  707. }
  708.  
  709. method VACDBLinkAttr::generate {this tgt} {
  710.         return [$this generateSub [$this ${VACDBLinkAttr::super}::generate $tgt]]
  711. }
  712.  
  713. # Do not delete this line -- regeneration end marker
  714.  
  715. selfPromoter OPDBLinkAttr {this} {
  716.     VACDBLinkAttr promote $this
  717. }
  718. #---------------------------------------------------------------------------
  719. #      File:           @(#)vacdbassoc.tcl    /main/titanic/1
  720. #---------------------------------------------------------------------------
  721.  
  722. # Start user added include file section
  723. # End user added include file section
  724.  
  725.  
  726. Class VACDBAssocAttr : [list [customizeOOPLModel OPDBAssocAttr VACDBAssocAttr] GenAssocAttr]  {
  727.     constructor
  728.     method destructor
  729.     method generate
  730. }
  731.  
  732. constructor VACDBAssocAttr {class this} {
  733.     global VACDBAssocAttr::super
  734.     set this [${VACDBAssocAttr::super}::constructor $class $this $name]
  735.     set this [GenAssocAttr::constructor $class $this]
  736.     # Start constructor user section
  737.     # End constructor user section
  738.     return $this
  739. }
  740.  
  741. method VACDBAssocAttr::destructor {this} {
  742.     # Start destructor user section
  743.     # End destructor user section
  744.     $this GenAssocAttr::destructor
  745. }
  746.  
  747. method VACDBAssocAttr::generate {this tgt} {
  748.         return [$this generateSub [$this ${VACDBAssocAttr::super}::generate $tgt]]
  749. }
  750.  
  751. # Do not delete this line -- regeneration end marker
  752.  
  753. selfPromoter OPDBAssocAttr {this} {
  754.     VACDBAssocAttr promote $this
  755. }
  756. #---------------------------------------------------------------------------
  757. #      File:           @(#)vacassocat.tcl    /main/titanic/3
  758. #---------------------------------------------------------------------------
  759.  
  760. # Start user added include file section
  761. # End user added include file section
  762.  
  763.  
  764. Class VACAssocAttr : [list [customizeOOPLModel OPAssocAttr VACAssocAttr] GenAssocAttr]  {
  765.     constructor
  766.     method destructor
  767.     method generate
  768. }
  769.  
  770. constructor VACAssocAttr {class this} {
  771.     global VACAssocAttr::super
  772.     set this [${VACAssocAttr::super}::constructor $class $this $name]
  773.     set this [GenAssocAttr::constructor $class $this]
  774.     # Start constructor user section
  775.     # End constructor user section
  776.     return $this
  777. }
  778.  
  779. method VACAssocAttr::destructor {this} {
  780.     # Start destructor user section
  781.     # End destructor user section
  782.     $this GenAssocAttr::destructor
  783. }
  784.  
  785. method VACAssocAttr::generate {this tgt} {
  786.            return [$this generateSub [$this ${VACAssocAttr::super}::generate $tgt]]
  787. }
  788.  
  789. # Do not delete this line -- regeneration end marker
  790.  
  791. selfPromoter OPAssocAttr {this} {
  792.     VACAssocAttr promote $this
  793. }
  794. #---------------------------------------------------------------------------
  795. #      File:           @(#)vaclinkcla.tcl    /main/titanic/1
  796. #---------------------------------------------------------------------------
  797.  
  798. # Start user added include file section
  799. # End user added include file section
  800.  
  801.  
  802. Class VACLinkClass : [list [customizeOOPLModel OPLinkClass VACLinkClass] VACSClass]  {
  803.     constructor
  804.     method destructor
  805.     method generate
  806. }
  807.  
  808. constructor VACLinkClass {class this} {
  809.     global VACLinkClass::super
  810.     set this [${VACLinkClass::super}::constructor $class $this $name]
  811.     set this [VACSClass::constructor $class $this]
  812.     # Start constructor user section
  813.     # End constructor user section
  814.     return $this
  815. }
  816.  
  817. method VACLinkClass::destructor {this} {
  818.     # Start destructor user section
  819.     # End destructor user section
  820.     $this VACSClass::destructor
  821. }
  822.  
  823. method VACLinkClass::generate {this res} {
  824.         $this target [$this ${VACLinkClass::super}::generate $res]
  825.         return [$this target]
  826. }
  827.  
  828. # Do not delete this line -- regeneration end marker
  829.  
  830. selfPromoter OPLinkClass {this} {
  831.     VACLinkClass promote $this
  832. }
  833. #---------------------------------------------------------------------------
  834. #      File:           @(#)vacclasstd.tcl    /main/titanic/2
  835. #---------------------------------------------------------------------------
  836.  
  837. # Start user added include file section
  838. # End user added include file section
  839.  
  840.  
  841. Class VACClassTDef : [list [customizeOOPLModel OPClassTDef VACClassTDef] TypeDef]  {
  842.     constructor
  843.     method destructor
  844.     method generate
  845. }
  846.  
  847. constructor VACClassTDef {class this} {
  848.     global VACClassTDef::super
  849.     set this [${VACClassTDef::super}::constructor $class $this $name]
  850.     set this [TypeDef::constructor $class $this]
  851.     # Start constructor user section
  852.     # End constructor user section
  853.     return $this
  854. }
  855.  
  856. method VACClassTDef::destructor {this} {
  857.     # Start destructor user section
  858.     # End destructor user section
  859.     $this TypeDef::destructor
  860. }
  861.  
  862. method VACClassTDef::generate {this res} {
  863.         $this target [$this ${VACClassTDef::super}::generate $res]
  864.         return [$this target]
  865. }
  866.  
  867. # Do not delete this line -- regeneration end marker
  868.  
  869. selfPromoter OPClassTDef {this} {
  870.     VACClassTDef promote $this
  871. }
  872. #---------------------------------------------------------------------------
  873. #      File:           @(#)vacdbrever.tcl    /main/titanic/1
  874. #---------------------------------------------------------------------------
  875.  
  876. # Start user added include file section
  877. # End user added include file section
  878.  
  879.  
  880. Class VACDBReverseLinkAttr : [list [customizeOOPLModel OPDBReverseLinkAttr VACDBReverseLinkAttr] GenAssocAttr]  {
  881.     constructor
  882.     method destructor
  883.     method generate
  884. }
  885.  
  886. constructor VACDBReverseLinkAttr {class this} {
  887.     global VACDBReverseLinkAttr::super
  888.     set this [${VACDBReverseLinkAttr::super}::constructor $class $this $name]
  889.     set this [GenAssocAttr::constructor $class $this]
  890.     # Start constructor user section
  891.     # End constructor user section
  892.     return $this
  893. }
  894.  
  895. method VACDBReverseLinkAttr::destructor {this} {
  896.     # Start destructor user section
  897.     # End destructor user section
  898.     $this GenAssocAttr::destructor
  899. }
  900.  
  901. method VACDBReverseLinkAttr::generate {this tgt} {
  902.         return [$this generateSub [$this ${VACDBReverseLinkAttr::super}::generate $tgt]]
  903. }
  904.  
  905. # Do not delete this line -- regeneration end marker
  906.  
  907. selfPromoter OPDBReverseLinkAttr {this} {
  908.     VACDBReverseLinkAttr promote $this
  909. }
  910. #---------------------------------------------------------------------------
  911. #      File:           @(#)vacclassge.tcl    /main/titanic/2
  912. #---------------------------------------------------------------------------
  913.  
  914. # Start user added include file section
  915. # End user added include file section
  916.  
  917.  
  918. Class VACClassGenericTypeDef : [list [customizeOOPLModel OPClassGenericTypeDef VACClassGenericTypeDef] TypeDef]  {
  919.     constructor
  920.     method destructor
  921.     method generate
  922. }
  923.  
  924. constructor VACClassGenericTypeDef {class this} {
  925.     global VACClassGenericTypeDef::super
  926.     set this [${VACClassGenericTypeDef::super}::constructor $class $this $name]
  927.     set this [TypeDef::constructor $class $this]
  928.     # Start constructor user section
  929.     # End constructor user section
  930.     return $this
  931. }
  932.  
  933. method VACClassGenericTypeDef::destructor {this} {
  934.     # Start destructor user section
  935.     # End destructor user section
  936.     $this TypeDef::destructor
  937. }
  938.  
  939. method VACClassGenericTypeDef::generate {this res} {
  940.         $this target [$this ${VACClassGenericTypeDef::super}::generate $res]
  941.         return [$this target]
  942. }
  943.  
  944. # Do not delete this line -- regeneration end marker
  945.  
  946. selfPromoter OPClassGenericTypeDef {this} {
  947.     VACClassGenericTypeDef promote $this
  948. }
  949. #---------------------------------------------------------------------------
  950. #      File:           @(#)vacdbquall.tcl    /main/titanic/1
  951. #---------------------------------------------------------------------------
  952.  
  953. # Start user added include file section
  954. # End user added include file section
  955.  
  956.  
  957. Class VACDBQualLinkAttr : [list [customizeOOPLModel OPDBQualLinkAttr VACDBQualLinkAttr] GenAssocAttr]  {
  958.     constructor
  959.     method destructor
  960.     method generate
  961. }
  962.  
  963. constructor VACDBQualLinkAttr {class this} {
  964.     global VACDBQualLinkAttr::super
  965.     set this [${VACDBQualLinkAttr::super}::constructor $class $this $name]
  966.     set this [GenAssocAttr::constructor $class $this]
  967.     # Start constructor user section
  968.     # End constructor user section
  969.     return $this
  970. }
  971.  
  972. method VACDBQualLinkAttr::destructor {this} {
  973.     # Start destructor user section
  974.     # End destructor user section
  975.     $this GenAssocAttr::destructor
  976. }
  977.  
  978. method VACDBQualLinkAttr::generate {this tgt} {
  979.         return [$this generateSub [$this ${VACDBQualLinkAttr::super}::generate $tgt]]
  980. }
  981.  
  982. # Do not delete this line -- regeneration end marker
  983.  
  984. selfPromoter OPDBQualLinkAttr {this} {
  985.     VACDBQualLinkAttr promote $this
  986. }
  987. #---------------------------------------------------------------------------
  988. #      File:           @(#)vaclinkatt.tcl    /main/titanic/1
  989. #---------------------------------------------------------------------------
  990.  
  991. # Start user added include file section
  992. # End user added include file section
  993.  
  994.  
  995. Class VACLinkAttr : [list [customizeOOPLModel OPLinkAttr VACLinkAttr] GenAssocAttr]  {
  996.     constructor
  997.     method destructor
  998.     method generate
  999. }
  1000.  
  1001. constructor VACLinkAttr {class this} {
  1002.     global VACLinkAttr::super
  1003.     set this [${VACLinkAttr::super}::constructor $class $this $name]
  1004.     set this [GenAssocAttr::constructor $class $this]
  1005.     # Start constructor user section
  1006.     # End constructor user section
  1007.     return $this
  1008. }
  1009.  
  1010. method VACLinkAttr::destructor {this} {
  1011.     # Start destructor user section
  1012.     # End destructor user section
  1013.     $this GenAssocAttr::destructor
  1014. }
  1015.  
  1016. method VACLinkAttr::generate {this tgt} {
  1017.         return [$this generateSub [$this ${VACLinkAttr::super}::generate $tgt]]
  1018. }
  1019.  
  1020. # Do not delete this line -- regeneration end marker
  1021.  
  1022. selfPromoter OPLinkAttr {this} {
  1023.     VACLinkAttr promote $this
  1024. }
  1025. #---------------------------------------------------------------------------
  1026. #      File:           @(#)vacreverse.tcl    /main/titanic/1
  1027. #---------------------------------------------------------------------------
  1028.  
  1029. # Start user added include file section
  1030. # End user added include file section
  1031.  
  1032.  
  1033. Class VACReverseLinkAttr : [list [customizeOOPLModel OPReverseLinkAttr VACReverseLinkAttr] GenAssocAttr]  {
  1034.     constructor
  1035.     method destructor
  1036.     method generate
  1037. }
  1038.  
  1039. constructor VACReverseLinkAttr {class this} {
  1040.     global VACReverseLinkAttr::super
  1041.     set this [${VACReverseLinkAttr::super}::constructor $class $this $name]
  1042.     set this [GenAssocAttr::constructor $class $this]
  1043.     # Start constructor user section
  1044.     # End constructor user section
  1045.     return $this
  1046. }
  1047.  
  1048. method VACReverseLinkAttr::destructor {this} {
  1049.     # Start destructor user section
  1050.     # End destructor user section
  1051.     $this GenAssocAttr::destructor
  1052. }
  1053.  
  1054. method VACReverseLinkAttr::generate {this tgt} {
  1055.         return [$this generateSub [$this ${VACReverseLinkAttr::super}::generate $tgt]]
  1056. }
  1057.  
  1058. # Do not delete this line -- regeneration end marker
  1059.  
  1060. selfPromoter OPReverseLinkAttr {this} {
  1061.     VACReverseLinkAttr promote $this
  1062. }
  1063. #---------------------------------------------------------------------------
  1064. #      File:           @(#)vacclassen.tcl    /main/titanic/2
  1065. #---------------------------------------------------------------------------
  1066.  
  1067. # Start user added include file section
  1068. # End user added include file section
  1069.  
  1070.  
  1071. Class VACClassEnum : [list [customizeOOPLModel OPClassEnum VACClassEnum] VACCls]  {
  1072.     constructor
  1073.     method destructor
  1074.     method vaGenerate
  1075.     method generate
  1076. }
  1077.  
  1078. constructor VACClassEnum {class this} {
  1079.     global VACClassEnum::super
  1080.     set this [${VACClassEnum::super}::constructor $class $this $name]
  1081.     set this [VACCls::constructor $class $this]
  1082.     # Start constructor user section
  1083.     # End constructor user section
  1084.     return $this
  1085. }
  1086.  
  1087. method VACClassEnum::destructor {this} {
  1088.     # Start destructor user section
  1089.     # End destructor user section
  1090.     $this VACCls::destructor
  1091. }
  1092.  
  1093. method VACClassEnum::vaGenerate {this tgl} {
  1094.         set cl [VACPPEnums new]
  1095.     $this vaGenerateSub $cl
  1096.  
  1097.         foreach enum [$this dataAttrSet] {
  1098.         set temp [VAEnum new]
  1099.         $temp name [$enum getName]
  1100.         $temp value [$enum getInitialValue]
  1101.         $cl addEnum $temp
  1102.         }
  1103.  
  1104.         $tgl setEnum [$cl name] $cl
  1105. }
  1106.  
  1107. method VACClassEnum::generate {this res} {
  1108.         $this target [$this ${VACClassEnum::super}::generate $res]
  1109.         return [$this target]
  1110. }
  1111.  
  1112. # Do not delete this line -- regeneration end marker
  1113.  
  1114. selfPromoter OPClassEnum {this} {
  1115.     VACClassEnum promote $this
  1116. }
  1117. #---------------------------------------------------------------------------
  1118. #      File:           @(#)vacdatabas.tcl    /main/titanic/1
  1119. #---------------------------------------------------------------------------
  1120.  
  1121. # Start user added include file section
  1122. # End user added include file section
  1123.  
  1124.  
  1125. Class VACDatabaseClass : [list [customizeOOPLModel OPDatabaseClass VACDatabaseClass] VACSClass]  {
  1126.     constructor
  1127.     method destructor
  1128.     method generate
  1129. }
  1130.  
  1131. constructor VACDatabaseClass {class this} {
  1132.     global VACDatabaseClass::super
  1133.     set this [${VACDatabaseClass::super}::constructor $class $this $name]
  1134.     set this [VACSClass::constructor $class $this]
  1135.     # Start constructor user section
  1136.     # End constructor user section
  1137.     return $this
  1138. }
  1139.  
  1140. method VACDatabaseClass::destructor {this} {
  1141.     # Start destructor user section
  1142.     # End destructor user section
  1143.     $this VACSClass::destructor
  1144. }
  1145.  
  1146. method VACDatabaseClass::generate {this res} {
  1147.         $this target [$this ${VACDatabaseClass::super}::generate $res]
  1148.         return [$this target]
  1149. }
  1150.  
  1151. # Do not delete this line -- regeneration end marker
  1152.  
  1153. selfPromoter OPDatabaseClass {this} {
  1154.     VACDatabaseClass promote $this
  1155. }
  1156.