| # |
| # Dialog |
| # ---------------------------------------------------------------------- |
| # Implements a standard dialog box providing standard buttons and a |
| # child site for use in derived classes. The buttons include ok, apply, |
| # cancel, and help. Options exist to configure the buttons. |
| # |
| # ---------------------------------------------------------------------- |
| # AUTHOR: Mark L. Ulferts EMAIL: mulferts@austin.dsccc.com |
| # |
| # @(#) $Id: dialog.itk,v 1.2 2001/08/07 19:56:47 smithc Exp $ |
| # ---------------------------------------------------------------------- |
| # Copyright (c) 1995 DSC Technologies Corporation |
| # ====================================================================== |
| # Permission to use, copy, modify, distribute and license this software |
| # and its documentation for any purpose, and without fee or written |
| # agreement with DSC, is hereby granted, provided that the above copyright |
| # notice appears in all copies and that both the copyright notice and |
| # warranty disclaimer below appear in supporting documentation, and that |
| # the names of DSC Technologies Corporation or DSC Communications |
| # Corporation not be used in advertising or publicity pertaining to the |
| # software without specific, written prior permission. |
| # |
| # DSC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING |
| # ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, AND NON- |
| # INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE |
| # AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, |
| # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. IN NO EVENT SHALL |
| # DSC BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR |
| # ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, |
| # WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, |
| # ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS |
| # SOFTWARE. |
| # ====================================================================== |
| |
| # |
| # Usual options. |
| # |
| itk::usual Dialog { |
| keep -background -cursor -foreground -modality |
| } |
| |
| # ------------------------------------------------------------------ |
| # DIALOG |
| # ------------------------------------------------------------------ |
| itcl::class iwidgets::Dialog { |
| inherit iwidgets::Dialogshell |
| |
| constructor {args} {} |
| } |
| |
| # |
| # Provide a lowercased access method for the Dialog class. |
| # |
| proc ::iwidgets::dialog {pathName args} { |
| uplevel ::iwidgets::Dialog $pathName $args |
| } |
| |
| # |
| # Use option database to override default resources of base classes. |
| # |
| option add *Dialog.master "." widgetDefault |
| |
| # ------------------------------------------------------------------ |
| # CONSTRUCTOR |
| # ------------------------------------------------------------------ |
| itcl::body iwidgets::Dialog::constructor {args} { |
| # |
| # Add the standard buttons: OK, Apply, Cancel, and Help, making |
| # OK be the default button. |
| # |
| add OK -text OK -command [itcl::code $this deactivate 1] |
| add Apply -text Apply |
| add Cancel -text Cancel -command [itcl::code $this deactivate 0] |
| add Help -text Help |
| |
| default OK |
| |
| # |
| # Bind the window manager delete protocol to invocation of the |
| # cancel button. This can be overridden by the user via the |
| # execution of a similar command outside the class. |
| # |
| wm protocol $itk_component(hull) WM_DELETE_WINDOW \ |
| [itcl::code $this invoke Cancel] |
| |
| # |
| # Initialize the widget based on the command line options. |
| # |
| eval itk_initialize $args |
| } |
| |