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 / messagedialog.itk < prev    next >
Text File  |  1999-02-24  |  5KB  |  143 lines

  1. #
  2. # Messagedialog
  3. # ----------------------------------------------------------------------
  4. # Implements a message dialog composite widget.  The Messagedialog is 
  5. # derived from the Dialog class and is composed of an image and text
  6. # component.  The image will accept both images as well as bitmaps.
  7. # The text can extend mutliple lines by embedding newlines.
  8. # ----------------------------------------------------------------------
  9. #  AUTHOR: Mark L. Ulferts              EMAIL: mulferts@austin.dsccc.com
  10. #
  11. #  @(#) $Id: messagedialog.itk,v 1.1 1998/07/27 18:53:10 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 Messagedialog {
  39.     keep -background -cursor -font -foreground -modality
  40. }
  41.  
  42. # ------------------------------------------------------------------
  43. #                            MESSAGEDIALOG
  44. # ------------------------------------------------------------------
  45. class iwidgets::Messagedialog {
  46.     inherit iwidgets::Dialog
  47.  
  48.     constructor {args} {}
  49.  
  50.     itk_option define -imagepos imagePos Position w
  51. }
  52.  
  53. #
  54. # Provide a lowercased access method for the Messagedialog class.
  55. proc ::iwidgets::messagedialog {pathName args} {
  56.     uplevel ::iwidgets::Messagedialog $pathName $args
  57. }
  58.  
  59. #
  60. # Use option database to override default resources of base classes.
  61. #
  62. option add *Messagedialog.title "Message Dialog" widgetDefault
  63. option add *Messagedialog.master "." widgetDefault
  64. option add *Messagedialog.textPadX 20 widgetDefault
  65. option add *Messagedialog.textPadY 20 widgetDefault
  66.  
  67. # ------------------------------------------------------------------
  68. #                        CONSTRUCTOR
  69. # ------------------------------------------------------------------
  70. body iwidgets::Messagedialog::constructor {args} {
  71.     #
  72.     # Create the image component which may be either a bitmap or image.
  73.     #
  74.     itk_component add image {
  75.     label $itk_interior.image 
  76.     } {
  77.     keep -background -bitmap -cursor -foreground -image 
  78.     }
  79.     
  80.     #
  81.     # Create the text message component.  The message may extend over
  82.     # several lines by embedding '\n' characters.
  83.     #
  84.     itk_component add message {
  85.     label $itk_interior.message
  86.     } {
  87.     keep -background -cursor -font -foreground -text 
  88.  
  89.     rename -padx -textpadx textPadX Pad
  90.     rename -pady -textpady textPadY Pad
  91.     }
  92.     
  93.     #
  94.     # Hide the apply and help buttons.
  95.     #
  96.     hide Apply
  97.     hide Help
  98.     
  99.     #
  100.     # Initialize the widget based on the command line options.
  101.     #
  102.     eval itk_initialize $args
  103. }   
  104.  
  105. # ------------------------------------------------------------------
  106. #                             OPTIONS
  107. # ------------------------------------------------------------------
  108.  
  109. # ------------------------------------------------------------------
  110. # OPTION: -imagepos
  111. #
  112. # Specifies the image position relative to the message: n, s,
  113. # e, or w.  The default is w.
  114. # ------------------------------------------------------------------
  115. configbody iwidgets::Messagedialog::imagepos {
  116.     switch $itk_option(-imagepos) {
  117.         n {
  118.         grid $itk_component(image) -row 0 -column 0 
  119.         grid $itk_component(message) -row 1 -column 0 
  120.         }
  121.         s {
  122.         grid $itk_component(message) -row 0 -column 0 
  123.         grid $itk_component(image) -row 1 -column 0 
  124.         }
  125.         e {
  126.         grid $itk_component(message) -row 0 -column 0 
  127.         grid $itk_component(image) -row 0 -column 1
  128.         }
  129.         w {
  130.         grid $itk_component(image) -row 0 -column 0 
  131.         grid $itk_component(message) -row 0 -column 1
  132.         }
  133.     
  134.         default {
  135.             error "bad imagepos option \"$itk_option(-imagepos)\":\
  136.             should be n, e, s, or w"
  137.         }
  138.     }
  139. }
  140.