home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / classselha.tcl < prev    next >
Text File  |  1996-06-12  |  2KB  |  89 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cadre Technologies Inc.    1996
  4. #
  5. #      File:           @(#)classselha.tcl    /main/2
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)classselha.tcl    /main/2   12 Jun 1996 Copyright 1996 Cadre Technologies Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14.  
  15. Class ClassSelHandler : {ListDialog} {
  16.     constructor
  17.     method destructor
  18.     method handle
  19.     method handleOkPressed
  20.     method popUp
  21.     method addClass
  22.     method removeClass
  23.     attribute command
  24.     attribute classSet
  25. }
  26.  
  27. constructor ClassSelHandler {class this name} {
  28.     set this [ListDialog::constructor $class $this $name]
  29.     $this classSet [List new]
  30.     # Start constructor user section
  31.     $this config \
  32.         -okPressed {%this handleOkPressed} \
  33.         -helpPressed ".main helpOnName selectClass" \
  34.         -selectionPolicy BROWSE \
  35.         -rowCount 4 \
  36.         -font "courier-normal-12"
  37.     # End constructor user section
  38.     return $this
  39. }
  40.  
  41. method ClassSelHandler::destructor {this} {
  42.     # Start destructor user section
  43.     # End destructor user section
  44. }
  45.  
  46. method ClassSelHandler::handle {this entry} {
  47.     [$this classSet] contents ""
  48.     $entry collectClasses [$this classSet]
  49.     [$this classSet] contents [lrmdoubles [[$this classSet] contents]]
  50.     if {[llength [[$this classSet] contents]] == 0} {
  51.         wmtkerror "Cannot '[$this command]':\
  52.             no class found in selected entry"
  53.         return
  54.     }
  55.     if {[llength [[$this classSet] contents]] == 1} {
  56.         [[$this classSet] index] [$this command]
  57.         return
  58.     }
  59.     $this popUp
  60. }
  61.  
  62. method ClassSelHandler::handleOkPressed {this} {
  63.     set idx [lsearch [$this entrySet] [lindex [$this selectedSet] 0]]
  64.     if {$idx != -1} {
  65.         [lindex [[$this classSet] contents] $idx] [$this command]
  66.     }
  67. }
  68.  
  69. method ClassSelHandler::popUp {this} {
  70.     set entrySet ""
  71.     [$this classSet] foreach entry {
  72.         lappend entrySet [$entry format]
  73.     }
  74.     $this entrySet $entrySet
  75.     $this ListDialog::popUp
  76. }
  77.  
  78. # Do not delete this line -- regeneration end marker
  79.  
  80. method ClassSelHandler::addClass {this newClass} {
  81.     [$this classSet] append $newClass
  82.  
  83. }
  84.  
  85. method ClassSelHandler::removeClass {this oldClass} {
  86.     [$this classSet] removeValue $oldClass
  87. }
  88.  
  89.