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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)mtrxvdbobj.tcl    /main/titanic/9
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)mtrxvdbobj.tcl    /main/titanic/9   16 Oct 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14. require "filevobj.tcl"
  15.  
  16. Class MtrxVDbObj : {Matrix FileVObj} {
  17.     method destructor
  18.     constructor
  19.     method promoter
  20.     method browserObjType
  21.     method canBeDragged
  22.     method editFile
  23.     method showFile
  24.     method esFile
  25. }
  26.  
  27. method MtrxVDbObj::destructor {this} {
  28.     # Start destructor user section
  29.     # End destructor user section
  30.     $this FileVObj::destructor
  31. }
  32.  
  33. constructor MtrxVDbObj {class this name} {
  34.     set this [Matrix::constructor $class $this $name]
  35.     set this [FileVObj::constructor $class $this $name]
  36.     return $this
  37. }
  38.  
  39. selfPromoter Matrix {this} {
  40.     MtrxVDbObj promote $this
  41. }
  42.  
  43. method MtrxVDbObj::promoter {this} {
  44.     $this FileVObj::promoter
  45.     module_promoter MtrxVDbObj $this
  46. }
  47.  
  48. proc MtrxVDbObj::associations {} {
  49.     return "[FileVObj::associations]"
  50. }
  51.  
  52. method MtrxVDbObj::browserObjType {this} {
  53.     return "MtrxVDbObj"
  54. }
  55.  
  56. method MtrxVDbObj::canBeDragged {this} {
  57.     if {"[$this getInfo Type]" == "dsm"} {
  58.     return 0
  59.     }
  60.     return [$this FileVObj::canBeDragged]
  61. }
  62.  
  63. proc MtrxVDbObj::childTypes {assoc} {
  64.     if {[lsearch -exact "[MtrxVDbObj::associations]" "$assoc"] == -1} {
  65.     return ""
  66.     }
  67.     return "[BrowserProcs::childTypes $assoc]"
  68. }
  69.  
  70. proc MtrxVDbObj::controlledLists {} {
  71.     return "[FileVObj::controlledLists]"
  72. }
  73.  
  74. proc MtrxVDbObj::infoProperties {} {
  75.     return "[FileVObj::infoProperties]"
  76. }
  77.  
  78. method MtrxVDbObj::editFile {this {levelPath ""}} {
  79.     $this esFile $levelPath
  80. }
  81.  
  82. method MtrxVDbObj::showFile {this {levelPath ""}} {
  83.     $this esFile $levelPath ro
  84. }
  85.  
  86. method MtrxVDbObj::esFile {this levelPath {ro ""}} {
  87.     busy {
  88.     set es edit
  89.     set editable 1
  90.     if [string length $ro] {
  91.         set es show
  92.         set editable 0
  93.     }
  94.     set file [$this file]
  95.     case "[$file type]" in {
  96.         {dsm} {
  97.         # default no action possible, try modules
  98.         module_proc MtrxVDbObj::${es}File $this
  99.         }
  100.         {cdm} {
  101.         require "opencdmdlg.tcl"
  102.         set box .main.openCdm
  103.         OpenCdmDlg new $box \
  104.             -editable $editable \
  105.             -levelPath [LevelPath new $levelPath] \
  106.             -cdm $this
  107.         set popUpState [$box popUp]
  108.         if {! [lindex $popUpState 0]} {
  109.             $box delete
  110.             set message [lindex $popUpState 1]
  111.             if {"$message" != ""} {
  112.             wmtkerror $message
  113.             }
  114.         }
  115.         }
  116.         {default} {
  117.         set obj "[$file qualifiedName :].[$file type]"
  118.         wmtkerror "Don't know how to $es '$obj'"
  119.         }
  120.     }
  121.     }
  122. }
  123.  
  124. # Do not delete this line -- regeneration end marker
  125.  
  126.