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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Westmount Technology    1994
  4. #
  5. #      File:           @(#)editseldia.tcl    1.7
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)editseldia.tcl    1.7   06 Mar 1996 Copyright 1994 Westmount Technology
  10.  
  11. # Start user added include file section
  12.  
  13. require wmt_util.tcl
  14.  
  15. # End user added include file section
  16.  
  17.  
  18. Class EditSelDialog : {TemplateDialog} {
  19.     constructor
  20.     method destructor
  21.     method handleEdit
  22.     method handleHelp
  23.     method handleSelectionChanged
  24.     method popUp
  25.     method text
  26.     attribute entrySet
  27.     attribute editPressed
  28.     attribute message
  29. }
  30.  
  31. constructor EditSelDialog {class this name} {
  32.     set this [TemplateDialog::constructor $class $this $name]
  33.     # Start constructor user section
  34.  
  35.     interface DlgColumn $this.top {
  36.         Label message {}
  37.         ComboBox list {}
  38.     }
  39.     PushButton new $this.edit \
  40.         -label Edit \
  41.         -activated "$this handleEdit"
  42.     $this config \
  43.         -modal yes \
  44.         -helpPressed "$this handleHelp"
  45.     $this.top.list textModified "$this handleSelectionChanged"
  46.  
  47.     # End constructor user section
  48.     return $this
  49. }
  50.  
  51. method EditSelDialog::destructor {this} {
  52.     # Start destructor user section
  53.     # End destructor user section
  54. }
  55.  
  56. method EditSelDialog::handleEdit {this} {
  57.     $this popDown
  58.     set doDelete [regsub -all "$this delete" "[$this okPressed]" "" okPressed]
  59.     eval $okPressed
  60.     eval [$this editPressed]
  61.     if $doDelete {
  62.     $this delete
  63.     }
  64. }
  65.  
  66. method EditSelDialog::handleHelp {this} {
  67.     [getParent $this] helpOnName [nt_get_type $this]
  68. }
  69.  
  70. method EditSelDialog::handleSelectionChanged {this} {
  71.     if {"[rmWhiteSpace [$this text]]" == ""} {
  72.     set selected 0
  73.      } else {
  74.     set selected 1
  75.     }
  76.     $this okSensitive $selected
  77.     $this okDefault $selected
  78.     $this cancelDefault [expr 1 - $selected]
  79.     $this.edit config \
  80.     -sensitive $selected \
  81.     -default 0
  82. }
  83.  
  84. method EditSelDialog::popUp {this} {
  85.     $this.top.message text [$this message]
  86.     $this.top.list config \
  87.     -rowCount [llength [$this entrySet]] \
  88.     -entrySet [$this entrySet]
  89.  
  90.     $this handleSelectionChanged
  91.     $this TemplateDialog::popUp
  92. }
  93.  
  94. method EditSelDialog::text {this} {
  95.     return [$this.top.list text]
  96. }
  97.  
  98. # Do not delete this line -- regeneration end marker
  99.  
  100.