home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 June / PCWorld_2005-06_cd.bin / software / vyzkuste / firewally / firewally.exe / framework-2.3.exe / messagedialog.itk < prev    next >
Text File  |  2003-09-01  |  5KB  |  145 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.3 2001/08/07 19:56:48 smithc 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.     keep -wraplength -justify
  41. }
  42.  
  43. # ------------------------------------------------------------------
  44. #                            MESSAGEDIALOG
  45. # ------------------------------------------------------------------
  46. itcl::class iwidgets::Messagedialog {
  47.     inherit iwidgets::Dialog
  48.  
  49.     constructor {args} {}
  50.  
  51.     itk_option define -imagepos imagePos Position w
  52. }
  53.  
  54. #
  55. # Provide a lowercased access method for the Messagedialog class.
  56. proc ::iwidgets::messagedialog {pathName args} {
  57.     uplevel ::iwidgets::Messagedialog $pathName $args
  58. }
  59.  
  60. #
  61. # Use option database to override default resources of base classes.
  62. #
  63. option add *Messagedialog.title "Message Dialog" widgetDefault
  64. option add *Messagedialog.master "." widgetDefault
  65. option add *Messagedialog.textPadX 20 widgetDefault
  66. option add *Messagedialog.textPadY 20 widgetDefault
  67.  
  68. # ------------------------------------------------------------------
  69. #                        CONSTRUCTOR
  70. # ------------------------------------------------------------------
  71. itcl::body iwidgets::Messagedialog::constructor {args} {
  72.     #
  73.     # Create the image component which may be either a bitmap or image.
  74.     #
  75.     itk_component add image {
  76.     label $itk_interior.image 
  77.     } {
  78.     keep -background -bitmap -cursor -foreground -image 
  79.     }
  80.     
  81.     #
  82.     # Create the text message component.  The message may extend over
  83.     # several lines by embedding '\n' characters.
  84.     #
  85.     itk_component add message {
  86.     label $itk_interior.message
  87.     } {
  88.     keep -background -cursor -font -foreground -text 
  89.     keep -wraplength -justify
  90.  
  91.     rename -padx -textpadx textPadX Pad
  92.     rename -pady -textpady textPadY Pad
  93.     }
  94.     
  95.     #
  96.     # Hide the apply and help buttons.
  97.     #
  98.     hide Apply
  99.     hide Help
  100.     
  101.     #
  102.     # Initialize the widget based on the command line options.
  103.     #
  104.     eval itk_initialize $args
  105. }   
  106.  
  107. # ------------------------------------------------------------------
  108. #                             OPTIONS
  109. # ------------------------------------------------------------------
  110.  
  111. # ------------------------------------------------------------------
  112. # OPTION: -imagepos
  113. #
  114. # Specifies the image position relative to the message: n, s,
  115. # e, or w.  The default is w.
  116. # ------------------------------------------------------------------
  117. itcl::configbody iwidgets::Messagedialog::imagepos {
  118.     switch $itk_option(-imagepos) {
  119.         n {
  120.         grid $itk_component(image) -row 0 -column 0 
  121.         grid $itk_component(message) -row 1 -column 0 
  122.         }
  123.         s {
  124.         grid $itk_component(message) -row 0 -column 0 
  125.         grid $itk_component(image) -row 1 -column 0 
  126.         }
  127.         e {
  128.         grid $itk_component(message) -row 0 -column 0 
  129.         grid $itk_component(image) -row 0 -column 1
  130.         }
  131.         w {
  132.         grid $itk_component(image) -row 0 -column 0 
  133.         grid $itk_component(message) -row 0 -column 1
  134.         }
  135.     
  136.         default {
  137.             error "bad imagepos option \"$itk_option(-imagepos)\":\
  138.             should be n, e, s, or w"
  139.         }
  140.     }
  141. }
  142.