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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)decnamedia.tcl    /main/titanic/1
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)decnamedia.tcl    /main/titanic/1   23 Oct 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12.  
  13. require illegalcha.tcl
  14.  
  15. # End user added include file section
  16.  
  17.  
  18. Class DecNameDialog : {TemplateDialog} {
  19.     constructor
  20.     method destructor
  21.     method popUp
  22.     method handleTextModified
  23.     method handleOk
  24.     attribute sysVers
  25.     attribute qualItem
  26.     attribute fileType
  27.     attribute prevName
  28.     attribute illegalCharacters
  29.     attribute editor
  30. }
  31.  
  32. constructor DecNameDialog {class this name} {
  33.     set this [TemplateDialog::constructor $class $this $name]
  34.     # Start constructor user section
  35.  
  36.     interface DlgColumn $this.c {
  37.         Label message {
  38.             text Name:
  39.         }
  40.         SingleLineText name {
  41.             columnCount 30
  42.         }
  43.     }
  44.     $this.c.name textModified "$this handleTextModified"
  45.     $this config -okPressed "$this handleOk" \
  46.              -helpPressed {.main helpOnName askDecName} \
  47.              -modal 1
  48.  
  49.     # End constructor user section
  50.     return $this
  51. }
  52.  
  53. method DecNameDialog::destructor {this} {
  54.     # Start destructor user section
  55.     # End destructor user section
  56. }
  57.  
  58. method DecNameDialog::popUp {this} {
  59.     global illegalCharacters
  60.     set itemType [file2itemtype [$this fileType]]
  61.     $this illegalCharacters $illegalCharacters($itemType)
  62.     $this.c.name text ""
  63.     $this handleTextModified
  64.     $this TemplateDialog::popUp
  65. }
  66.  
  67. method DecNameDialog::handleTextModified {this} {
  68.     if { ("[$this illegalCharacters]" != "") && \
  69.         [regexp [$this illegalCharacters] [$this.c.name text]] } {
  70.         set cursorIndex [$this.c.name cursorIndex]
  71.         $this.c.name text [$this prevName]
  72.         $this.c.name cursorIndex [expr $cursorIndex - 1]
  73.     } else {
  74.         $this prevName [$this.c.name text]
  75.     }
  76.     if {"[rmWhiteSpace [$this.c.name text]]" == ""} {
  77.         $this okSensitive 0
  78.     } else {
  79.         $this okSensitive 1
  80.     }
  81.     $this okDefault [$this okSensitive]
  82.     $this cancelDefault [expr 1 - [$this okSensitive]]
  83. }
  84.  
  85. method DecNameDialog::handleOk {this} {
  86.     [$this editor] decompose [$this sysVers] [$this qualItem] \
  87.                  [$this.c.name text] [$this fileType]
  88. }
  89.  
  90. # Do not delete this line -- regeneration end marker
  91.  
  92.