home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / wd97mstrco.tcl < prev    next >
Text File  |  1997-11-21  |  6KB  |  226 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)wd97mstrco.tcl    /main/titanic/3
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)wd97mstrco.tcl    /main/titanic/3   21 Nov 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14.  
  15. Class Wd97MstrConGen : {Object} {
  16.     constructor
  17.     method destructor
  18.     method generate
  19.     method section
  20.     attribute _section
  21. }
  22.  
  23. constructor Wd97MstrConGen {class this name section} {
  24.     set this [Object::constructor $class $this $name]
  25.     $this _section $section
  26.     $section _contentsGenerator $this
  27.     # Start constructor user section
  28.     # End constructor user section
  29.     return $this
  30. }
  31.  
  32. method Wd97MstrConGen::destructor {this} {
  33.     set ref [$this _section]
  34.     if {$ref != ""} {
  35.         $ref _contentsGenerator ""
  36.     }
  37.     # Start destructor user section
  38.     # End destructor user section
  39. }
  40.  
  41. method Wd97MstrConGen::generate {this} {
  42.     set sect [$this _section]
  43.     set name [$sect uiName]
  44.     set docu [$sect document]
  45.  
  46.     if [catch {
  47.         set app [[[docTool document] editor] app]
  48.         # for 'live' generation
  49.         #$app property Visible 1
  50.         set docs [$app property Documents]
  51.         set dest [[$this section] docLocation]
  52.         # open file
  53.         set d [$docs Open $dest]
  54.         # set in Master Document View
  55.         set activeWindow [$d property ActiveWindow]
  56.         set view [$activeWindow property View]
  57.         $view property Type 5
  58.         # expand sub documents
  59.         set subDocs [$d property SubDocuments]
  60.         $subDocs property Expanded 1.0
  61.         # delete current contents
  62.         set cnt [$d property Content]
  63.         $cnt Select
  64.         $cnt Delete
  65.  
  66.         $cnt InsertAfter [$docu title]
  67.         $cnt property Style "Title Cover"
  68.         $cnt InsertParagraphAfter
  69.         $cnt Collapse 0
  70.  
  71.         set tables [$d property Tables]
  72.         set tbl1 [$tables Add $cnt 2 2]
  73.  
  74.         set c11 [$tbl1 Cell 1 1]
  75.         set c11Cnt [$c11 property Range]
  76.         $c11Cnt InsertAfter "Project:"
  77.         $c11 property Width 3.0
  78.  
  79.         set c12 [$tbl1 Cell 1 2]
  80.         set c12Cnt [$c12 property Range]
  81.         $c12Cnt InsertAfter [[$docu project] name]
  82.         $c12 property Width 3.0
  83.  
  84.         set c21 [$tbl1 Cell 2 1]
  85.         set c21Cnt [$c21 property Range]
  86.         $c21Cnt InsertAfter "Documented System:"
  87.         $c21 property Width 3.0
  88.  
  89.         set c22 [$tbl1 Cell 2 2]
  90.         set c22Cnt [$c22 property Range]
  91.         $c22Cnt InsertAfter [[[$docu documentedSystem] system] name]
  92.         $c22 property Width 3.0
  93.  
  94.         set tblRange1 [$tbl1 property Range]
  95.         $tblRange1 property Style "Subtitle Cover"
  96.         $tblRange1 InsertParagraphAfter
  97.         $tblRange1 Collapse 0
  98.         $tblRange1 InsertParagraphAfter
  99.         $tblRange1 Collapse 0
  100.  
  101.         set tbl2 [$tables Add $tblRange1 7 2]
  102.  
  103.         set c11 [$tbl2 Cell 1 1]
  104.         set c11Cnt [$c11 property Range]
  105.         $c11Cnt InsertAfter "Title:"
  106.         $c11 property Width 1.5
  107.  
  108.         set c12 [$tbl2 Cell 1 2]
  109.         set c12Cnt [$c12 property Range]
  110.         $c12Cnt InsertAfter [$docu title]
  111.         $c12 property Width 1.5
  112.  
  113.         set c21 [$tbl2 Cell 2 1]
  114.         set c21Cnt [$c21 property Range]
  115.         $c21Cnt InsertAfter "Subject:"
  116.         $c21 property Width 1.5
  117.  
  118.         set c22 [$tbl2 Cell 2 2]
  119.         set c22Cnt [$c22 property Range]
  120.         $c22Cnt InsertAfter [$docu subject]
  121.         $c22 property Width 1.5
  122.  
  123.         set c31 [$tbl2 Cell 3 1]
  124.         set c31Cnt [$c31 property Range]
  125.         $c31Cnt InsertAfter "Reference:"
  126.         $c31 property Width 1.5
  127.  
  128.         set c32 [$tbl2 Cell 3 2]
  129.         set c32Cnt [$c32 property Range]
  130.         $c32Cnt InsertAfter [$docu reference]
  131.         $c32 property Width 1.5
  132.  
  133.         set c41 [$tbl2 Cell 4 1]
  134.         set c41Cnt [$c41 property Range]
  135.         $c41Cnt InsertAfter "Keywords:"
  136.         $c41 property Width 1.5
  137.  
  138.         set c42 [$tbl2 Cell 4 2]
  139.         set c42Cnt [$c42 property Range]
  140.         $c42Cnt InsertAfter [$docu keywords]
  141.         $c42 property Width 1.5
  142.  
  143.         set c51 [$tbl2 Cell 5 1]
  144.         set c51Cnt [$c51 property Range]
  145.         $c51Cnt InsertAfter "Authors:"
  146.         $c51 property Width 1.5
  147.  
  148.         set c52 [$tbl2 Cell 5 2]
  149.         set c52Cnt [$c52 property Range]
  150.         $c52Cnt InsertAfter [$docu authors]
  151.         $c52 property Width 1.5
  152.  
  153.         set c61 [$tbl2 Cell 6 1]
  154.         set c61Cnt [$c61 property Range]
  155.         $c61Cnt InsertAfter "Status:"
  156.         $c61 property Width 1.5
  157.  
  158.         set c62 [$tbl2 Cell 6 2]
  159.         set c62Cnt [$c62 property Range]
  160.         $c62Cnt InsertAfter [$docu docStatus]
  161.         $c62 property Width 1.5
  162.  
  163.         set c71 [$tbl2 Cell 7 1]
  164.         set c71Cnt [$c71 property Range]
  165.         $c71Cnt InsertAfter "Date:"
  166.         $c71 property Width 1.5
  167.  
  168.         set c72 [$tbl2 Cell 7 2]
  169.         set c72Cnt [$c72 property Range]
  170.         $c72Cnt InsertAfter [$docu date]
  171.         $c72 property Width 1.5
  172.  
  173.         set tblRange2 [$tbl2 property Range]
  174.         $tblRange2 property Style "Title Attributes"
  175.         $tblRange2 Collapse 0
  176.         set cnt $tblRange2
  177.         $cnt InsertBreak
  178.  
  179.         $cnt Collapse 0
  180.         $cnt property Style $OTStyles(OTBodyText)
  181.         set tocs [$d property TablesOfContents]
  182.         set toc [$tocs Add $cnt]
  183.  
  184.         set cntToc [$toc property Range]
  185.         $cntToc Collapse 0
  186.         #$cntToc InsertBreak
  187.  
  188.         set subDocs [$d property SubDocuments]
  189.         $subDocs property Expanded 1.0
  190.         foreach sect [[$this section] getTree] {
  191.             if {[$sect indentation] > 1} {
  192.                 continue
  193.             }
  194.             set cnt [$d Range]
  195.             $cnt Collapse 0
  196.             $cnt Select
  197.             $subDocs AddFromFile [$sect docLocation]
  198.             $d Save
  199.         }
  200.         set cnt [$d Range]
  201.         $cnt Collapse 0
  202.         $cnt InsertParagraphAfter
  203.         $d Close -1
  204.     } msg] {
  205.         wmtkerror "Word Automation Error: $msg"
  206.     }
  207. }
  208.  
  209. # Do not delete this line -- regeneration end marker
  210.  
  211. method Wd97MstrConGen::section {this args} {
  212.     if {$args == ""} {
  213.         return [$this _section]
  214.     }
  215.     set ref [$this _section]
  216.     if {$ref != ""} {
  217.         $ref _contentsGenerator ""
  218.     }
  219.     set obj [lindex $args 0]
  220.     if {$obj != ""} {
  221.         $obj _contentsGenerator $this
  222.     }
  223.     $this _section $obj
  224. }
  225.  
  226.