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

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