home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 December / PCWorld_2000-12_cd.bin / Komunikace / Comanche / comanche.exe / lib / iwidgets2.2.0 / scripts / promptdialog.itk < prev    next >
Text File  |  1999-02-24  |  7KB  |  209 lines

  1. #
  2. # Promptdialog
  3. # ----------------------------------------------------------------------
  4. # Implements a prompt dialog similar to the OSF/Motif standard prompt
  5. # dialog composite widget.  The Promptdialog is derived from the 
  6. # Dialog class and is composed of a EntryField with methods to
  7. # manipulate the dialog buttons.
  8. # ----------------------------------------------------------------------
  9. #  AUTHOR: Mark L. Ulferts               EMAIL: mulferts@spd.dsccc.com
  10. #
  11. #  @(#) $Id: promptdialog.itk,v 1.1 1998/07/27 18:49:46 stanton Exp $
  12. # ----------------------------------------------------------------------
  13. #            Copyright (c) 1995 DSC Technologies Corporation
  14. # ======================================================================
  15. # Permission to use, copy, modify, distribute and license this software 
  16. # and its documentation for any purpose, and without fee or written 
  17. # agreement with DSC, is hereby granted, provided that the above copyright 
  18. # notice appears in all copies and that both the copyright notice and 
  19. # warranty disclaimer below appear in supporting documentation, and that 
  20. # the names of DSC Technologies Corporation or DSC Communications 
  21. # Corporation not be used in advertising or publicity pertaining to the 
  22. # software without specific, written prior permission.
  23. # DSC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 
  24. # ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, AND NON-
  25. # INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE
  26. # AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, 
  27. # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. IN NO EVENT SHALL 
  28. # DSC BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 
  29. # ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 
  30. # WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION,
  31. # ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 
  32. # SOFTWARE.
  33. # ======================================================================
  34.  
  35. #
  36. # Default resources.
  37. #
  38. option add *Promptdialog.borderWidth 2 widgetDefault
  39.  
  40. option add *Promptdialog.labelText Selection widgetDefault
  41. option add *Promptdialog.labelPos nw widgetDefault
  42.  
  43. option add *Promptdialog.title "Prompt Dialog" widgetDefault
  44.  
  45. option add *Promptdialog.padX 10 widgetDefault
  46. option add *Promptdialog.padY 10 widgetDefault
  47.  
  48. option add *Promptdialog.master "." widgetDefault
  49.  
  50. #
  51. # Usual options.
  52. #
  53. itk::usual Promptdialog {
  54.     keep -background -borderwidth -cursor -foreground -highlightcolor \
  55.      -highlightthickness -insertbackground -insertborderwidth \
  56.      -insertofftime -insertontime -insertwidth -labelfont -modality \
  57.      -selectbackground -selectborderwidth -selectforeground \
  58.      -textbackground -textfont
  59. }
  60.  
  61. # ------------------------------------------------------------------
  62. #                            PROMPTDIALOG
  63. # ------------------------------------------------------------------
  64. class iwidgets::Promptdialog {
  65.     inherit iwidgets::Dialog
  66.  
  67.     constructor {args} {}
  68.  
  69.     public method get {} 
  70.     public method clear {} 
  71.     public method insert {args} 
  72.     public method delete {args} 
  73.     public method icursor {args} 
  74.     public method index {args} 
  75.     public method scan {args} 
  76.     public method selection {args} 
  77.     method xview {args} 
  78. }
  79.  
  80. #
  81. # Provide a lowercased access method for the Dialogshell class.
  82. proc ::iwidgets::promptdialog {pathName args} {
  83.     uplevel ::iwidgets::Promptdialog $pathName $args
  84. }
  85.  
  86. # ------------------------------------------------------------------
  87. #                        CONSTRUCTOR
  88. # ------------------------------------------------------------------
  89. body iwidgets::Promptdialog::constructor {args} {
  90.     component hull configure -borderwidth 0
  91.     
  92.     # 
  93.     # Instantiate an entry field widget.
  94.     #
  95.     itk_component add ef {
  96.     iwidgets::Entryfield $itk_interior.ef -command [code $this invoke]
  97.     } {
  98.     keep -background -borderwidth -childsitepos -cursor \
  99.         -exportselection -fixed -foreground \
  100.         -highlightcolor -highlightthickness -insertbackground \
  101.         -insertborderwidth -insertofftime -insertontime \
  102.         -insertwidth -invalid -justify -labelfont -labelbitmap \
  103.         -labelimage -labelmargin -labelpos -labeltext -relief \
  104.         -selectbackground -selectborderwidth -selectforeground \
  105.         -show -state -textbackground -textfont -textvariable \
  106.         -validate -width
  107.     }
  108.     
  109.     pack $itk_component(ef) -fill x -expand yes
  110.     set itk_interior [childsite]
  111.     
  112.     hide Help
  113.  
  114.     #
  115.     # Explicitly handle configs that may have been ignored earlier.
  116.     #
  117.     eval itk_initialize $args
  118. }   
  119.  
  120. # ------------------------------------------------------------------
  121. #                            METHODS
  122. # ------------------------------------------------------------------
  123.  
  124. # ------------------------------------------------------------------
  125. # METHOD: get
  126. #
  127. # Thinwrapped method of entry field class.
  128. # ------------------------------------------------------------------
  129. body iwidgets::Promptdialog::get {} {
  130.     return [$itk_component(ef) get]
  131. }
  132.  
  133. # ------------------------------------------------------------------
  134. # METHOD: clear 
  135. #
  136. # Thinwrapped method of entry field class.
  137. # ------------------------------------------------------------------
  138. body iwidgets::Promptdialog::clear {} {
  139.     eval $itk_component(ef) clear
  140. }
  141.  
  142. # ------------------------------------------------------------------
  143. # METHOD: insert args
  144. #
  145. # Thinwrapped method of entry field class.
  146. # ------------------------------------------------------------------
  147. body iwidgets::Promptdialog::insert {args} {
  148.     eval $itk_component(ef) insert $args
  149. }
  150.  
  151. # ------------------------------------------------------------------
  152. # METHOD: delete first ?last?
  153. #
  154. # Thinwrapped method of entry field class.
  155. # ------------------------------------------------------------------
  156. body iwidgets::Promptdialog::delete {args} {
  157.     eval $itk_component(ef) delete $args
  158. }
  159.  
  160. # ------------------------------------------------------------------
  161. # METHOD: icursor
  162. #
  163. # Thinwrapped method of entry field class.
  164. # ------------------------------------------------------------------
  165. body iwidgets::Promptdialog::icursor {args} {
  166.     eval $itk_component(ef) icursor $args
  167. }
  168.  
  169. # ------------------------------------------------------------------
  170. # METHOD: index
  171. #
  172. # Thinwrapped method of entry field class.
  173. # ------------------------------------------------------------------
  174. body iwidgets::Promptdialog::index {args} {
  175.     return [eval $itk_component(ef) index $args]
  176. }
  177.  
  178. # ------------------------------------------------------------------
  179. # METHOD: scan option args
  180. #
  181. # Thinwrapped method of entry field class.
  182. # ------------------------------------------------------------------
  183. body iwidgets::Promptdialog::scan {args} {
  184.     eval $itk_component(ef) scan $args
  185. }
  186.  
  187. # ------------------------------------------------------------------
  188. # METHOD: selection args
  189. #
  190. # Thinwrapped method of entry field class.
  191. # ------------------------------------------------------------------
  192. body iwidgets::Promptdialog::selection {args} {
  193.     eval $itk_component(ef) selection $args
  194. }
  195.  
  196. # ------------------------------------------------------------------
  197. # METHOD: xview args
  198. #
  199. # Thinwrapped method of entry field class.
  200. # ------------------------------------------------------------------
  201. body iwidgets::Promptdialog::xview {args} {
  202.     eval $itk_component(ef) xview $args
  203. }
  204.  
  205.  
  206.