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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1996
  4. #
  5. #      File:           @(#)csintdlgel.tcl    /main/titanic/4
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)csintdlgel.tcl    /main/titanic/4   23 Oct 1996 Copyright 1996 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14.  
  15. Class CSIntDlgElem : {DlgColumn} {
  16.     constructor
  17.     method destructor
  18.     method label
  19.     method min
  20.     method max
  21.     method value
  22.     method step
  23. }
  24.  
  25. constructor CSIntDlgElem {class this name} {
  26.     set this [DlgColumn::constructor $class $this $name]
  27.     # Start constructor user section
  28.  
  29.     Label new $this.label
  30.  
  31.     set f [IntField new $this.field \
  32.         -verStretchFactor 0 \
  33.         -horStretchFactor 100]
  34.  
  35.     set s [HorSlider new $this.slider \
  36.         -horStretchFactor 100]
  37.  
  38.         $s valueChanged "
  39.             $f intValue \[expr round(\[$s value])]
  40.     "
  41.  
  42.     $f textModified "
  43.             set newValue \[$f intValue]
  44.             if {\$newValue < \[$this min]} {
  45.                 $this min \$newValue
  46.             } elseif {\$newValue > \[$this max]} {
  47.                 $this max \$newValue
  48.             }
  49.             $s value \$newValue
  50.         "
  51.  
  52.     # End constructor user section
  53.     return $this
  54. }
  55.  
  56. method CSIntDlgElem::destructor {this} {
  57.     # Start destructor user section
  58.     # End destructor user section
  59. }
  60.  
  61. method CSIntDlgElem::label {this args} {
  62.     if [lempty $args] {
  63.         return [$this.label text]
  64.     }
  65.     $this.label text [lindex $args 0]
  66. }
  67.  
  68. method CSIntDlgElem::min {this args} {
  69.     if [lempty $args] {
  70.         return [expr round([$this.slider min])]
  71.     }
  72.     $this.slider setRange [lindex $args 0].0 [$this.slider max]
  73. }
  74.  
  75. method CSIntDlgElem::max {this args} {
  76.     if [lempty $args] {
  77.         return [expr round([$this.slider max])]
  78.     }
  79.     $this.slider setRange [$this.slider min] [lindex $args 0].0
  80. }
  81.  
  82. method CSIntDlgElem::value {this args} {
  83.     if [lempty $args] {
  84.         return [$this.field intValue]
  85.     }
  86.  
  87.     set value [lindex $args 0]
  88.     $this.field intValue $value
  89.     eval [$this.field textModified]
  90.     $this.slider value ${value}.0
  91. }
  92.  
  93. method CSIntDlgElem::step {this args} {
  94.     if [lempty $args] {
  95.         return [expr round([$this.slider stepSize])]
  96.     }
  97.     $this.slider stepSize [lindex $args 0].0
  98. }
  99.  
  100. # Do not delete this line -- regeneration end marker
  101.  
  102.