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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)modelunres.tcl    /main/titanic/3
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)modelunres.tcl    /main/titanic/3   28 Nov 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. require procs.tcl
  13. # End user added include file section
  14.  
  15.  
  16. Class ModelUnreserveDialog : {TemplateDialog} {
  17.     constructor
  18.     method destructor
  19.     method popUp
  20.     method ok
  21.     method cancel
  22.     attribute model
  23. }
  24.  
  25. constructor ModelUnreserveDialog {class this name} {
  26.     set this [TemplateDialog::constructor $class $this $name]
  27.     # Start constructor user section
  28.  
  29.     $this config \
  30.         -title "Unreserve Model" \
  31.         -modal 1 \
  32.         -okPressed "busy { $this ok }"
  33.  
  34.     interface DlgColumn $this.top {
  35.         Label l {
  36.         text "Release the reservation:"
  37.         }
  38.     }
  39.  
  40.     set lineCnt 0
  41.     foreach header {"Reserved At" "By" "Comments"} {
  42.         set row [DlgRow new $this.top.row$lineCnt \
  43.         -spaceType NONE \
  44.         -justification RIGHT]
  45.         Label new $row.label \
  46.         -text "$header:" \
  47.         -alignment RIGHT \
  48.         -justification TOP \
  49.         -horStretchFactor 10 \
  50.         -font "courier-bold-12"
  51.         DlgColumn new $row.col
  52.  
  53.         incr lineCnt
  54.     }
  55.  
  56.     # End constructor user section
  57.     return $this
  58. }
  59.  
  60. method ModelUnreserveDialog::destructor {this} {
  61.     # Start destructor user section
  62.     # End destructor user section
  63. }
  64.  
  65. method ModelUnreserveDialog::popUp {this} {
  66.     set model [$this model]
  67.  
  68.     set lineCnt 0
  69.     foreach header {"Reserved At" "By" "Comments"} {
  70.     set col $this.top.row$lineCnt.col
  71.  
  72.     foreach element [$col childSet] {
  73.         $element delete
  74.     }
  75.  
  76.     case "$header" in {
  77.         {"Reserved At"} {
  78.         set info [clock format [$model reserveTime]]
  79.         }
  80.         {By} {
  81.         set info [$model reserveUser]
  82.         }
  83.         {Comments} {
  84.         set info [$model reserveComments]
  85.         }
  86.     }
  87.  
  88.     set breakUpCnt 0
  89.     foreach line [split $info "\n"] {
  90.         foreach part [lineBreak $line 35 " "] {
  91.         set text [format "%-35s" $part]
  92.         Label new $col.label$breakUpCnt \
  93.             -text $text \
  94.             -font "courier-normal-12"
  95.         incr breakUpCnt
  96.         }
  97.     }
  98.     incr lineCnt
  99.     }
  100.  
  101.     $this TemplateDialog::popUp
  102. }
  103.  
  104. method ModelUnreserveDialog::ok {this} {
  105.     set model [$this model]
  106.  
  107.     set error ""
  108.     catch {$model unreserve} error
  109.  
  110.     # Cannot alter existing dialog on PC
  111.     if $win95 {
  112.     $this delete
  113.     }
  114.  
  115.     if ![lempty $error] {
  116.         wmtkerror $error
  117.     }
  118. }
  119.  
  120. method ModelUnreserveDialog::cancel {this} {
  121.     # Cannot alter existing dialog on PC
  122.     if $win95 {
  123.     $this delete
  124.     }
  125. }
  126.  
  127. # Do not delete this line -- regeneration end marker
  128.  
  129.