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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)cobrenable.tcl    /main/titanic/4
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)cobrenable.tcl    /main/titanic/4   10 Oct 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14. require "enablepage.tcl"
  15.  
  16. Class CoBrEnablePage : {EnablePage} {
  17.     constructor
  18.     method destructor
  19.     method createInterface
  20.     method clearInterface
  21.     method sensitive
  22.     method fromInterface
  23.     method toInterface
  24. }
  25.  
  26. constructor CoBrEnablePage {class this name} {
  27.     set this [EnablePage::constructor $class $this $name]
  28.     # Start constructor user section
  29.     # End constructor user section
  30.     return $this
  31. }
  32.  
  33. method CoBrEnablePage::destructor {this} {
  34.     # Start destructor user section
  35.     # End destructor user section
  36.     $this EnablePage::destructor
  37. }
  38.  
  39. method CoBrEnablePage::createInterface {this} {
  40.  
  41.     interface DlgRow $this.NG.DC.DR {
  42.        DlgColumn DC {
  43.            Label L { text "Selection count"}
  44.            OptionMenu selCountOM {
  45.                entrySet { "don't care" 0 1 many }
  46.            }
  47.        }
  48.        DlgColumn DC {
  49.            Label L { text "Check enable on"}
  50.            VerRadioGroup checkOn {
  51.                entrySet { "Nothing" "Selection change"
  52.                    "Level change"}
  53.            }
  54.        }
  55.     }
  56.     interface DlgRow $this.NG.DC.DR {
  57.         DlgColumn DC {
  58.             Label L { text "Script for extra checking" }
  59.             MultiLineText enableMLT { }
  60.         }
  61.     }
  62. }
  63.  
  64. method CoBrEnablePage::clearInterface {this} {
  65.  
  66.     [$this if].selCountOM selected "don't care"
  67.     [$this if].checkOn selected "Nothing"
  68.     [$this if].enableMLT text ""
  69. }
  70.  
  71. method CoBrEnablePage::sensitive {this args} {
  72.  
  73.     if {[llength $args] == 0} {
  74.         return [[$this if].selCountOM sensitive]
  75.     } else {
  76.         set sensitive [lindex $args 0]
  77.     }
  78.     
  79.     [$this if].selCountOM sensitive $sensitive
  80.     [$this if].checkOn sensitive $sensitive
  81.     [$this if].enableMLT sensitive $sensitive
  82.  
  83.     return $sensitive
  84. }
  85.  
  86. method CoBrEnablePage::fromInterface {this} {
  87.  
  88.     set spec ""
  89.  
  90.     set enableScript [[$this if].enableMLT text]
  91.     if ![CommandPage::checkBraces $enableScript] {
  92.         wmtkerror "Brace mismatch in enableScript"
  93.         return ""
  94.     }
  95.  
  96.     set selCount [[$this if].selCountOM selected]
  97.     if {$selCount != "don't care"} {
  98.         lappend spec selCount $selCount
  99.     }
  100.     set checkOn [[$this if].checkOn selected]
  101.     if {$checkOn == "Selection change"} {
  102.         lappend spec checkOn selectionChange
  103.     } elseif {$checkOn == "Level change"} {
  104.         lappend spec checkOn levelChange
  105.     }
  106.     if {$enableScript != ""} {
  107.         lappend spec enableScript $enableScript
  108.     }
  109.     return $spec
  110. }
  111.  
  112. method CoBrEnablePage::toInterface {this key value} {
  113.     if {$key == "selCount"} {
  114.         [$this if].selCountOM selected $value
  115.     }
  116.  
  117.     if {$key == "checkOn"} {
  118.         if {$value == "levelChange"} {
  119.             [$this if].checkOn selected "Level change"
  120.         } elseif {$value == "selectionChange"} {
  121.             [$this if].checkOn selected "Selection change"
  122.         }
  123.     }
  124.  
  125.     if {$key == "enableScript"} {
  126.         regsub -all "\n\t\t\t" $value "\n" value
  127.         [$this if].enableMLT text [string trim $value]
  128.     }
  129. }
  130.  
  131. # Do not delete this line -- regeneration end marker
  132.  
  133.