Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / v8plus / lib / tk8.4 / optMenu.tcl
CommitLineData
920dae64
AT
1# optMenu.tcl --
2#
3# This file defines the procedure tk_optionMenu, which creates
4# an option button and its associated menu.
5#
6# RCS: @(#) $Id: optMenu.tcl,v 1.4 2001/08/01 16:21:11 dgp Exp $
7#
8# Copyright (c) 1994 The Regents of the University of California.
9# Copyright (c) 1994 Sun Microsystems, Inc.
10#
11# See the file "license.terms" for information on usage and redistribution
12# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
13#
14
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.
23#
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.
29
30proc ::tk_optionMenu {w varName firstValue args} {
31 upvar #0 $varName var
32
33 if {![info exists var]} {
34 set var $firstValue
35 }
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
43 }
44 return $w.menu
45}