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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)mtfilemenu.tcl    /main/titanic/11
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)mtfilemenu.tcl    /main/titanic/11   12 Sep 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14.  
  15. Class MTFileMenuProcs : {Object} {
  16.     constructor
  17.     method destructor
  18. }
  19.  
  20. constructor MTFileMenuProcs {class this name} {
  21.     set this [Object::constructor $class $this $name]
  22.     # Start constructor user section
  23.     # End constructor user section
  24.     return $this
  25. }
  26.  
  27. method MTFileMenuProcs::destructor {this} {
  28.     # Start destructor user section
  29.     # End destructor user section
  30. }
  31.  
  32. proc MTFileMenuProcs::reload {} {
  33.  
  34.     busy {
  35.         wmtkmessage "Reloading ..."
  36.         # save current object info
  37.         set cur ""
  38.         if {[.main currentObj] != ""} {
  39.             set cur [[[.main currentObj] repObj] fromRepObj]
  40.         }
  41.         
  42.         foreach elm [[.main navigView] rootSet] {
  43.             $elm delete
  44.         }
  45.         foreach elm [[.main infoView] objectSet] {
  46.             $elm delete
  47.         }
  48.         .main start
  49.  
  50.         set parent [[.main navigView] rootSet]
  51.         if {$parent != "" && $cur != ""} {
  52.             foreach elm [MTFileMenuProcs::getChildren $parent] {
  53.                 set obj [[$elm repObj] fromRepObj]
  54.                 if {$obj == $cur} {
  55.                     $elm open
  56.                     break;
  57.                 }
  58.             }
  59.         }
  60.         wmtkmessage "Done"
  61.     }
  62. }
  63.  
  64. proc MTFileMenuProcs::getChildren {parent} {
  65.  
  66.     set children [$parent childSet]
  67.     if {$children == ""} {
  68.         return ""
  69.     }
  70.     foreach child $children {
  71.         set children "$children [MTFileMenuProcs::getChildren $child]"
  72.     }
  73.     return $children
  74. }
  75.  
  76. proc MTFileMenuProcs::openSource {} {
  77.  
  78.     set obj [[lindex [.main selectedMergeObjSet] 0] fromRepObj]
  79.  
  80.     if {[$obj isA GraphVDbObj] || [$obj isA MtrxVDbObj]} {
  81.         $obj showFile [.main fromCurContext]
  82.     } else {
  83.         $obj showFile
  84.     }
  85. }
  86.  
  87. proc MTFileMenuProcs::openTarget {} {
  88.  
  89.     set obj [[lindex [.main selectedMergeObjSet] 0] toRepObj]
  90.  
  91.     if {[$obj status] == "working"} {
  92.         set action editFile
  93.     } else {
  94.         set action showFile
  95.     }
  96.  
  97.     if {[$obj isA GraphVDbObj] || [$obj isA MtrxVDbObj]} {
  98.         $obj $action [.main toCurContext]
  99.     } else {
  100.         $obj $action
  101.     }
  102. }
  103.  
  104. proc MTFileMenuProcs::showInfo {} {
  105.  
  106.     set selObj [lindex [.main selectedMergeObjSet] 0]
  107.     set fromObj [$selObj fromRepObj]
  108.     set toObj [$selObj toRepObj]
  109.  
  110.     # collect the info to be shown.
  111.     set info [$selObj getInfo]
  112.  
  113.     if {$info == ""} {
  114.         wmtkinfo "No info available."
  115.         return
  116.     }
  117.  
  118.     global classCount
  119.     set box .main.showObjectInfo$classCount
  120.     incr classCount
  121.     interface TemplateDialog $box {
  122.         title "Information"
  123.         DlgColumn col {}
  124.         okPressed {%this delete}
  125.     }
  126.     $box modal $win95
  127.     $box delCancelButton
  128.     $box delHelpButton
  129.  
  130.     set len [llength $info]
  131.     for {set i 0} {$i < $len} {incr i 2} {
  132.         DlgRow new $box.col.row$i \
  133.             -spaceType NONE \
  134.             -justification RIGHT
  135.         Label new $box.col.row$i.header \
  136.             -text "[lindex $info $i]:" \
  137.             -alignment RIGHT \
  138.             -horStretchFactor 10 \
  139.             -justification TOP \
  140.             -font "courier-bold-12"
  141.         DlgColumn new $box.col.row$i.col
  142.         set breakUpCnt 0
  143.         set lineInfo [lindex $info [expr $i+1]]
  144.         foreach line [split $lineInfo "\n"] {
  145.             foreach part [lineBreak $line 49 " "] {
  146.                 set text [format "%-49s" $part]
  147.                 Label new $box.col.row$i.col.label$breakUpCnt \
  148.                     -text $text \
  149.                     -font "courier-normal-12"
  150.                 incr breakUpCnt
  151.             }
  152.         }
  153.     }
  154.         
  155.     $box popUp
  156. }
  157.  
  158. proc MTFileMenuProcs::exitBrowser {} {
  159.  
  160.     if {! [.main watchdogBusy]} {
  161.         .main WmtTool::stop
  162.     }
  163. }
  164.  
  165. # Do not delete this line -- regeneration end marker
  166.  
  167.