home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / deletemerg.tcl < prev    next >
Text File  |  1997-11-27  |  2KB  |  78 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)deletemerg.tcl    /main/titanic/6
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)deletemerg.tcl    /main/titanic/6   27 Nov 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 DeleteMergeDialog : {YesNoWarningDialog} {
  16.     constructor
  17.     method destructor
  18.     method handleYes
  19.     attribute mergeLink
  20.     attribute from
  21.     attribute to
  22. }
  23.  
  24. constructor DeleteMergeDialog {class this name} {
  25.     set this [YesNoWarningDialog::constructor $class $this $name]
  26.     # Start constructor user section
  27.     $this config -yesPressed {%this handleYes} \
  28.         -title "Confirm Merge Link Delete" \
  29.         -message "Are you sure you want to delete this merge link ?"
  30.     $this helpPressed {.main helpOnName deleteMergeLink}
  31.     $this delCancelButton
  32.     # End constructor user section
  33.     return $this
  34. }
  35.  
  36. method DeleteMergeDialog::destructor {this} {
  37.     # Start destructor user section
  38.     # End destructor user section
  39. }
  40.  
  41. method DeleteMergeDialog::handleYes {this} {
  42.     # now search for the 'to' version in the mergeLinks
  43.     set from [[$this from] version]
  44.     set to [[$this to] version]
  45.  
  46.     set link [query "from == $from" $to.mergeLinks]
  47.  
  48.     if {$link == ""} {
  49.         wmtkerror "Merge Link not found"
  50.         return
  51.     }
  52.  
  53.     $to removeMergeLink $link
  54.     
  55.     # now remove from interface
  56.     set curSet [[.main infoView] mergeArrowSet]
  57.     # remove it
  58.     set length [llength $curSet]
  59.     set newCurSet ""
  60.     for {set idx 0} {$idx < $length} {incr idx} {
  61.         set from [lindex $curSet $idx]
  62.         incr idx
  63.         set to [lindex $curSet $idx]
  64.         if {$from == [$this from] && $to == [$this to]} {
  65.             # skip
  66.         } else {
  67.             lappend newCurSet $from
  68.             lappend newCurSet $to
  69.         }
  70.     }
  71.     [$this to] update
  72.     [.main infoView] mergeArrowSet $newCurSet
  73.     [.main infoView] redraw
  74. }
  75.  
  76. # Do not delete this line -- regeneration end marker
  77.  
  78.