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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cadre Technologies Inc.    1996
  4. #
  5. #      File:           @(#)openlocobj.tcl    /main/titanic/1
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)openlocobj.tcl    /main/titanic/1   14 Mar 1997 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 [list [$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 [list 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.