![]() |
![]() |
It is a container of Gtk::MenuItem objects arranged in a list which can be navigated, selected, and activated by the user to perform application functions. It can have a submenu associated with it, allowing for nested hierarchical menus. You can use append(), prepend() and insert() to add Gtk::MenuItem widgets, but you will probably find it more convenient to use the STL-style items() interface with the Gtk::Menu_Helpers::MenuElem() class.
Public Types | ||||
typedef Menu_Helpers::MenuList | MenuList | |||
Public Member Functions | ||||
void | accelerate (Widget& parent) | |||
Initializes menu accelerators. | ||||
void | accelerate (Window& window) | |||
Initializes menu accelerators. | ||||
void | activate_item (MenuItem& menu_item, bool force_deactivate=false) | |||
void | append (MenuItem& menu_item) | |||
void | cancel () | |||
Cancels the selection within the menu shell. | ||||
void | deactivate () | |||
void | deselect () | |||
const GtkMenuShell* | gobj () const | |||
Provides access to the underlying C GtkObject. | ||||
GtkMenuShell* | gobj () | |||
Provides access to the underlying C GtkObject. | ||||
void | insert (MenuItem& menu_item, int position) | |||
const MenuList& | items () const | |||
MenuList& | items () | |||
void | prepend (MenuItem& menu_item) | |||
void | select_first (bool search_sensitive=true) | |||
Select the first visible or selectable child of the menu shell; don't select tearoff items unless the only item is a tearoff item. | ||||
void | select_item (MenuItem& menu_item) | |||
Glib::SignalProxy0<void> | signal_deactivate () | |||
| ||||
Glib::SignalProxy0<void> | signal_selection_done () | |||
| ||||
virtual | ~MenuShell () | |||
Protected Member Functions | ||||
MenuShell () | ||||
Friends | ||||
class | Menu_Helpers::MenuList | |||
Related Functions | ||||
(Note that these are not member functions.) | ||||
Gtk::MenuShell* | wrap (GtkMenuShell* object, bool take_copy=false) | |||
|
virtual Gtk::MenuShell::~MenuShell | ( | ) | [virtual] |
Gtk::MenuShell::MenuShell | ( | ) | [protected] |
void Gtk::MenuShell::accelerate | ( | Widget& | parent | ) |
Initializes menu accelerators.
Does the same as the accelerate(Window& window) method. But you can use any parent widget where the menu is used. This method then gets the toplevel window using Widget::get_toplevel() and uses this window for registering the menu accelerators.
parent | Parent widget used as starting point for searching the toplevel window. |
void Gtk::MenuShell::accelerate | ( | Window& | window | ) |
Initializes menu accelerators.
This method initializes the menu accelerators. Therefore an AccelGroup object is needed which is stored in each Window object in the Gtkmm library implementation.
When using MenuBar and OptionMenu objects this method is called automatically when the menus are realized. Because most likely the MenuBar and OptionMenu is attached to a window at this time and the window object can be found automatically.
Important note when using popup menus: If you are using accelerated menu entries inside a popup menu you have to call the accelerate() method manually. This is because the popup menu is not connected to any window and the accelerators should be initialized even before the popup menu is shown. The right place to call the accelerate() method is right after the popup menu has been build.
window | Window where the menu is shown. Inside this window the AccelGroup object is stored that will be used to initialize the accelerators. |
void Gtk::MenuShell::activate_item | ( | MenuItem& | menu_item, | |
bool | force_deactivate = false | |||
) |
void Gtk::MenuShell::append | ( | MenuItem& | menu_item | ) |
void Gtk::MenuShell::cancel | ( | ) |
void Gtk::MenuShell::deactivate | ( | ) |
void Gtk::MenuShell::deselect | ( | ) |
const GtkMenuShell* Gtk::MenuShell::gobj | ( | ) | const [inline] |
Provides access to the underlying C GtkObject.
Reimplemented from Gtk::Container.
Reimplemented in Gtk::Menu, and Gtk::MenuBar.
GtkMenuShell* Gtk::MenuShell::gobj | ( | ) | [inline] |
Provides access to the underlying C GtkObject.
Reimplemented from Gtk::Container.
Reimplemented in Gtk::Menu, and Gtk::MenuBar.
void Gtk::MenuShell::insert | ( | MenuItem& | menu_item, | |
int | position | |||
) |
const MenuList& Gtk::MenuShell::items | ( | ) | const |
MenuList& Gtk::MenuShell::items | ( | ) |
void Gtk::MenuShell::prepend | ( | MenuItem& | menu_item | ) |
void Gtk::MenuShell::select_first | ( | bool | search_sensitive = true |
) |
Select the first visible or selectable child of the menu shell; don't select tearoff items unless the only item is a tearoff item.
search_sensitive | If true , search for the first selectable menu item, otherwise select nothing if the first item isn't sensitive. This should be false if the menu is being popped up initially. |
void Gtk::MenuShell::select_item | ( | MenuItem& | menu_item | ) |
Glib::SignalProxy0< void > Gtk::MenuShell::signal_deactivate | ( | ) |
void deactivate()
Glib::SignalProxy0< void > Gtk::MenuShell::signal_selection_done | ( | ) |
void selection_done()
friend class Menu_Helpers::MenuList [friend] |
Gtk::MenuShell* wrap | ( | GtkMenuShell * | object, | |
bool | take_copy = false | |||
) | [related] |
object | The C instance |
take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref. |