URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [trunk/] [insight/] [itcl/] [iwidgets3.0.0/] [generic/] [fileselectiondialog.itk] - Rev 1765
Compare with Previous | Blame | View Log
## Fileselectiondialog# ----------------------------------------------------------------------# Implements a file selection box similar to the OSF/Motif standard# file selection dialog composite widget. The Fileselectiondialog is# derived from the Dialog class and is composed of a FileSelectionBox# with attributes set to manipulate the dialog buttons.## ----------------------------------------------------------------------# AUTHOR: Mark L. Ulferts EMAIL: mulferts@spd.dsccc.com## @(#) $Id: fileselectiondialog.itk,v 1.1.1.1 2002-01-16 10:24:50 markom 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 Fileselectiondialog {keep -activebackground -activerelief -background -borderwidth -cursor \-elementborderwidth -foreground -highlightcolor -highlightthickness \-insertbackground -insertborderwidth -insertofftime -insertontime \-insertwidth -jump -labelfont -modality -selectbackground \-selectborderwidth -textbackground -textfont}# ------------------------------------------------------------------# FILESELECTIONDIALOG# ------------------------------------------------------------------class iwidgets::Fileselectiondialog {inherit iwidgets::Dialogconstructor {args} {}public {method childsite {}method get {}method filter {}}protected method _dbldir {}}## Provide a lowercased access method for the Fileselectiondialog class.#proc ::iwidgets::fileselectiondialog {pathName args} {uplevel ::iwidgets::Fileselectiondialog $pathName $args}## Use option database to override default resources of base classes.#option add *Fileselectiondialog.borderWidth 2 widgetDefaultoption add *Fileselectiondialog.title "File Selection Dialog" widgetDefaultoption add *Fileselectiondialog.width 350 widgetDefaultoption add *Fileselectiondialog.height 400 widgetDefaultoption add *Fileselectiondialog.master "." widgetDefault# ------------------------------------------------------------------# CONSTRUCTOR# ------------------------------------------------------------------body iwidgets::Fileselectiondialog::constructor {args} {component hull configure -borderwidth 0itk_option add hull.width hull.height## Turn off pack propagation for the hull widget so the width# and height options become active.#pack propagate $itk_component(hull) no## Instantiate a file selection box widget.#itk_component add fsb {iwidgets::Fileselectionbox $itk_interior.fsb -width 150 -height 150 \-selectioncommand [code $this invoke] \-selectdircommand [code $this default Apply] \-selectfilecommand [code $this default OK]} {usualkeep -labelfont -childsitepos -directory -dirslabel \-dirsearchcommand -dirson -fileslabel -fileson \-filesearchcommand -filterlabel -filteron \-filetype -invalid -mask -nomatchstring \-selectionlabel -selectionon}grid $itk_component(fsb) -sticky nsewgrid rowconfigure $itk_interior 0 -weight 1grid columnconfigure $itk_interior 0 -weight 1$itk_component(fsb) component filter configure \-focuscommand [code $this default Apply]$itk_component(fsb) component selection configure \-focuscommand [code $this default OK]$itk_component(fsb) component dirs configure \-dblclickcommand [code $this _dbldir]$itk_component(fsb) component files configure \-dblclickcommand [code $this invoke]buttonconfigure Apply -text "Filter" \-command [code $itk_component(fsb) filter]set itk_interior [$itk_component(fsb) childsite]hide Helpeval itk_initialize $args}# ------------------------------------------------------------------# METHODS# ------------------------------------------------------------------# ------------------------------------------------------------------# METHOD: childsite## Thinwrapped method of file selection box class.# ------------------------------------------------------------------body iwidgets::Fileselectiondialog::childsite {} {return [$itk_component(fsb) childsite]}# ------------------------------------------------------------------# METHOD: get## Thinwrapped method of file selection box class.# ------------------------------------------------------------------body iwidgets::Fileselectiondialog::get {} {return [$itk_component(fsb) get]}# ------------------------------------------------------------------# METHOD: filter## Thinwrapped method of file selection box class.# ------------------------------------------------------------------body iwidgets::Fileselectiondialog::filter {} {return [$itk_component(fsb) filter]}# ------------------------------------------------------------------# PROTECTED METHOD: _dbldir## Double select in directory list. If the files list is on then# make the default button the filter and invoke. If not, just invoke.# ------------------------------------------------------------------body iwidgets::Fileselectiondialog::_dbldir {} {if {$itk_option(-fileson)} {default Apply}invoke}
