Perl in a Nutshell

Perl in a NutshellSearch this book
Previous: 18.14 The Menubutton WidgetChapter 18
Perl/Tk
Next: 18.16 The Optionmenu Widget
 

18.15 The Menu Widget

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

$menu = $parent->Menu(options)
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:

n

Menu item n, with 0 representing the first item.

'active'

The current menu item.

'end' or 'last'

The last menu item.

'none'

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:

add

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 );

entrycget

Gets information on a specific menu item given an index.

entryconfigure

Changes information on a specific menu item given an index.

post

Displays the menu widget.

unpost

Removes the menu widget from display.

postcascade

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

delete

Removes menu items from the menu.

index

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

insert

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

invoke

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

type

Returns the type of menu item at the specified index.

yposition

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


Previous: 18.14 The Menubutton WidgetPerl in a NutshellNext: 18.16 The Optionmenu Widget
18.14 The Menubutton WidgetBook Index18.16 The Optionmenu Widget