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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Westmount Technology    1994
  4. #
  5. #      File:           @(#)cbsetfilte.tcl    1.4
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)cbsetfilte.tcl    1.4   20 Mar 1996 Copyright 1994 Westmount Technology
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14.  
  15. Class CBSetFilterElementDialog : {TemplateDialog} {
  16.     constructor
  17.     method destructor
  18.     method handleOkPressed
  19.     method popItUp
  20.     method filterFeaturesDialog
  21.     attribute currentFilterElement
  22.     attribute _filterFeaturesDialog
  23. }
  24.  
  25. constructor CBSetFilterElementDialog {class this name} {
  26.     set this [TemplateDialog::constructor $class $this $name]
  27.     # Start constructor user section
  28.  
  29.         $this config -okPressed {
  30.             %this handleOkPressed
  31.             %this delete
  32.         } \
  33.                 -modal true
  34.     $this delHelpButton
  35.  
  36.     interface DlgColumn $this.c {
  37.         CheckButton filterElemEnabled {
  38.             label "Enabled"
  39.         }
  40.     }
  41.  
  42.     # End constructor user section
  43.     return $this
  44. }
  45.  
  46. method CBSetFilterElementDialog::destructor {this} {
  47.     set ref [$this _filterFeaturesDialog]
  48.     if {$ref != ""} {
  49.         $ref _setFilterElemDialog ""
  50.     }
  51.     # Start destructor user section
  52.     # End destructor user section
  53. }
  54.  
  55. method CBSetFilterElementDialog::handleOkPressed {this} {
  56.     set filterElem [$this currentFilterElement]
  57.     set propDef [$filterElem propDefinition]
  58.     $filterElem enabled [$this.c.filterElemEnabled state]
  59.     if {[$propDef ifClass] != "CheckButton"} {
  60.         $filterElem value [$this.c.text text]
  61.     } else {
  62.         set value [expr {([$this.c.chkBtn state] == 1) ? "1" : "0"}]
  63.         $filterElem value $value
  64.     }
  65.  
  66.     [$this filterFeaturesDialog] updateFilterElemTextList
  67. }
  68.  
  69. method CBSetFilterElementDialog::popItUp {this filterElem} {
  70.     $this currentFilterElement $filterElem
  71.     set propDef [$filterElem propDefinition]
  72.     $this title "Set Filter Element '[$propDef longName]'"
  73.     $this.c.filterElemEnabled state [$filterElem enabled]
  74.     if {[$propDef ifClass] != "CheckButton"} {
  75.         Label new $this.c.lab -text "Value:"
  76.         SingleLineText new $this.c.text \
  77.             -columnCount 30 \
  78.             -text [$filterElem value]
  79.     } else {
  80.         set state [expr {([$filterElem value] == "1") ? 1 : 0}]
  81.         CheckButton new $this.c.chkBtn -state $state \
  82.             -label [$propDef longName]
  83.     }
  84.  
  85.     $this popUp
  86. }
  87.  
  88. # Do not delete this line -- regeneration end marker
  89.  
  90. method CBSetFilterElementDialog::filterFeaturesDialog {this args} {
  91.     if {$args == ""} {
  92.         return [$this _filterFeaturesDialog]
  93.     }
  94.     set ref [$this _filterFeaturesDialog]
  95.     if {$ref != ""} {
  96.         $ref _setFilterElemDialog ""
  97.     }
  98.     set obj [lindex $args 0]
  99.     if {$obj != ""} {
  100.         $obj _setFilterElemDialog $this
  101.     }
  102.     $this _filterFeaturesDialog $obj
  103. }
  104.  
  105.