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 / dialog.itk < prev    next >
Text File  |  1999-02-24  |  3KB  |  90 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@spd.dsccc.com
  10. #
  11. #  @(#) $Id: dialog.itk,v 1.1 1998/07/27 18:49:24 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 *Dialog.padX 10 widgetDefault
  39. option add *Dialog.padY 10 widgetDefault
  40. option add *Dialog.master "." widgetDefault
  41.  
  42. #
  43. # Usual options.
  44. #
  45. itk::usual Dialog {
  46.     keep -background -cursor -foreground -modality 
  47. }
  48.  
  49. # ------------------------------------------------------------------
  50. #                            DIALOG
  51. # ------------------------------------------------------------------
  52. class iwidgets::Dialog {
  53.     inherit iwidgets::Dialogshell
  54.  
  55.     constructor {args} {}
  56. }
  57.  
  58. #
  59. # Provide a lowercased access method for the Dialog class.
  60. proc ::iwidgets::dialog {pathName args} {
  61.     uplevel ::iwidgets::Dialog $pathName $args
  62. }
  63.  
  64. # ------------------------------------------------------------------
  65. #                        CONSTRUCTOR
  66. # ------------------------------------------------------------------
  67. body iwidgets::Dialog::constructor {args} {
  68.     add OK -text OK -command [code $this deactivate 1]
  69.     add Apply -text Apply
  70.     add Cancel -text Cancel -command [code $this deactivate 0]
  71.     add Help -text Help
  72.     
  73.     default OK
  74.     
  75.     #
  76.     # Bind the window manager delete protocol to invocation of the
  77.     # cancel button.  This can be overridden by the user via the
  78.     # execution of a similar command outside the class.
  79.     #
  80.     wm protocol $itk_component(hull) WM_DELETE_WINDOW \
  81.     [code $this invoke Cancel]
  82.     
  83.     #
  84.     # Explicitly handle configs that may have been ignored earlier.
  85.     #
  86.     eval itk_initialize $args
  87. }
  88.