home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / diagramsec.tcl < prev    next >
Text File  |  1997-10-14  |  3KB  |  104 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1996
  4. #
  5. #      File:           @(#)diagramsec.tcl    /main/titanic/4
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)diagramsec.tcl    /main/titanic/4   14 Oct 1997 Copyright 1996 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14. require_module_file "filerefsec.tcl" docwriter
  15.  
  16. Class DiagramSection : {FileRefSection} {
  17.     constructor
  18.     method destructor
  19.     method promoter
  20.     method print
  21.     method preview
  22.     method updateDocDir
  23.     method docType
  24. }
  25.  
  26. constructor DiagramSection {class this name document} {
  27.     set this [FileRefSection::constructor $class $this $name $document]
  28.     # Start constructor user section
  29.     # End constructor user section
  30.     return $this
  31. }
  32.  
  33. method DiagramSection::destructor {this} {
  34.     # Start destructor user section
  35.     # End destructor user section
  36.     $this FileRefSection::destructor
  37. }
  38.  
  39. method DiagramSection::promoter {this} {
  40.     $this operationClass import
  41. }
  42.  
  43. method DiagramSection::print {this} {
  44.  
  45.     # print the converted one
  46.     set cmd [list \
  47.         "[m4_var get M4_ps_printer] [$this docLocation]" \
  48.         [$this uiName] \
  49.     ]
  50.     $this execute "$cmd"
  51. }
  52.  
  53. method DiagramSection::preview {this} {
  54.  
  55.     # preview the converted one
  56.     set cmd [list \
  57.         "previewer [$this docType]Section" \
  58.         [$this docLocation] \
  59.         [$this uiName] \
  60.     ]
  61.     $this execute "$cmd" m4
  62. }
  63.  
  64. method DiagramSection::updateDocDir {this} {
  65.  
  66.     set fileV [$this referredFileVersion]
  67.     if [$fileV isNil] {
  68.         return 1
  69.     }
  70.  
  71.     # start Print::exportDiagram for this section and put the output
  72.     # file in docLocation (in [$this docType] format)
  73.     set fid [open [$this docLocation] w]
  74.     close $fid
  75.     set confV [[$this document] configVersion]
  76.     set sysV [[$this referredSystem] selectedVersion $confV]
  77.  
  78.     require "print.tcl"
  79.     if [catch {Print::exportDiagram \
  80.             -file [$this docLocation] \
  81.             -type [string toupper [$this docType]] \
  82.             -configVersion $confV \
  83.             -systemVersion $sysV \
  84.             -orientation portrait \
  85.             -autoScale 1 \
  86.             -pageWidth 6.0625\
  87.             -pageHeight 7.0625\
  88.             $fileV} reason] {
  89.         wmtkerror "Export diagram failed: $reason"
  90.         return 0
  91.     }
  92.  
  93.     return 1
  94. }
  95.  
  96. method DiagramSection::docType {this} {
  97.  
  98.     # the type of this section in the document directory is Epsi
  99.     return Epsi
  100. }
  101.  
  102. # Do not delete this line -- regeneration end marker
  103.  
  104.