home *** CD-ROM | disk | FTP | other *** search
/ PC World 1997 November / PCWorld_1997-11_cd.bin / software / programy / komix / DATA.Z / rmpropdial.tcl < prev    next >
Text File  |  1996-06-05  |  3KB  |  101 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cadre Technologies Inc.    1996
  4. #
  5. #      File:           @(#)rmpropdial.tcl    /main/2
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)rmpropdial.tcl    /main/2   5 Jun 1996 Copyright 1996 Cadre Technologies Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14.  
  15. Class RmPropDialog : {TemplateDialog} {
  16.     constructor
  17.     method destructor
  18.     method popUp
  19.     method handleOk
  20.     method handleCancel
  21.     method selectionChanged
  22.     method addContainer
  23.     method removeContainer
  24.     attribute containerSet
  25.     attribute tool
  26. }
  27.  
  28. constructor RmPropDialog {class this name tool} {
  29.     set this [TemplateDialog::constructor $class $this $name]
  30.     $this tool $tool
  31.     $this containerSet [List new]
  32.     # Start constructor user section
  33.  
  34.     TextList new $this.list \
  35.         -selectionPolicy EXTENDED \
  36.         -font "courier-normal-12" \
  37.         -rowCount 10 \
  38.         -selectionChanged "$this selectionChanged"
  39.     $this config \
  40.         -modal yes \
  41.         -title "Delete Properties" \
  42.         -okPressed "$this handleOk" \
  43.         -cancelPressed "$this handleCancel"
  44.  
  45.     # End constructor user section
  46.     return $this
  47. }
  48.  
  49. method RmPropDialog::destructor {this} {
  50.     # Start destructor user section
  51.     [$this tool] releasePropContainers
  52.     # End destructor user section
  53. }
  54.  
  55. method RmPropDialog::popUp {this} {
  56.     set contents ""
  57.     set cntSet [[$this tool] propContainerSet]
  58.     [$this containerSet] contents [$cntSet contents]
  59.     $cntSet foreach cnt {
  60.         lappend contents [$cnt propertyPresentation]
  61.     }
  62.     $this.list entrySet $contents
  63.  
  64.     $this selectionChanged
  65.     $this TemplateDialog::popUp
  66. }
  67.  
  68. method RmPropDialog::handleOk {this} {
  69.     foreach index [$this.list selectedIndexSet] {
  70.         [[$this containerSet] index $index] removeProperties
  71.     }
  72.     $this delete
  73. }
  74.  
  75. method RmPropDialog::handleCancel {this} {
  76.     $this delete
  77. }
  78.  
  79. method RmPropDialog::selectionChanged {this} {
  80.     if {[llength [$this.list selectedSet]] > 0} {
  81.         set selected 1
  82.     } else {
  83.         set selected 0
  84.     }
  85.     $this okSensitive $selected
  86.     $this okDefault $selected
  87.     $this cancelDefault [expr 1 - $selected]
  88. }
  89.  
  90. # Do not delete this line -- regeneration end marker
  91.  
  92. method RmPropDialog::addContainer {this newContainer} {
  93.     [$this containerSet] append $newContainer
  94.  
  95. }
  96.  
  97. method RmPropDialog::removeContainer {this oldContainer} {
  98.     [$this containerSet] removeValue $oldContainer
  99. }
  100.  
  101.