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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)cccheckind.tcl    /main/titanic/4
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)cccheckind.tcl    /main/titanic/4   29 Aug 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14. require_module_file "cccommentd.tcl" clearcase
  15.  
  16. Class CCCheckInDialog : {CCCommentDialog} {
  17.     constructor
  18.     method destructor
  19.     method createMultipleInterface
  20.     method deleteMultipleInterface
  21.     method popUp
  22.  
  23.     # Inidcates whether this check in dialog has the extra
  24.     # elements for checking in multiple files.
  25.     #
  26.     attribute hasMultiplePart
  27. }
  28.  
  29. constructor CCCheckInDialog {class this name} {
  30.     set this [CCCommentDialog::constructor $class $this $name]
  31.     $this hasMultiplePart 0
  32.     # Start constructor user section
  33.         $this createInterface
  34.     # End constructor user section
  35.     return $this
  36. }
  37.  
  38. method CCCheckInDialog::destructor {this} {
  39.     # Start destructor user section
  40.     # End destructor user section
  41.     $this CCCommentDialog::destructor
  42. }
  43.  
  44.  
  45. # Modify interface for multiple selected files.
  46. #
  47. method CCCheckInDialog::createMultipleInterface {this} {
  48.     # check if the extra part does not yet exist
  49.     if [$this hasMultiplePart] {
  50.     return
  51.     }
  52.  
  53.     # no comment if default comment is reused
  54.     $this.col.comments sensitive 0
  55.  
  56.     interface CheckButton $this.col.reuse {
  57.     label "Reuse checkout comments"
  58.     state 1
  59.     }
  60.  
  61.     $this.col.reuse stateChanged {
  62.     if [%this state] {
  63.         [%this parent].comments sensitive 0
  64.     } else {
  65.         [%this parent].comments sensitive 1
  66.     }
  67.     }
  68.  
  69.     $this hasMultiplePart 1
  70. }
  71.  
  72.  
  73. # Modify interface for one selected file.
  74. #
  75. method CCCheckInDialog::deleteMultipleInterface {this} {
  76.     if { ![$this hasMultiplePart] } {
  77.     return
  78.     }
  79.  
  80.     # make sure comment part is enabled now
  81.     $this.col.comments sensitive 1
  82.  
  83.     # delete reuse part
  84.     $this.col.reuse delete
  85.  
  86.     $this hasMultiplePart 0
  87. }
  88.  
  89.  
  90. # Prepare interface and pop up.
  91. #
  92. method CCCheckInDialog::popUp {this} {
  93.     $this selectedFiles [.main selectedObjSet]
  94.     $this title "Checkin"
  95.  
  96.     # modify interface if more files are selected
  97.     if { [llength [$this selectedFiles]] > 1 } {
  98.     $this createMultipleInterface
  99.     } else {
  100.     $this deleteMultipleInterface
  101.     }
  102.  
  103.     # set default comment
  104.     $this setComment
  105.  
  106.     # make comment label
  107.     $this.col.label text \
  108.         "Checkin comments for [$this selectionDescription]:\n"
  109.  
  110.     # specify checkin action
  111.     $this vsMethod {
  112.     if { [llength [$this selectedFiles]] == 1 } {
  113.         set noComment 0
  114.     } else {
  115.         set noComment [$this.col.reuse state]
  116.     }
  117.     $file checkIn $noComment [$this.col.comments text]
  118.     }
  119.  
  120.     $this needsUpdate 1
  121.     $this TemplateDialog::popUp
  122. }
  123.  
  124. # Do not delete this line -- regeneration end marker
  125.  
  126.