home *** CD-ROM | disk | FTP | other *** search
/ PC World 1997 November / PCWorld_1997-11_cd.bin / software / programy / komix / DATA.Z / openlocobj.tcl < prev    next >
Text File  |  1996-05-29  |  3KB  |  99 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cadre Technologies Inc.    1996
  4. #
  5. #      File:           @(#)openlocobj.tcl    1.4
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)openlocobj.tcl    1.4   15 Feb 1996 Copyright 1996 Cadre Technologies Inc.
  10.  
  11. # Start user added include file section
  12. require "openlocdia.tcl"
  13. # End user added include file section
  14.  
  15. require "locobject.tcl"
  16.  
  17. Class OpenLocObject : {LocObject} {
  18.     constructor
  19.     method destructor
  20.     method updateView
  21.     method infoList
  22.     method writeObject
  23.     method open
  24.     attribute itemType
  25. }
  26.  
  27. constructor OpenLocObject {class this name specification} {
  28.     set this [LocObject::constructor $class $this $name $specification]
  29.     # Start constructor user section
  30.     $this conversionSet "OPENSTGLOC id"
  31.     $this smallIcon folder_16
  32.     $this largeIcon folder_32
  33.     $this id $this
  34.     # End constructor user section
  35.     return $this
  36. }
  37.  
  38. method OpenLocObject::destructor {this} {
  39.     # Start destructor user section
  40.     # End destructor user section
  41.     $this LocObject::destructor
  42. }
  43.  
  44. method OpenLocObject::updateView {this} {
  45.     if [$this editable] {
  46.         set level "[$this specLevel] *"
  47.     } else {
  48.         set level [$this specLevel]
  49.     }
  50.  
  51.     $this label [$this name]
  52.     $this details  "\"[$this type]\"
  53.             \"$level\"
  54.             \"[$this itemType]\"
  55.             \"[$this phase]\"
  56.             \"[$this fileType]\"
  57.             \"[$this componentType]\"
  58.             \"[$this labelType]\"
  59.             \"[$this condition]\""
  60. }
  61.  
  62. method OpenLocObject::infoList {this} {
  63.     return "Name \{[$this name]\} \
  64.         Type [$this type] \
  65.         {Specification Level} [$this specLevel] \
  66.         {Item Type} \{[$this itemType]\} \
  67.         Phase \{[$this phase]\} \
  68.         {Diagram Type} \{[$this fileType]\} \
  69.         {Component Type} \{[$this componentType]\} \
  70.         {Label Type} \{[$this labelType]\} \
  71.         Condition \{[$this condition]\}"
  72. }
  73.  
  74. method OpenLocObject::writeObject {this fid} {
  75.     set formatString "%-25s | %-5s | %-12s | %-3s | %-15s | %-10s | %s"
  76.     puts $fid [format $formatString [$this name] \
  77.         [$this itemType] [$this phase] [$this fileType] \
  78.         [$this componentType] [$this labelType] [$this condition]]
  79. }
  80.  
  81. method OpenLocObject::open {this} {
  82.     if {![$this editable]} {
  83.         return
  84.     }
  85.  
  86.     .main busy TRUE
  87.     set definer [[.main editorArea] usageDefiner]
  88.     if {[catch {$definer load $this}]} {
  89.         set definer [OpenLocDialog new .main.usageDefiner]
  90.         [.main editorArea] usageDefiner $definer
  91.         $definer editorArea [.main editorArea]
  92.         $definer load $this
  93.     }
  94.     .main busy FALSE
  95. }
  96.  
  97. # Do not delete this line -- regeneration end marker
  98.  
  99.