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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)copydefobj.tcl    /main/titanic/3
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)copydefobj.tcl    /main/titanic/3   9 Sep 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. require "copydefdia.tcl"
  13. # End user added include file section
  14.  
  15. require "custdefsob.tcl"
  16.  
  17. Class CopyDefObject : {CustDefsObject} {
  18.     constructor
  19.     method destructor
  20.     method infoList
  21.         method open
  22.     method writeObject
  23.         method updateView
  24.         attribute type
  25.         attribute level
  26.         attribute gdrName
  27.         attribute description
  28. }
  29.  
  30. constructor CopyDefObject {class this name specification} {
  31.     set this [CustDefsObject::constructor $class $this $name $specification]
  32.     # Start constructor user section
  33.         $this id $this
  34.         $this conversionSet "COPYSPEC id"
  35.         set smallIcon "[$this type]_16"
  36.         set largeIcon "[$this type]_32"
  37.     set bitmapDir [path_name concat [m4_var get M4_home] bitmaps]
  38.     if { ![file exists [path_name concat $bitmapDir "$smallIcon$BITMAP_EXT"]] } {
  39.     set smallIcon folder_16
  40.     }
  41.     if { ![file exists [path_name concat $bitmapDir "$largeIcon$BITMAP_EXT"]] } {
  42.     set largeIcon folder_32
  43.     }
  44.     $this smallIcon $smallIcon
  45.     $this largeIcon $largeIcon
  46.     # End constructor user section
  47.     return $this
  48. }
  49.  
  50. method CopyDefObject::destructor {this} {
  51.     # Start destructor user section
  52.     # End destructor user section
  53.     $this CustDefsObject::destructor
  54.     # if editor is still running notify it
  55.     if [isCommand .main] {
  56.         [[.main editorArea] typeToGdr] unset [$this type]
  57.     }
  58. }
  59.  
  60. method CopyDefObject::infoList {this} {
  61.     return [list {File Type} [$this type] \
  62.         {Group Definition Rules} [$this gdrName] \
  63.         {Specification Level} [$this level] \
  64.         Description [$this description]]
  65. }
  66.  
  67. method CopyDefObject::open {this} {
  68.     if { ![$this editable] } {
  69.     return
  70.     }
  71.  
  72.     .main busy TRUE
  73.     set definer [[.main editorArea] copyDefiner]
  74.     if [catch { $definer load $this }] {
  75.     set definer [CopyDefDialog new .main.copyDefiner]
  76.     [.main editorArea] copyDefiner $definer
  77.     $definer load $this
  78.     }
  79.  
  80.     .main busy FALSE
  81. }
  82.  
  83. method CopyDefObject::writeObject {this fid} {
  84.     set type [$this type]
  85.     if { $type == "default" } {
  86.     set type "*"
  87.     }
  88.  
  89.     puts $fid "$type\t| [$this gdrName]"
  90. }
  91.  
  92. method CopyDefObject::updateView {this} {
  93.     $this label [$this type]
  94.     set details [$this gdrName]
  95.     lappend details [$this level]
  96.     lappend details [$this description]
  97.     $this details $details
  98. }
  99.  
  100. # Do not delete this line -- regeneration end marker
  101.  
  102.