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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1996
  4. #
  5. #      File:           @(#)locdialog.tcl    /main/hindenburg/2
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)locdialog.tcl    /main/hindenburg/2   16 Sep 1996 Copyright 1996 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14. require "definedial.tcl"
  15.  
  16. Class LocDialog : {DefineDialog} {
  17.     constructor
  18.     method destructor
  19.     method init
  20.     method initCompTypes
  21.     method load
  22.     method save
  23.     method clearInterface
  24.     method fromInterface
  25.     method toInterface
  26.     attribute lPage
  27.     attribute comps
  28.     attribute cadcomps
  29.     attribute ccdcomps
  30.     attribute dfdcomps
  31.     attribute etdcomps
  32.     attribute mgdcomps
  33.     attribute stdcomps
  34.     attribute ucdcomps
  35.     attribute phaseDDL
  36.     attribute fileDDL
  37.     attribute compDDL
  38.     attribute labelDDL
  39.     attribute condDDL
  40. }
  41.  
  42. constructor LocDialog {class this name} {
  43.     set this [DefineDialog::constructor $class $this $name]
  44.     # Start constructor user section
  45.     # End constructor user section
  46.     return $this
  47. }
  48.  
  49. method LocDialog::destructor {this} {
  50.     # Start destructor user section
  51.     # End destructor user section
  52.     $this DefineDialog::destructor
  53. }
  54.  
  55. method LocDialog::init {this} {
  56.  
  57.     set cadcomps {cad_class cad_container attribute method parameter
  58.               link_attrib nary_assoc generalization overlap_gen
  59.               association qualif_assoc nary_assoc_conn
  60.               aggregation qualif_aggr propagation}
  61.     set ccdcomps {ccd_class ccd_class_ref ccd_container
  62.               subject ccd_actor com_message}
  63.     set dfdcomps {data_store data_proc dfd_actor
  64.               data_flow ctrl_flow update_flow}
  65.     set etdcomps {etd_object etd_initiator etd_event}
  66.     set mgdcomps {message_def}
  67.     set stdcomps {state_action activity state start_state final_state
  68.               super_state std_class transition event_msg}
  69.     set ucdcomps {use_case ucd_actor und_com_assoc dir_com_assoc}
  70.  
  71.     $this cadcomps "{} $cadcomps"
  72.     $this ccdcomps "{} $ccdcomps"
  73.     $this dfdcomps "{} $dfdcomps"
  74.     $this etdcomps "{} $etdcomps"
  75.     $this mgdcomps "{} $mgdcomps"
  76.     $this stdcomps "{} $stdcomps"
  77.     $this ucdcomps "{} $ucdcomps"
  78.     $this comps "{} $cadcomps $ccdcomps $dfdcomps $etdcomps"
  79.     $this comps "[$this comps] $mgdcomps $stdcomps $ucdcomps"
  80.  
  81.     # read phases file
  82.     getPhases
  83.     set phaseList {{}}
  84.     foreach phase ${BrowserProcs::phases} {
  85.         set phaseType [lindex $phase 1]
  86.         lappend_unique phaseList "$phaseType"
  87.     }
  88.  
  89.     [$this phaseDDL] entrySet $phaseList
  90.     [$this fileDDL] entrySet {{} cad ccd dfd etd mgd std ucd}
  91.     [$this fileDDL] selectionChanged "$this initCompTypes"
  92.     [$this labelDDL] entrySet \
  93.         {{} name qualifier role role_start role_end action event}
  94.     [$this condDDL] entrySet {{} KEY NO_KEY INITIATOR}
  95. }
  96.  
  97. method LocDialog::initCompTypes {this} {
  98.  
  99.     set comps [$this [[$this fileDDL] selected]comps]
  100.     [$this compDDL] entrySet $comps
  101.     [$this compDDL] selected [lindex $comps 0]
  102. }
  103.  
  104. method LocDialog::load {this object} {
  105.  
  106.     $this clearInterface
  107.     $this curObject $object
  108.     $this objName [$object name]
  109.     $this toInterface
  110.     $this popUp
  111. }
  112.  
  113. method LocDialog::save {this popDown} {
  114.  
  115.     $this fromInterface
  116.     [$this curObject] name [$this objName]
  117.     [$this curObject] updateView
  118.     [.main editorArea] isChanged 1
  119.     if {$popDown == 1} {
  120.         $this popDown
  121.     }
  122.     return 1
  123. }
  124.  
  125. method LocDialog::clearInterface {this} {
  126.  
  127.     [$this phaseDDL] selected [lindex [[$this phaseDDL] entrySet] 0]
  128.     [$this fileDDL] selected [lindex [[$this fileDDL] entrySet] 0]
  129.     [$this labelDDL] selected [lindex [[$this labelDDL] entrySet] 0]
  130.     [$this condDDL] selected [lindex [[$this condDDL] entrySet] 0]
  131. }
  132.  
  133. method LocDialog::fromInterface {this} {
  134.  
  135.     [$this curObject] phase [[$this phaseDDL] selected]
  136.     [$this curObject] fileType [[$this fileDDL] selected]
  137.     [$this curObject] componentType [[$this compDDL] selected]
  138.     [$this curObject] labelType [[$this labelDDL] selected]
  139.     [$this curObject] condition [[$this condDDL] selected]
  140. }
  141.  
  142. method LocDialog::toInterface {this} {
  143.  
  144.     [$this phaseDDL] selected [[$this curObject] phase]
  145.     [$this fileDDL] selected [[$this curObject] fileType]
  146.     [$this compDDL] selected [[$this curObject] componentType]
  147.     [$this labelDDL] selected [[$this curObject] labelType]
  148.     [$this condDDL] selected [[$this curObject] condition]
  149. }
  150.  
  151. # Do not delete this line -- regeneration end marker
  152.  
  153.