home *** CD-ROM | disk | FTP | other *** search
/ PC World 1997 November / PCWorld_1997-11_cd.bin / software / programy / komix / DATA.Z / forteimpor.tcl < prev    next >
Text File  |  1997-03-27  |  2KB  |  75 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)forteimpor.tcl    /main/hindenburg/3
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)forteimpor.tcl    /main/hindenburg/3   27 Mar 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12.  
  13. require "fortegen.tcl"
  14. require "forteoopl.tcl"
  15. require "fortetgt.tcl"
  16. require "forte_msg.tcl"
  17.  
  18. # End user added include file section
  19.  
  20. require "importer.tcl"
  21.  
  22. Class ForteImporter : {Importer} {
  23.     constructor
  24.     method destructor
  25.     method generateOopl
  26.     method getOoplFileTypesToGenerateFor
  27. }
  28.  
  29. constructor ForteImporter {class this} {
  30.     set this [Importer::constructor $class $this]
  31.     # Start constructor user section
  32.     # End constructor user section
  33.     return $this
  34. }
  35.  
  36. method ForteImporter::destructor {this} {
  37.     # Start destructor user section
  38.     # End destructor user section
  39.     $this Importer::destructor
  40. }
  41.  
  42. method ForteImporter::generateOopl {this classes} {
  43.     set fileHandler [FTFileHandler new]
  44.     $fileHandler sourceTclFiles
  45.  
  46.     set selectedClasses [List new]
  47.     foreach class $classes {
  48.     if [$class isExternal] {
  49.         continue
  50.     }
  51.  
  52.     if {[$class getName] == ""} {
  53.         m4_warning $W_CLASS_WITHOUT_NAME
  54.     } else {
  55.         $selectedClasses append $class
  56.     }
  57.     }
  58.  
  59.     set generator [FTGenerator new]
  60.     set generatedSections [$generator generate $selectedClasses]
  61.     $generatedSections foreach class classToSection {
  62.     $classToSection foreach type section {
  63.         $fileHandler writeSectionToFile $section $class $type
  64.     }
  65.     }
  66. }
  67.  
  68. method ForteImporter::getOoplFileTypesToGenerateFor {this} {
  69.     set fileHandler [FTFileHandler new]
  70.     return [[$fileHandler getFileTypes] contents]
  71. }
  72.  
  73. # Do not delete this line -- regeneration end marker
  74.  
  75.