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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cadre Technologies Inc.    1996
  4. #
  5. #      File:        %W%
  6. #      Author:        edri
  7. #      Description:    Instantiation of the Repository Tool and its views.
  8. #---------------------------------------------------------------------------
  9. # SccsId = %W% %G% Copyright 1996 Cadre Technologies Inc.
  10.  
  11. OtkRegister::extGui
  12.  
  13. source [m4_path_name tcl libocl.tcl]
  14.  
  15. require platform.tcl
  16. require procs.tcl
  17. require systemutil.tcl
  18. require messagehdl.tcl
  19. require options.tcl
  20.  
  21. # Options common to tool and views.
  22. #
  23. set reptoolOptions(-caller)      {caller arg "" "caller of this tool"}
  24. set reptoolOptions(-levelPath)      {levelPath arg "" "level path to use"}
  25. set reptoolOptions(-levelPathIds) {levelPathIds arg "" "level path ids to use"}
  26.  
  27. if [catch {Options::parse reptool reptoolOptions argv} argError] {
  28.     puts stderr $argError
  29.     exit 1
  30. }
  31.  
  32. if [lempty $argv] {
  33.     # Main tool should be started.
  34.     #
  35.     require reptool.tcl
  36.  
  37.     # Don't need client context in main tool, but save it for views.
  38.     #
  39.     set levelPath [m4_var get M4_levelpath]
  40.     m4_var set M4_levelpath ""
  41.  
  42.     set levelPathIds [m4_var get M4_levelpath_ids]
  43.     m4_var set M4_levelpath_ids ""
  44.  
  45.     set repTool RepTool
  46.     sourceOptional u_reptool
  47.  
  48.     RepTool new .main \
  49.         -caller $caller \
  50.         -levelPath $levelPath \
  51.         -levelPathIds $levelPathIds
  52.  
  53. } else {
  54.     # The view specified by $argv should be started.
  55.     # Allow unique abbreviations of the Tcl file name.
  56.     #
  57.     set tool [lindex $argv 0]
  58.     switch -glob -- $tool {
  59.     co*    { set tool corpmanvie.tcl }
  60.         u*    { set tool userenvvie.tcl }
  61.         lo*    { set tool lockmanvie.tcl }
  62.         cs*    { set tool csconfigvi.tcl }
  63.     }
  64.     require $tool
  65.  
  66.     # Call this here now, so that otk does not get the error (and then
  67.     # refuses to start up).
  68.     #
  69.     catch {ClientContext::global} contextError
  70.  
  71.     # Read level path from environment if not yet set.
  72.     #
  73.     if {$levelPath == "" && [m4_var get M4_levelpath] != ""} {
  74.         set levelPath [m4_var get M4_levelpath]
  75.     }
  76.     if {$levelPathIds == "" && [m4_var get M4_levelpath_ids] != ""} {
  77.         set levelPathIds [m4_var get M4_levelpath_ids]
  78.     }
  79.  
  80.     # Sourced view file defines a static proc repToolClass which returns the
  81.     # class name of the view.
  82.     #
  83.     set repTool [[info commands *::repToolClass]]
  84.     sourceOptional u_reptool
  85.  
  86.     $repTool new .main \
  87.         -caller $caller \
  88.         -levelPath $levelPath \
  89.         -levelPathIds $levelPathIds \
  90.         -contextError $contextError
  91. }
  92.  
  93. .main popUp
  94. .main ready
  95.