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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cadre Technologies Inc.    1996
  4. #
  5. #      File:           @(#)newcustobj.tcl    /main/3
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)newcustobj.tcl    /main/3   12 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 NewCustObjectDialog : {TemplateDialog} {
  16.     constructor
  17.     method destructor
  18.     method doEdit
  19.     method checkList
  20.     method checkSensitive
  21.     attribute edit
  22.     attribute _curSensitiveState
  23.     attribute _checkList
  24. }
  25.  
  26. constructor NewCustObjectDialog {class this name} {
  27.     set this [TemplateDialog::constructor $class $this $name]
  28.     # Start constructor user section
  29.     $this modal TRUE
  30.     $this edit 0
  31.     PushButton new $this.edit \
  32.         -label Edit \
  33.         -activated "$this doEdit"
  34.     # End constructor user section
  35.     return $this
  36. }
  37.  
  38. method NewCustObjectDialog::destructor {this} {
  39.     # Start destructor user section
  40.     # End destructor user section
  41. }
  42.  
  43. method NewCustObjectDialog::doEdit {this} {
  44.     
  45.     $this edit 1
  46.     eval [$this okPressed]
  47.     $this edit 0
  48. }
  49.  
  50. method NewCustObjectDialog::checkList {this listToCheck} {
  51.  
  52.     $this _checkList $listToCheck
  53.  
  54.     foreach entry [$this _checkList] {
  55.         [lindex $entry 0] [lindex $entry 1] "$this checkSensitive"
  56.     }
  57.  
  58.     $this checkSensitive
  59. }
  60.  
  61. method NewCustObjectDialog::checkSensitive {this} {
  62.     
  63.     set newSensitiveState 0
  64.     foreach entry [$this _checkList] {
  65.         if {[string trim [[lindex $entry 0] [lindex $entry 2]]] == ""} {
  66.             set newSensitiveState 1
  67.             break
  68.         }
  69.     }    
  70.     if { [$this _curSensitiveState] == $newSensitiveState } {
  71.         return
  72.     }
  73.     $this _curSensitiveState $newSensitiveState
  74.  
  75.     if $newSensitiveState {
  76.         $this.edit sensitive 0    
  77.         $this okSensitive 0
  78.         $this cancelDefault 1
  79.     } else {
  80.         $this.edit sensitive 1    
  81.         $this okSensitive 1
  82.         $this okDefault 1
  83.     }
  84. }
  85.  
  86. # Do not delete this line -- regeneration end marker
  87.  
  88.