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

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