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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)cadeditor.tcl    /main/titanic/13
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)cadeditor.tcl    /main/titanic/13   17 Oct 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12.  
  13. require cadpanel.tcl
  14. require dropcadare.tcl
  15.  
  16. # End user added include file section
  17.  
  18. require "diagramedi.tcl"
  19.  
  20. Class CADEditor : {DiagramEditor} {
  21.     constructor
  22.     method destructor
  23.     method reinit
  24.     method checkLocalModel
  25. }
  26.  
  27. constructor CADEditor {class this name} {
  28.     set this [DiagramEditor::constructor $class $this $name]
  29.     # Start constructor user section
  30.  
  31.     $this menuHdlr [CustEdMenuHandler new {diagram cad} [$this moduleHdlr]]
  32.     [$this options] syntaxEntries {class data process}
  33.     $this title "Class Diagram Editor"
  34.     set cadPanel [CADPanel new $this.c.r.panel]
  35.     $this panel [$cadPanel symbPanel]
  36.     [$this panel] initialize cad
  37.     $this panel $cadPanel
  38.  
  39.     DropCADArea new $this.c.r.cad -panX 0 -panY 0 \
  40.               -currentSymbol Select \
  41.               -doubleClicked "$this open" \
  42.               -destinationSet "CADDRAGOBJECT drop STRING dummy"
  43.     $this.c.r.cad ed $this
  44.     $this editorArea $this.c.r.cad
  45.     [$this editorArea] setSize 600 400
  46.     [$this editorArea] possibleOperationsChanged \
  47.         "$this enDisableMenuEntries"
  48.  
  49.     $cadPanel area [$this editorArea]
  50.     $this createEdAreaPopUpMenu
  51.     $this setWindowGeometry cad
  52.  
  53.     # End constructor user section
  54.     return $this
  55. }
  56.  
  57. method CADEditor::destructor {this} {
  58.     # Start destructor user section
  59.     # End destructor user section
  60.     $this DiagramEditor::destructor
  61. }
  62.  
  63. method CADEditor::reinit {this} {
  64.     $this DiagramEditor::reinit
  65.     [$this editorArea] systemVersion [[ClientContext::global] currentSystem]
  66.     [$this editorArea] configVersion [[ClientContext::global] currentConfig]
  67.     [$this options] initLook
  68.     [$this options] initShowVisibility
  69.     set area [.main editorArea]
  70.     if {[m4_var get M4_font_bold -context ude] != [$area boldFontSpec]} {
  71.         $area boldFontSpec [m4_var get M4_font_bold -context ude]
  72.     }
  73. }
  74.  
  75. method CADEditor::checkLocalModel {this} {
  76.     set area [$this editorArea]
  77.     # Get selected components. Throw away "hidden" components.
  78.     set args ""
  79.     global hiddenCompTypes
  80.     foreach comp [$area getSelectedComponents] {
  81.         if {![info exists hiddenCompTypes([$comp type])]} {
  82.             if {[$comp type] != "cad_class" &&
  83.                 [$comp type] != "cad_container"} {
  84.                 $area releaseSelectedComponents
  85.                 $this DiagramEditor::checkLocalModel
  86.                 return
  87.             }
  88.             set nameItem [$comp nameItem]
  89.             if {$nameItem != ""} {
  90.                 append args "-S [$nameItem name].cdm "
  91.             }
  92.         }
  93.     }
  94.     $area releaseSelectedComponents
  95.  
  96.     if {$args == ""} {
  97.         set cc [ClientContext::global]
  98.         set file [[$cc currentFile] file]
  99.         append args "-S [$file name].[$file type] "
  100.     }
  101.     append args "-f check.tcl"
  102.     set script "[quoteIf [m4_path_name bin otsh$EXE_EXT]] $args"
  103.     set cmd [list $this startCommand mtool \
  104.         $script "" {Starting 'Check'} {0 0} 0]
  105.     if [[$this editorArea] isChanged] {
  106.         $this popupNotSaved $cmd
  107.     } else {
  108.         eval $cmd
  109.     }
  110. }
  111.  
  112. # Do not delete this line -- regeneration end marker
  113.  
  114.