home *** CD-ROM | disk | FTP | other *** search
/ PC World 1997 November / PCWorld_1997-11_cd.bin / software / programy / komix / DATA.Z / uce.tcl < prev    next >
Text File  |  1996-09-02  |  4KB  |  206 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Westmount Technology    1995
  4. #
  5. #      File:           @(#)uce.tcl    /main/hindenburg/4
  6. #      Description:    Instantiation of a customization file editor
  7. #---------------------------------------------------------------------------
  8. # SccsId = @(#)uce.tcl    /main/hindenburg/4   2 Sep 1996 Copyright 1994 Westmount Technology
  9.  
  10. OtkRegister::extGui
  11.  
  12. source [m4_path_name tcl libocl.tcl]
  13.  
  14. require platform.tcl
  15. require procs.tcl
  16. require messagehdl.tcl
  17.  
  18. global classCount
  19. set classCount 0
  20.  
  21. proc usage {} {
  22.     error "Usage: otk uce.tcl -- \
  23.         \[-c caller\] \
  24.         \[-r\] \
  25.         \[-fi level file editorType\] \
  26.         \[-id customFileVersionId\]"
  27. }
  28.  
  29. set argc 0
  30. set status INITIAL
  31. set type ""
  32. set readOnly 0
  33. set caller ""
  34. foreach arg $argv {
  35.     case $arg in {
  36.         {-c} {
  37.         if {$status != "INITIAL"} {
  38.             usage
  39.         }
  40.         set status CALLER
  41.         }
  42.         {-r} {
  43.         if {$status != "INITIAL"} {
  44.             usage
  45.         }
  46.         set readOnly 1
  47.         }
  48.         {-fi} {
  49.         if {$status != "INITIAL"} {
  50.             usage
  51.         }
  52.         set type "fi" 
  53.         set status FILE
  54.         }
  55.         {-id} {
  56.         if {$status != "INITIAL"} {
  57.             usage
  58.         }
  59.         set type "id"
  60.         set status ID
  61.         }
  62.         {default} {
  63.         case $status in {
  64.             {CALLER} {
  65.             set caller $arg
  66.             set status INITIAL
  67.             }
  68.             {FILE} {
  69.             set level $arg
  70.             set status FILE_1
  71.             }
  72.             {FILE_1} {
  73.             set fileName $arg
  74.             set status FILE_2
  75.             }
  76.             {FILE_2} {
  77.             set fileType $arg
  78.             set editorType $fileType
  79.             set fv $fileName.$fileType
  80.             set status END
  81.             }
  82.             {ID} {
  83.             if [catch {set fv [CustomFileVersion new $arg]}] {
  84.                 usage
  85.             }
  86.             set editorType [[$fv customFile] type]
  87.             set fileName [[$fv customFile] name]
  88.             set level ""
  89.             set status END
  90.             }
  91.             {default} {
  92.             usage
  93.             }
  94.         }
  95.         }
  96.     }
  97.     incr argc 1
  98. }
  99. if {$status != "END"} {
  100.     usage
  101. }
  102.  
  103. set iconTitle $fileName.$editorType
  104. case $editorType in {
  105.     {mnu} {
  106.         require "menueditor.tcl"
  107.         MenuEditor new .main \
  108.             -permanentReadOnly $readOnly \
  109.             -title "$fileName - Menu Customization Editor" \
  110.             -icon ctool_64 \
  111.             -iconTitle $iconTitle
  112.         case $fileName in {
  113.             {cad ccd dfd etd mgd std ucd} {
  114.                 [.main editorArea] genericCurName diagram
  115.             }
  116.             {default} {
  117.                 [.main editorArea] genericCurName ""
  118.             }
  119.         }
  120.         case $fileName in {
  121.             {cad ccd dfd etd mgd std ucd diagram} {
  122.                 [.main editorArea] toolType editor
  123.             }
  124.             {class} {
  125.                 [.main editorArea] toolType class
  126.             }
  127.         }
  128.     }
  129.     {vie} {
  130.         require "vieweditor.tcl"
  131.         ViewEditor new .main \
  132.             -permanentReadOnly $readOnly \
  133.             -title "View Customization Editor" \
  134.             -icon ctool_64 \
  135.             -iconTitle $iconTitle
  136.     }
  137.     {objtype} {
  138.         require "objtypeedi.tcl"
  139.         ObjTypeEditor new .main \
  140.             -permanentReadOnly $readOnly \
  141.             -title "Object Type Customization Editor" \
  142.             -icon ctool_64 \
  143.             -iconTitle $iconTitle
  144.     }
  145.     {opendefs} {
  146.         require "opendefedi.tcl"
  147.         OpenDefEditor new .main \
  148.             -permanentReadOnly $readOnly \
  149.             -title "Open Strategy Definition Editor" \
  150.             -icon ctool_64 \
  151.             -iconTitle $iconTitle
  152.     }
  153.     {openlocs} {
  154.         require "openlocedi.tcl"
  155.         OpenLocEditor new .main \
  156.             -permanentReadOnly $readOnly \
  157.             -title "Open Strategy Availability Editor" \
  158.             -icon ctool_64 \
  159.             -iconTitle $iconTitle
  160.     }
  161.     {propdefs} {
  162.         require "propdefedi.tcl"
  163.         PropDefEditor new .main \
  164.             -permanentReadOnly $readOnly \
  165.             -title "Property Definition Editor" \
  166.             -icon ctool_64 \
  167.             -iconTitle $iconTitle
  168.     }
  169.     {proplocs} {
  170.         require "proplocedi.tcl"
  171.         PropLocEditor new .main \
  172.             -permanentReadOnly $readOnly \
  173.             -title "Property Availability Editor" \
  174.             -icon ctool_64 \
  175.             -iconTitle $iconTitle
  176.     }
  177.     {default} {
  178.         wmtkfatal "Unknown customization file type specified"
  179.     }
  180. }
  181.  
  182. sourceOptional u_uce
  183.  
  184. global icaseLevelInt
  185. set icaseLevelInt(corporate)        0
  186. set icaseLevelInt(project)        1
  187. set icaseLevelInt(configuration)    2
  188. set icaseLevelInt(phase)        3
  189. set icaseLevelInt(system)        4
  190.  
  191. global icaseLevel
  192. set icaseLevel(0)            corporate
  193. set icaseLevel(1)            project
  194. set icaseLevel(2)            configuration
  195. set icaseLevel(3)            phase
  196. set icaseLevel(4)            system
  197.  
  198. .main setContext
  199. [.main menuHdlr] levelChanged
  200. if {"$level" != ""} {
  201.     [.main editorArea] _level $level
  202. }
  203. .main config -caller "$caller" -firstExposed ".main edit $fv"
  204. .main popUp
  205. .main ready
  206.