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 / dialog.itk < prev    next >
Text File  |  1999-02-24  |  4KB  |  93 lines

  1. #
  2. # Dialog
  3. # ----------------------------------------------------------------------
  4. # Implements a standard dialog box providing standard buttons and a 
  5. # child site for use in derived classes.  The buttons include ok, apply,
  6. # cancel, and help.  Options exist to configure the buttons.
  7. #    
  8. # ----------------------------------------------------------------------
  9. #  AUTHOR: Mark L. Ulferts              EMAIL: mulferts@austin.dsccc.com
  10. #
  11. #  @(#) $Id: dialog.itk,v 1.1 1998/07/27 18:53:04 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 Dialog {
  39.     keep -background -cursor -foreground -modality 
  40. }
  41.  
  42. # ------------------------------------------------------------------
  43. #                            DIALOG
  44. # ------------------------------------------------------------------
  45. class iwidgets::Dialog {
  46.     inherit iwidgets::Dialogshell
  47.  
  48.     constructor {args} {}
  49. }
  50.  
  51. #
  52. # Provide a lowercased access method for the Dialog class.
  53. proc ::iwidgets::dialog {pathName args} {
  54.     uplevel ::iwidgets::Dialog $pathName $args
  55. }
  56.  
  57. #
  58. # Use option database to override default resources of base classes.
  59. #
  60. option add *Dialog.master "." widgetDefault
  61.  
  62. # ------------------------------------------------------------------
  63. #                        CONSTRUCTOR
  64. # ------------------------------------------------------------------
  65. body iwidgets::Dialog::constructor {args} {
  66.     #
  67.     # Add the standard buttons: OK, Apply, Cancel, and Help, making
  68.     # OK be the default button.
  69.     #
  70.     add OK -text OK -command [code $this deactivate 1]
  71.     add Apply -text Apply
  72.     add Cancel -text Cancel -command [code $this deactivate 0]
  73.     add Help -text Help
  74.     
  75.     default OK
  76.     
  77.     #
  78.     # Bind the window manager delete protocol to invocation of the
  79.     # cancel button.  This can be overridden by the user via the
  80.     # execution of a similar command outside the class.
  81.     #
  82.     wm protocol $itk_component(hull) WM_DELETE_WINDOW \
  83.     [code $this invoke Cancel]
  84.     
  85.     #
  86.     # Initialize the widget based on the command line options.
  87.     #
  88.     eval itk_initialize $args
  89. }
  90.  
  91.