home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 December / PCWorld_2000-12_cd.bin / Komunikace / Comanche / comanche.exe / lib / iwidgets3.0.0 / scripts / promptdialog.itk < prev    next >
Text File  |  1999-02-24  |  7KB  |  200 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@austin.dsccc.com
  10. #
  11. #  @(#) $Id: promptdialog.itk,v 1.1 1998/07/27 18:53:12 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. # Usual options.
  37. #
  38. itk::usual Promptdialog {
  39.     keep -background -borderwidth -cursor -foreground -highlightcolor \
  40.      -highlightthickness -insertbackground -insertborderwidth \
  41.      -insertofftime -insertontime -insertwidth -labelfont -modality \
  42.      -selectbackground -selectborderwidth -selectforeground \
  43.      -textbackground -textfont
  44. }
  45.  
  46. # ------------------------------------------------------------------
  47. #                            PROMPTDIALOG
  48. # ------------------------------------------------------------------
  49. class iwidgets::Promptdialog {
  50.     inherit iwidgets::Dialog
  51.  
  52.     constructor {args} {}
  53.  
  54.     public method get {} 
  55.     public method clear {} 
  56.     public method insert {args} 
  57.     public method delete {args} 
  58.     public method icursor {args} 
  59.     public method index {args} 
  60.     public method scan {args} 
  61.     public method selection {args} 
  62.     method xview {args} 
  63. }
  64.  
  65. #
  66. # Provide a lowercased access method for the Dialogshell class.
  67. proc ::iwidgets::promptdialog {pathName args} {
  68.     uplevel ::iwidgets::Promptdialog $pathName $args
  69. }
  70.  
  71. #
  72. # Use option database to override default resources of base classes.
  73. #
  74. option add *Promptdialog.labelText Selection widgetDefault
  75. option add *Promptdialog.labelPos nw widgetDefault
  76. option add *Promptdialog.title "Prompt Dialog" widgetDefault
  77. option add *Promptdialog.master "." widgetDefault
  78.  
  79. # ------------------------------------------------------------------
  80. #                        CONSTRUCTOR
  81. # ------------------------------------------------------------------
  82. body iwidgets::Promptdialog::constructor {args} {
  83.     #
  84.     # Set the borderwidth to zero.
  85.     #
  86.     component hull configure -borderwidth 0
  87.     
  88.     # 
  89.     # Create an entry field widget.
  90.     #
  91.     itk_component add prompt {
  92.     iwidgets::Entryfield $itk_interior.prompt -command [code $this invoke]
  93.     } {
  94.     usual
  95.  
  96.     keep -exportselection -invalid -labelpos -labeltext -relief \
  97.         -show -textbackground -textfont -validate 
  98.     }
  99.     
  100.     pack $itk_component(prompt) -fill x -expand yes
  101.     set itk_interior [childsite]
  102.     
  103.     hide Help
  104.  
  105.     #
  106.     # Initialize the widget based on the command line options.
  107.     #
  108.     eval itk_initialize $args
  109. }   
  110.  
  111. # ------------------------------------------------------------------
  112. #                            METHODS
  113. # ------------------------------------------------------------------
  114.  
  115. # ------------------------------------------------------------------
  116. # METHOD: get
  117. #
  118. # Thinwrapped method of entry field class.
  119. # ------------------------------------------------------------------
  120. body iwidgets::Promptdialog::get {} {
  121.     return [$itk_component(prompt) get]
  122. }
  123.  
  124. # ------------------------------------------------------------------
  125. # METHOD: clear 
  126. #
  127. # Thinwrapped method of entry field class.
  128. # ------------------------------------------------------------------
  129. body iwidgets::Promptdialog::clear {} {
  130.     eval $itk_component(prompt) clear
  131. }
  132.  
  133. # ------------------------------------------------------------------
  134. # METHOD: insert args
  135. #
  136. # Thinwrapped method of entry field class.
  137. # ------------------------------------------------------------------
  138. body iwidgets::Promptdialog::insert {args} {
  139.     eval $itk_component(prompt) insert $args
  140. }
  141.  
  142. # ------------------------------------------------------------------
  143. # METHOD: delete first ?last?
  144. #
  145. # Thinwrapped method of entry field class.
  146. # ------------------------------------------------------------------
  147. body iwidgets::Promptdialog::delete {args} {
  148.     eval $itk_component(prompt) delete $args
  149. }
  150.  
  151. # ------------------------------------------------------------------
  152. # METHOD: icursor
  153. #
  154. # Thinwrapped method of entry field class.
  155. # ------------------------------------------------------------------
  156. body iwidgets::Promptdialog::icursor {args} {
  157.     eval $itk_component(prompt) icursor $args
  158. }
  159.  
  160. # ------------------------------------------------------------------
  161. # METHOD: index
  162. #
  163. # Thinwrapped method of entry field class.
  164. # ------------------------------------------------------------------
  165. body iwidgets::Promptdialog::index {args} {
  166.     return [eval $itk_component(prompt) index $args]
  167. }
  168.  
  169. # ------------------------------------------------------------------
  170. # METHOD: scan option args
  171. #
  172. # Thinwrapped method of entry field class.
  173. # ------------------------------------------------------------------
  174. body iwidgets::Promptdialog::scan {args} {
  175.     eval $itk_component(prompt) scan $args
  176. }
  177.  
  178. # ------------------------------------------------------------------
  179. # METHOD: selection args
  180. #
  181. # Thinwrapped method of entry field class.
  182. # ------------------------------------------------------------------
  183. body iwidgets::Promptdialog::selection {args} {
  184.     eval $itk_component(prompt) selection $args
  185. }
  186.  
  187. # ------------------------------------------------------------------
  188. # METHOD: xview args
  189. #
  190. # Thinwrapped method of entry field class.
  191. # ------------------------------------------------------------------
  192. body iwidgets::Promptdialog::xview {args} {
  193.     eval $itk_component(prompt) xview $args
  194. }
  195.  
  196.  
  197.