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

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