| # |
| # Promptdialog |
| # ---------------------------------------------------------------------- |
| # Implements a prompt dialog similar to the OSF/Motif standard prompt |
| # dialog composite widget. The Promptdialog is derived from the |
| # Dialog class and is composed of a EntryField with methods to |
| # manipulate the dialog buttons. |
| # |
| # ---------------------------------------------------------------------- |
| # AUTHOR: Mark L. Ulferts EMAIL: mulferts@austin.dsccc.com |
| # |
| # @(#) $Id: promptdialog.itk,v 1.2 2001/08/07 19:56:48 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 Promptdialog { |
| keep -background -borderwidth -cursor -foreground -highlightcolor \ |
| -highlightthickness -insertbackground -insertborderwidth \ |
| -insertofftime -insertontime -insertwidth -labelfont -modality \ |
| -selectbackground -selectborderwidth -selectforeground \ |
| -textbackground -textfont |
| } |
| |
| # ------------------------------------------------------------------ |
| # PROMPTDIALOG |
| # ------------------------------------------------------------------ |
| itcl::class iwidgets::Promptdialog { |
| inherit iwidgets::Dialog |
| |
| constructor {args} {} |
| |
| public method get {} |
| public method clear {} |
| public method insert {args} |
| public method delete {args} |
| public method icursor {args} |
| public method index {args} |
| public method scan {args} |
| public method selection {args} |
| method xview {args} |
| } |
| |
| # |
| # Provide a lowercased access method for the Dialogshell class. |
| # |
| proc ::iwidgets::promptdialog {pathName args} { |
| uplevel ::iwidgets::Promptdialog $pathName $args |
| } |
| |
| # |
| # Use option database to override default resources of base classes. |
| # |
| option add *Promptdialog.labelText Selection widgetDefault |
| option add *Promptdialog.labelPos nw widgetDefault |
| option add *Promptdialog.title "Prompt Dialog" widgetDefault |
| option add *Promptdialog.master "." widgetDefault |
| |
| # ------------------------------------------------------------------ |
| # CONSTRUCTOR |
| # ------------------------------------------------------------------ |
| itcl::body iwidgets::Promptdialog::constructor {args} { |
| # |
| # Set the borderwidth to zero. |
| # |
| component hull configure -borderwidth 0 |
| |
| # |
| # Create an entry field widget. |
| # |
| itk_component add prompt { |
| iwidgets::Entryfield $itk_interior.prompt -command [itcl::code $this invoke] |
| } { |
| usual |
| |
| keep -exportselection -invalid -labelpos -labeltext -relief \ |
| -show -textbackground -textfont -validate |
| } |
| |
| pack $itk_component(prompt) -fill x -expand yes |
| set itk_interior [childsite] |
| |
| hide Help |
| |
| # |
| # Initialize the widget based on the command line options. |
| # |
| eval itk_initialize $args |
| } |
| |
| # ------------------------------------------------------------------ |
| # METHODS |
| # ------------------------------------------------------------------ |
| |
| # ------------------------------------------------------------------ |
| # METHOD: get |
| # |
| # Thinwrapped method of entry field class. |
| # ------------------------------------------------------------------ |
| itcl::body iwidgets::Promptdialog::get {} { |
| return [$itk_component(prompt) get] |
| } |
| |
| # ------------------------------------------------------------------ |
| # METHOD: clear |
| # |
| # Thinwrapped method of entry field class. |
| # ------------------------------------------------------------------ |
| itcl::body iwidgets::Promptdialog::clear {} { |
| eval $itk_component(prompt) clear |
| } |
| |
| # ------------------------------------------------------------------ |
| # METHOD: insert args |
| # |
| # Thinwrapped method of entry field class. |
| # ------------------------------------------------------------------ |
| itcl::body iwidgets::Promptdialog::insert {args} { |
| eval $itk_component(prompt) insert $args |
| } |
| |
| # ------------------------------------------------------------------ |
| # METHOD: delete first ?last? |
| # |
| # Thinwrapped method of entry field class. |
| # ------------------------------------------------------------------ |
| itcl::body iwidgets::Promptdialog::delete {args} { |
| eval $itk_component(prompt) delete $args |
| } |
| |
| # ------------------------------------------------------------------ |
| # METHOD: icursor |
| # |
| # Thinwrapped method of entry field class. |
| # ------------------------------------------------------------------ |
| itcl::body iwidgets::Promptdialog::icursor {args} { |
| eval $itk_component(prompt) icursor $args |
| } |
| |
| # ------------------------------------------------------------------ |
| # METHOD: index |
| # |
| # Thinwrapped method of entry field class. |
| # ------------------------------------------------------------------ |
| itcl::body iwidgets::Promptdialog::index {args} { |
| return [eval $itk_component(prompt) index $args] |
| } |
| |
| # ------------------------------------------------------------------ |
| # METHOD: scan option args |
| # |
| # Thinwrapped method of entry field class. |
| # ------------------------------------------------------------------ |
| itcl::body iwidgets::Promptdialog::scan {args} { |
| eval $itk_component(prompt) scan $args |
| } |
| |
| # ------------------------------------------------------------------ |
| # METHOD: selection args |
| # |
| # Thinwrapped method of entry field class. |
| # ------------------------------------------------------------------ |
| itcl::body iwidgets::Promptdialog::selection {args} { |
| eval $itk_component(prompt) selection $args |
| } |
| |
| # ------------------------------------------------------------------ |
| # METHOD: xview args |
| # |
| # Thinwrapped method of entry field class. |
| # ------------------------------------------------------------------ |
| itcl::body iwidgets::Promptdialog::xview {args} { |
| eval $itk_component(prompt) xview $args |
| } |
| |
| |