Start anew
[msysgit.git] / mingw / lib / tk8.4 / optMenu.tcl
blob05b3a455095b84c3e8b291aecc45a82f082ee4b0
1 # optMenu.tcl --
3 # This file defines the procedure tk_optionMenu, which creates
4 # an option button and its associated menu.
6 # RCS: @(#) $Id: optMenu.tcl,v 1.4 2001/08/01 16:21:11 dgp Exp $
8 # Copyright (c) 1994 The Regents of the University of California.
9 # Copyright (c) 1994 Sun Microsystems, Inc.
11 # See the file "license.terms" for information on usage and redistribution
12 # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
15 # ::tk_optionMenu --
16 # This procedure creates an option button named $w and an associated
17 # menu. Together they provide the functionality of Motif option menus:
18 # they can be used to select one of many values, and the current value
19 # appears in the global variable varName, as well as in the text of
20 # the option menubutton. The name of the menu is returned as the
21 # procedure's result, so that the caller can use it to change configuration
22 # options on the menu or otherwise manipulate it.
24 # Arguments:
25 # w - The name to use for the menubutton.
26 # varName - Global variable to hold the currently selected value.
27 # firstValue - First of legal values for option (must be >= 1).
28 # args - Any number of additional values.
30 proc ::tk_optionMenu {w varName firstValue args} {
31 upvar #0 $varName var
33 if {![info exists var]} {
34 set var $firstValue
36 menubutton $w -textvariable $varName -indicatoron 1 -menu $w.menu \
37 -relief raised -bd 2 -highlightthickness 2 -anchor c \
38 -direction flush
39 menu $w.menu -tearoff 0
40 $w.menu add radiobutton -label $firstValue -variable $varName
41 foreach i $args {
42 $w.menu add radiobutton -label $i -variable $varName
44 return $w.menu