Gtk2::Menu

NAME

Gtk2::Menu − wrapper for GtkMenu

HIERARCHY

Glib::Object
+−−−−Glib::InitiallyUnowned
+−−−−Gtk2::Object
+−−−−Gtk2::Widget
+−−−−Gtk2::Container
+−−−−Gtk2::MenuShell
+−−−−Gtk2::Menu

INTERFACES

Glib::Object::_Unregistered::AtkImplementorIface
Gtk2::Buildable

METHODS

widget = Gtk2::Menu−>new
accelgroup = $menu−>get_accel_group
$menu−>set_accel_group ($accel_group)

$accel_group (Gtk2::AccelGroup)

string = $menu−>get_accel_path
Since: gtk+ 2.14

$menu−>set_accel_path ($accel_path)

$accel_path (string)

widget = $menu−>get_active
$menu−>set_active ($index)

$index (integer)

$menu−>attach ($child, $left_attach, $right_attach, $top_attach, $bottom_attach)

$child (Gtk2::Widget)

$left_attach (integer)

$right_attach (integer)

$top_attach (integer)

$bottom_attach (integer)

Since: gtk+ 2.4

$menu−>attach_to_widget ($attach_widget, $detach_func)

$attach_widget (Gtk2::Widget)

$detach_func (scalar)

Attach $menu to $attach_widget. $menu must not be currently attached to any other widget, including not a submenu of a "Gtk2::MenuItem".

If $menu is later detached from the widget with "$menu−>detach" then the $detach_func is called as

&$detach_func ($attach_widget, $menu)

widget = $menu−>get_attach_widget
$menu−>detach
list = Gtk2::Menu−>get_for_attach_widget ($widget)

$widget (Gtk2::Widget)

Since: gtk+ 2.6

integer = $menu−>get_monitor
Since: gtk+ 2.14

$menu−>set_monitor ($monitor_num)

$monitor_num (integer)

Since: gtk+ 2.4

$menu−>popdown
$menu−>popup ($parent_menu_shell, $parent_menu_item, $menu_pos_func, $data, $button, $activate_time)

$parent_menu_shell (Gtk2::Widget or undef)

$parent_menu_item (Gtk2::Widget or undef)

$menu_pos_func (scalar)

$data (scalar)

$button (integer)

$activate_time (integer)

If $menu_pos_func is not "undef" it’s called as

($x, $y, $push_in) = &$menu_pos_func ($menu, $x, $y, $data)

$x,$y inputs are a proposed position based on the mouse pointer (not actually documented in the Gtk manuals). The return should be a desired $x,$y, and an optional $push_in flag. If $push_in is true then Gtk will adjust $x,$y if necessary so the menu is fully visible in the screen width and height.

$menu_pos_func and $data are stored in $menu and may be called again later for a "$menu−>reposition" or some obscure things like a changed "set_screen" while torn-off. A further "$menu−>popup" call replaces $menu_pos_func and $data.

$menu−>reorder_child ($child, $position)

$child (Gtk2::Widget)

$position (integer)

$menu−>reposition
boolean = $menu−>get_reserve_toggle_size

Since: gtk+ 2.18

$menu−>set_reserve_toggle_size ($reserve_toggle_size)

$reserve_toggle_size (boolean)

Since: gtk+ 2.18

$menu−>set_screen ($screen)

$screen (Gtk2::Gdk::Screen or undef)

Since: gtk+ 2.2

boolean = $menu−>get_tearoff_state
$menu−>set_tearoff_state ($torn_off)

$torn_off (boolean)

string = $menu−>get_title
$menu−>set_title ($title)

$title (string)

PROPERTIES

’accel−group’ (Gtk2::AccelGroup : default undef : readable / writable /
private)

The accel group holding accelerators for the menu

’accel−path’ (string : default undef : readable / writable / private)

An accel path used to conveniently construct accel paths of child items

’active’ (integer : default −1 : readable / writable / private)

The currently selected menu item

’attach−widget’ (Gtk2::Widget : default undef : readable / writable /
private)

The widget the menu is attached to

’monitor’ (integer : default −1 : readable / writable / private)

The monitor the menu will be popped up on

’reserve−toggle−size’ (boolean : default true : readable / writable /
private)

A boolean that indicates whether the menu reserves space for toggles and icons

’tearoff−state’ (boolean : default false : readable / writable /
private)

A boolean that indicates whether the menu is torn-off

’tearoff−title’ (string : default undef : readable / writable /
private)

A title that may be displayed by the window manager when this menu is torn-off

CHILD PROPERTIES

’bottom−attach’ (integer : default −1 : readable / writable / private)

The row number to attach the bottom of the child to

’left−attach’ (integer : default −1 : readable / writable / private)

The column number to attach the left side of the child to

’right−attach’ (integer : default −1 : readable / writable / private)

The column number to attach the right side of the child to

’top−attach’ (integer : default −1 : readable / writable / private)

The row number to attach the top of the child to

STYLE PROPERTIES

’arrow−placement’ (Gtk2::ArrowPlacement : default "both" : readable /
private)

Indicates where scroll arrows should be placed

’arrow−scaling’ (float : default 0.7 : readable / private)

Arbitrary constant to scale down the size of the scroll arrow

’double−arrows’ (boolean : default true : readable / private)

When scrolling, always show both arrows.

’horizontal−offset’ (integer : default −2 : readable / private)

When the menu is a submenu, position it this number of pixels offset horizontally

’horizontal−padding’ (integer : default 0 : readable / private)

Extra space at the left and right edges of the menu

’vertical−offset’ (integer : default 0 : readable / private)

When the menu is a submenu, position it this number of pixels offset vertically

’vertical−padding’ (integer : default 1 : readable / private)

Extra space at the top and bottom of the menu

SIGNALS

move-scroll (Gtk2::Menu, Gtk2::ScrollType)

ENUMS AND FLAGS

enum Gtk2::ScrollType

’none’ / ’ GTK_SCROLL_NONE

’jump’ / ’ GTK_SCROLL_JUMP

’step−backward’ / ’ GTK_SCROLL_STEP_BACKWARD

’step−forward’ / ’ GTK_SCROLL_STEP_FORWARD

’page−backward’ / ’ GTK_SCROLL_PAGE_BACKWARD

’page−forward’ / ’ GTK_SCROLL_PAGE_FORWARD

’step−up’ / ’ GTK_SCROLL_STEP_UP

’step−down’ / ’ GTK_SCROLL_STEP_DOWN

’page−up’ / ’ GTK_SCROLL_PAGE_UP

’page−down’ / ’ GTK_SCROLL_PAGE_DOWN

’step−left’ / ’ GTK_SCROLL_STEP_LEFT

’step−right’ / ’ GTK_SCROLL_STEP_RIGHT

’page−left’ / ’ GTK_SCROLL_PAGE_LEFT

’page−right’ / ’ GTK_SCROLL_PAGE_RIGHT

’start’ / ’ GTK_SCROLL_START

’end’ / ’ GTK_SCROLL_END

SEE ALSO

Gtk2, Glib::Object, Glib::InitiallyUnowned, Gtk2::Object, Gtk2::Widget, Gtk2::Container, Gtk2::MenuShell

COPYRIGHT

Copyright (C) 2003−2011 by the gtk2−perl team.

This software is licensed under the LGPL. See Gtk2 for a full notice.