home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  

18.15 The Menu Widget

Create a menu with the Menu method, to be displayed later with the post method.

$menu = $parent->Menu(
The standard configuration options that apply to Menu are: -activebackground , -activeforeground , -background , -bg , -borderwidth , -bw , -cursor , -disabledforeground , -font , -foreground , -fg , -relief , and -takefocus .

Other options are:

-activeborderwidth => amount

Sets the width of the edges for the active menu item.

-menuitems => list

Specifies items to create in the menu as a list of lists.

-postcommand => callback

The command to invoke before the menu is posted, for example, to update the state of the menu items.

-tearoff => boolean

Whether or not to allow the menu to be "torn off." Default is 1.

-selectcolor => color

Color of the selection box for checkbuttons or radiobuttons.

18.15.1 Menu Indexes

Menus have indexes for manipulating individual menu items. They are:


Menu item n , with 0 representing the first item.


The current menu item.

'end' or 'last'

The last menu item.


No menu item.

@ n

The menu item closest to the y coordinate specified by n .

' pattern'

The first menu item whose text matches the pattern.

18.15.2 Menu Methods

In addition to configure and cget , the following methods are defined for the Menu widget:


Adds items to the end of a menu. The first argument is the type of menu item to add, and additional arguments are options to the menu item. For example:

$menu = $mainwindow->Menu;
$menu->add( 'commnd', -label => "New", "-command" => \&newfile );


Gets information on a specific menu item given an index.


Changes information on a specific menu item given an index.


Displays the menu widget.


Removes the menu widget from display.


Unposts a submenu and then posts the cascade menu associated with the menu item at the specified index.


Removes menu items from the menu.


Given a named index, returns the numerical index for that menu item.


Inserts a menu item at the specified index. Same as add , except that it takes an index as the first argument.


Invokes the menu item at the specified index as if it were selected.


Returns the type of menu item at the specified index.


Returns the y coordinate of the top-most pixel of the menu item.