📄 selectiondialog.itk
字号:
## Selectiondialog# ----------------------------------------------------------------------# Implements a selection box similar to the OSF/Motif standard selection# dialog composite widget. The Selectiondialog is derived from the # Dialog class and is composed of a SelectionBox with attributes to# manipulate the dialog buttons.# # ----------------------------------------------------------------------# AUTHOR: Mark L. Ulferts EMAIL: mulferts@austin.dsccc.com## @(#) $Id: selectiondialog.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 Selectiondialog { keep -activebackground -activerelief -background -borderwidth -cursor \ -elementborderwidth -foreground -highlightcolor -highlightthickness \ -insertbackground -insertborderwidth -insertofftime -insertontime \ -insertwidth -jump -labelfont -modality -selectbackground \ -selectborderwidth -selectforeground -textbackground -textfont \ -troughcolor}# ------------------------------------------------------------------# SELECTIONDIALOG# ------------------------------------------------------------------itcl::class iwidgets::Selectiondialog { inherit iwidgets::Dialog constructor {args} {} public method childsite {} public method get {} public method curselection {} public method clear {component} public method insert {component index args} public method delete {first {last {}}} public method size {} public method scan {option args} public method nearest {y} public method index {index} public method selection {option args} public method selectitem {}} ## Provide a lowercased access method for the Selectiondialog class.# proc ::iwidgets::selectiondialog {pathName args} { uplevel ::iwidgets::Selectiondialog $pathName $args}## Use option database to override default resources of base classes.#option add *Selectiondialog.title "Selection Dialog" widgetDefaultoption add *Selectiondialog.master "." widgetDefault# ------------------------------------------------------------------# CONSTRUCTOR# ------------------------------------------------------------------itcl::body iwidgets::Selectiondialog::constructor {args} { # # Set the borderwidth to zero. # component hull configure -borderwidth 0 # # Instantiate a selection box widget. # itk_component add selectionbox { iwidgets::Selectionbox $itk_interior.selectionbox \ -dblclickcommand [itcl::code $this invoke] } { usual keep -childsitepos -exportselection -itemscommand -itemslabel \ -itemson -selectionlabel -selectionon -selectioncommand } configure -itemscommand [itcl::code $this selectitem] pack $itk_component(selectionbox) -fill both -expand yes set itk_interior [$itk_component(selectionbox) childsite] hide Help eval itk_initialize $args} # ------------------------------------------------------------------# METHODS# ------------------------------------------------------------------# ------------------------------------------------------------------# METHOD: childsite## Thinwrapped method of selection box class.# ------------------------------------------------------------------itcl::body iwidgets::Selectiondialog::childsite {} { return [$itk_component(selectionbox) childsite]}# ------------------------------------------------------------------# METHOD: get## Thinwrapped method of selection box class.# ------------------------------------------------------------------itcl::body iwidgets::Selectiondialog::get {} { return [$itk_component(selectionbox) get]}# ------------------------------------------------------------------# METHOD: curselection## Thinwrapped method of selection box class.# ------------------------------------------------------------------itcl::body iwidgets::Selectiondialog::curselection {} { return [$itk_component(selectionbox) curselection]}# ------------------------------------------------------------------# METHOD: clear component## Thinwrapped method of selection box class.# ------------------------------------------------------------------itcl::body iwidgets::Selectiondialog::clear {component} { $itk_component(selectionbox) clear $component return}# ------------------------------------------------------------------# METHOD: insert component index args## Thinwrapped method of selection box class.# ------------------------------------------------------------------itcl::body iwidgets::Selectiondialog::insert {component index args} { eval $itk_component(selectionbox) insert $component $index $args return}# ------------------------------------------------------------------# METHOD: delete first ?last?## Thinwrapped method of selection box class.# ------------------------------------------------------------------itcl::body iwidgets::Selectiondialog::delete {first {last {}}} { $itk_component(selectionbox) delete $first $last return}# ------------------------------------------------------------------# METHOD: size## Thinwrapped method of selection box class.# ------------------------------------------------------------------itcl::body iwidgets::Selectiondialog::size {} { return [$itk_component(selectionbox) size]}# ------------------------------------------------------------------# METHOD: scan option args## Thinwrapped method of selection box class.# ------------------------------------------------------------------itcl::body iwidgets::Selectiondialog::scan {option args} { return [eval $itk_component(selectionbox) scan $option $args]}# ------------------------------------------------------------------# METHOD: nearest y## Thinwrapped method of selection box class.# ------------------------------------------------------------------itcl::body iwidgets::Selectiondialog::nearest {y} { return [$itk_component(selectionbox) nearest $y]}# ------------------------------------------------------------------# METHOD: index index## Thinwrapped method of selection box class.# ------------------------------------------------------------------itcl::body iwidgets::Selectiondialog::index {index} { return [$itk_component(selectionbox) index $index]}# ------------------------------------------------------------------# METHOD: selection option args## Thinwrapped method of selection box class.# ------------------------------------------------------------------itcl::body iwidgets::Selectiondialog::selection {option args} { eval $itk_component(selectionbox) selection $option $args}# ------------------------------------------------------------------# METHOD: selectitem## Set the default button to ok and select the item.# ------------------------------------------------------------------itcl::body iwidgets::Selectiondialog::selectitem {} { default OK $itk_component(selectionbox) selectitem}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -