gtkmm: Gtk::Menu Class Reference

gtkmm 3.91.2

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Related Functions | List of all members
Gtk::Menu Class Reference
Widgets | Menu classes

A drop-down menu consisting of Gtk::MenuItem objects which can be navigated and activated by the user to perform application functions. More...

`#include <gtkmm/menu.h>`

Inheritance diagram for Gtk::Menu:
[legend]

## Public Types
typedef sigc::slot< void(int&, int&, bool&)> | SlotPositionCalc
| For instance, void on_popup_menu_position(int& x, int& y, bool& push_in);. More...
Public Types inherited from Gtk::Container
using | ForeachSlot = sigc::slot< void(Widget&)>
| For instance, void on_foreach(Gtk::Widget& widget);. More...
Public Types inherited from Glib::Object
typedef void(*)(gpointer data | DestroyNotify)
Public Types inherited from sigc::trackable
typedef internal::func_destroy_notify | func_destroy_notify

## Public Member Functions
| Menu (Menu&& src) noexcept
Menu& | operator= (Menu&& src) noexcept
| Menu (const Menu&)=delete
Menu& | operator= (const Menu&)=delete
| ~Menu () noexceptoverride
GtkMenu* | gobj ()
| Provides access to the underlying C GtkObject. More...
const GtkMenu* | gobj () const
| Provides access to the underlying C GtkObject. More...
| Menu ()
| Menu (const Glib::RefPtr< Gio::MenuModel >& model)
| Creates a new Menu and populates it with menu items and submenus according to the model. More...
void | popup (MenuShell& parent_menu_shell, MenuItem& parent_menu_item, const SlotPositionCalc& slot, guint button, guint32 activate_time, const Glib::RefPtr< Gdk::Device >& device=Glib::RefPtr< Gdk::Device >())
void | popup (const SlotPositionCalc& position_calc_slot, guint button, guint32 activate_time, const Glib::RefPtr< Gdk::Device >& device=Glib::RefPtr< Gdk::Device >())
| Displays a menu and makes it available for selection. More...
void | popup (guint button, guint32 activate_time, const Glib::RefPtr< Gdk::Device >& device=Glib::RefPtr< Gdk::Device >())
| Displays a menu and makes it available for selection. More...
void | popup_at_rect (const Glib::RefPtr< Gdk::Window >& rect_window, const Gdk::Rectangle& rect, Gdk::Gravity rect_anchor, Gdk::Gravity menu_anchor, const Gdk::Event& trigger_event=Gdk::Event())
| Displays menu and makes it available for selection. More...
void | popup_at_widget (Widget* widget, Gdk::Gravity widget_anchor, Gdk::Gravity menu_anchor, const Gdk::Event& trigger_event=Gdk::Event())
| Displays menu and makes it available for selection. More...
void | popup_at_pointer (const Gdk::Event& trigger_event=Gdk::Event())
| Displays menu and makes it available for selection. More...
void | reposition ()
| Repositions the menu according to its position function. More...
void | popdown ()
| Removes the menu from the screen. More...
MenuItem* | get_active ()
| Returns the selected menu item from the menu. More...
const MenuItem* | get_active () const
| Returns the selected menu item from the menu. More...
void | set_active (guint index)
| Selects the specified menu item within the menu. More...
void | set_accel_group (const Glib::RefPtr< AccelGroup >& accel_group)
| Set the Gtk::AccelGroup which holds global accelerators for the menu. More...
void | unset_accel_group ()
Glib::RefPtr< AccelGroup > | get_accel_group ()
| Gets the Gtk::AccelGroup which holds global accelerators for the menu. More...
Glib::RefPtr< const AccelGroup > | get_accel_group () const
| Gets the Gtk::AccelGroup which holds global accelerators for the menu. More...
void | set_accel_path (const Glib::ustring& accel_path)
| Sets an accelerator path for this menu from which accelerator paths for its immediate children, its menu items, can be constructed. More...
Glib::ustring | get_accel_path () const
| Retrieves the accelerator path set on the menu. More...
void | detach ()
| Detaches the menu from the widget to which it had been attached. More...
Widget* | get_attach_widget ()
| Returns the Gtk::Widget that the menu is attached to. More...
const Widget* | get_attach_widget () const
| Returns the Gtk::Widget that the menu is attached to. More...
void | set_screen (const Glib::RefPtr< Gdk::Screen >& screen)
| Sets the Gdk::Screen on which the menu will be displayed. More...
void | attach (Gtk::Widget& child, guint left_attach, guint right_attach, guint top_attach, guint bottom_attach)
| Adds a new Gtk::MenuItem to a (table) menu. More...
void | set_monitor (int monitor_num)
| Informs GTK+ on which monitor a menu should be popped up. More...
int | get_monitor () const
| Retrieves the number of the monitor on which to show the menu. More...
void | reorder_child (const MenuItem& child, int position)
void | set_reserve_toggle_size (bool reserve_toggle_size=true)
| Sets whether the menu should reserve space for drawing toggles or icons, regardless of their actual presence. More...
bool | get_reserve_toggle_size () const
| Returns whether the menu reserves space for toggles and icons, regardless of their actual presence. More...
void | attach_to_widget (Widget& attach_widget)
| Attaches the menu to the widget. More...
Glib::SignalProxy< void(const Gdk::Rectangle*, const Gdk::Rectangle*, bool, bool)> | signal_popped_up ()
Glib::PropertyProxy< int > | property_active ()
| The index of the currently selected menu item, or -1 if no menu item is selected. More...
Glib::PropertyProxy_ReadOnly< int > | property_active () const
| The index of the currently selected menu item, or -1 if no menu item is selected. More...
Glib::PropertyProxy< Glib::RefPtr< AccelGroup > > | property_accel_group ()
| The accel group holding accelerators for the menu. More...
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< AccelGroup > > | property_accel_group () const
| The accel group holding accelerators for the menu. More...
Glib::PropertyProxy< Glib::ustring > | property_accel_path ()
| An accel path used to conveniently construct accel paths of child items. More...
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_accel_path () const
| An accel path used to conveniently construct accel paths of child items. More...
Glib::PropertyProxy< Widget* > | property_attach_widget ()
| The widget the menu is attached to. More...
Glib::PropertyProxy_ReadOnly< Widget* > | property_attach_widget () const
| The widget the menu is attached to. More...
Glib::PropertyProxy< int > | property_monitor ()
| The monitor the menu will be popped up on. More...
Glib::PropertyProxy_ReadOnly< int > | property_monitor () const
| The monitor the menu will be popped up on. More...
Glib::PropertyProxy< bool > | property_reserve_toggle_size ()
| A boolean that indicates whether the menu reserves space for toggles and icons, regardless of their actual presence. More...
Glib::PropertyProxy_ReadOnly< bool > | property_reserve_toggle_size () const
| A boolean that indicates whether the menu reserves space for toggles and icons, regardless of their actual presence. More...
Glib::PropertyProxy< Gdk::AnchorHints > | property_anchor_hints ()
| Positioning hints for aligning the menu relative to a rectangle. More...
Glib::PropertyProxy_ReadOnly< Gdk::AnchorHints > | property_anchor_hints () const
| Positioning hints for aligning the menu relative to a rectangle. More...
Glib::PropertyProxy< int > | property_rect_anchor_dx ()
| Horizontal offset to apply to the menu, i.e. the rectangle or widget anchor. More...
Glib::PropertyProxy_ReadOnly< int > | property_rect_anchor_dx () const
| Horizontal offset to apply to the menu, i.e. the rectangle or widget anchor. More...
Glib::PropertyProxy< int > | property_rect_anchor_dy ()
| Vertical offset to apply to the menu, i.e. the rectangle or widget anchor. More...
Glib::PropertyProxy_ReadOnly< int > | property_rect_anchor_dy () const
| Vertical offset to apply to the menu, i.e. the rectangle or widget anchor. More...
Glib::PropertyProxy< Gdk::Window::TypeHint > | property_menu_type_hint ()
| The Gdk::WindowTypeHint to use for the menu's Gdk::Window. More...
Glib::PropertyProxy_ReadOnly< Gdk::Window::TypeHint > | property_menu_type_hint () const
| The Gdk::WindowTypeHint to use for the menu's Gdk::Window. More...
Public Member Functions inherited from Gtk::MenuShell
| MenuShell (MenuShell&& src) noexcept
MenuShell& | operator= (MenuShell&& src) noexcept
| MenuShell (const MenuShell&)=delete
MenuShell& | operator= (const MenuShell&)=delete
| ~MenuShell () noexceptoverride
GtkMenuShell* | gobj ()
| Provides access to the underlying C GtkObject. More...
const GtkMenuShell* | gobj () const
| Provides access to the underlying C GtkObject. More...
void | append (MenuItem& child)
| Adds a new Gtk::MenuItem to the end of the menu shell's item list. More...
void | prepend (MenuItem& child)
| Adds a new Gtk::MenuItem to the beginning of the menu shell's item list. More...
void | insert (MenuItem& child, int position)
| Adds a new Gtk::MenuItem to the menu shell’s item list at the position indicated by position. More...
void | select_item (MenuItem& menu_item)
| Selects the menu item from the menu shell. More...
void | deselect ()
| Deselects the currently selected item from the menu shell, if any. More...
void | activate_item (MenuItem& menu_item, bool force_deactivate=false)
| Activates the menu item within the menu shell. More...
void | select_first (bool search_sensitive=true)
| Select the first visible or selectable child of the menu shell. More...
void | deactivate ()
| Deactivates the menu shell. More...
void | cancel ()
| Cancels the selection within the menu shell. More...
Glib::SignalProxy< void()> | signal_deactivate ()
Glib::SignalProxy< void()> | signal_selection_done ()
Glib::SignalProxy< gboolean(int)> | signal_move_selected ()
Glib::SignalProxy< void(Widget*, int)> | signal_insert ()
void | accelerate (Window& window)
| Initializes menu accelerators. More...
void | accelerate (Widget& parent)
| Initializes menu accelerators. More...
bool | get_take_focus () const
| Returns `true` if the menu shell will take the keyboard focus on popup. More...
void | set_take_focus (bool take_focus=true)
| If take_focus is `true` (the default) the menu shell will take the keyboard focus so that it will receive all keyboard events which is needed to enable keyboard navigation in menus. More...
Widget* | get_selected_item ()
| Gets the currently selected item. More...
const Widget* | get_selected_item () const
| Gets the currently selected item. More...
Widget* | get_parent_shell ()
| Gets the parent menu shell. More...
const Widget* | get_parent_shell () const
| Gets the parent menu shell. More...
void | bind_model (const Glib::RefPtr< Gio::MenuModel >& model, const Glib::ustring& action_namespace, bool with_separators)
| Establishes a binding between a Gtk::MenuShell and a Gio::MenuModel. More...
void | bind_model (const Glib::RefPtr< Gio::MenuModel >& model, bool with_separators)
| A bind_model() convenience overload. More...
Glib::PropertyProxy< bool > | property_take_focus ()
| A boolean that determines whether the menu and its submenus grab the keyboard focus. More...
Glib::PropertyProxy_ReadOnly< bool > | property_take_focus () const
| A boolean that determines whether the menu and its submenus grab the keyboard focus. More...
Public Member Functions inherited from Gtk::Container
| Container (Container&& src) noexcept
Container& | operator= (Container&& src) noexcept
| Container (const Container&)=delete
Container& | operator= (const Container&)=delete
| ~Container () noexceptoverride
GtkContainer* | gobj ()
| Provides access to the underlying C GtkObject. More...
const GtkContainer* | gobj () const
| Provides access to the underlying C GtkObject. More...
void | add (Widget& widget)
| Adds widget to container. More...
void | remove (Widget& widget)
| Removes widget from the container. More...
void | check_resize ()
| Request that contained widgets check their size. More...
void | foreach (const ForeachSlot& slot)
| Operate on contained items. More...
void | forall (const ForeachSlot& slot)
| Operate on contained items, including internal children. More...
std::vector< Widget* > | get_children ()
| Returns the container’s non-internal children. More...
std::vector< const Widget* > | get_children () const
| Returns the container’s non-internal children. More...
void | set_focus_chain (const std::vector< Widget* >& focusable_widgets)
| Sets a focus chain, overriding the one computed automatically by GTK+. More...
bool | has_focus_chain () const
std::vector< Widget* > | get_focus_chain ()
std::vector< const Widget* > | get_focus_chain () const
void | unset_focus_chain ()
| Removes a focus chain explicitly set with set_focus_chain(). More...
void | set_focus_vadjustment (const Glib::RefPtr< Adjustment >& adjustment)
| Hooks up an adjustment to focus handling in a container, so when a child of the container is focused, the adjustment is scrolled to show that widget. More...
Glib::RefPtr< Adjustment > | get_focus_vadjustment ()
| Retrieves the vertical focus adjustment for the container. More...
Glib::RefPtr< const Adjustment > | get_focus_vadjustment () const
| Retrieves the vertical focus adjustment for the container. More...
void | set_focus_hadjustment (const Glib::RefPtr< Adjustment >& adjustment)
| Hooks up an adjustment to focus handling in a container, so when a child of the container is focused, the adjustment is scrolled to show that widget. More...
Glib::RefPtr< Adjustment > | get_focus_hadjustment ()
| Retrieves the horizontal focus adjustment for the container. More...
Glib::RefPtr< const Adjustment > | get_focus_hadjustment () const
| Retrieves the horizontal focus adjustment for the container. More...
GType | child_type () const
| Returns the type of the children supported by the container. More...
WidgetPath | get_path_for_child (const Widget& child) const
| Returns a newly created widget path representing all the widget hierarchy from the toplevel down to and including child. More...
Glib::SignalProxy< void(Widget*)> | signal_add ()
Glib::SignalProxy< void(Widget*)> | signal_remove ()
Glib::SignalProxy< void()> | signal_check_resize ()
Public Member Functions inherited from Gtk::Widget
| Widget (Widget&& src) noexcept
Widget& | operator= (Widget&& src) noexcept
| Widget (const Widget&)=delete
Widget& | operator= (const Widget&)=delete
| ~Widget () noexceptoverride
| Destroys the widget. More...
GtkWidget* | gobj ()
| Provides access to the underlying C GtkObject. More...
const GtkWidget* | gobj () const
| Provides access to the underlying C GtkObject. More...
void | show ()
| Flags a widget to be displayed. More...
void | show_now ()
| Shows a widget. More...
void | hide ()
| Reverses the effects of show(), causing the widget to be hidden (invisible to the user). More...
void | queue_draw ()
| Equivalent to calling queue_draw_area() for the entire area of a widget. More...
void | queue_draw_area (int x, int y, int width, int height)
| Convenience function that calls queue_draw_region() on the region created from the given coordinates. More...
void | queue_draw_region (const ::Cairo::RefPtr< const ::Cairo::Region >& region)
| Invalidates the area of widget defined by region by notifying the parent via its GtkWidgetClass::queue_draw_child() function. More...
void | queue_resize ()
| This function is only for use in widget implementations. More...
void | queue_allocate ()
| This function is only for use in widget implementations. More...
void | size_allocate (const Allocation& allocation, int baseline, Allocation& out_clip)
| This function is only used by Gtk::Widget subclasses, to assign a size, position and (optionally) baseline to their child widgets. More...
SizeRequestMode | get_request_mode () const
| Gets whether the widget prefers a height-for-width layout or a width-for-height layout. More...
void | measure (Orientation orientation, int for_size, int& minimum, int& natural, int& minimum_baseline, int& natural_baseline) const
| Measures widget in the orientation orientation and for the given for_size. More...
void | get_preferred_size (Requisition& minimum_size, Requisition& natural_size) const
| Retrieves the minimum and natural size of a widget, taking into account the widget’s preference for height-for-width management. More...
void | add_accelerator (const Glib::ustring& accel_signal, const Glib::RefPtr< AccelGroup >& accel_group, guint accel_key, Gdk::ModifierType accel_mods, AccelFlags accel_flags)
| Installs an accelerator for this widget in accel_group that causes accel_signal to be emitted if the accelerator is activated. More...
bool | remove_accelerator (const Glib::RefPtr< AccelGroup >& accel_group, guint accel_key, Gdk::ModifierType accel_mods)
| Removes an accelerator from widget, previously installed with add_accelerator(). More...
void | set_accel_path (const Glib::ustring& accel_path, const Glib::RefPtr< AccelGroup >& accel_group)
| Given an accelerator group, accel_group, and an accelerator path, accel_path, sets up an accelerator in accel_group so whenever the key binding that is defined for accel_path is pressed, widget will be activated. More...
bool | mnemonic_activate (bool group_cycling)
| Emits the Gtk::Widget::signal_mnemonic_activate() signal. More...
bool | event (const Gdk::Event& gdk_event)
| Rarely-used function. More...
bool | send_focus_change (Gdk::EventFocus& gdk_event)
| Sends the focus change gdk_event to widget. More...
bool | activate ()
| For widgets that can be “activated” (buttons, menu items, etc.) this function activates them. More...
void | reparent (Container& new_parent)
| Moves a widget from one Gtk::Container to another, handling reference count issues to avoid destroying the widget. More...
bool | intersect (const Gdk::Rectangle& area) const
bool | intersect (const Gdk::Rectangle& area, Gdk::Rectangle& intersection) const
| Computes the intersection of a widget’s area and area, storing the intersection in intersection, and returns `true` if there was an intersection. More...
void | freeze_child_notify ()
| Stops emission of Gtk::Widget::signal_child_notify() signals on widget. More...
void | child_notify (const Glib::ustring& child_property)
| Emits a Gtk::Widget::signal_child_notify() signal for the [child property][child-properties] child_property on widget. More...
void | thaw_child_notify ()
| Reverts the effect of a previous call to freeze_child_notify(). More...
void | set_can_focus (bool can_focus=true)
| Specifies whether widget can own the input focus. More...
bool | get_can_focus () const
| Determines whether widget can own the input focus. More...
bool | has_focus () const
| Determines if the widget has the global input focus. More...
bool | is_focus () const
| Determines if the widget is the focus widget within its toplevel. More...
bool | has_visible_focus () const
| Determines if the widget should show a visible indication that it has the global input focus. More...
void | grab_focus ()
| Causes widget to have the keyboard focus for the Gtk::Window it's inside. More...
void | set_focus_on_click (bool focus_on_click=true)
| Sets whether the widget should grab focus when it is clicked with the mouse. More...
bool | get_focus_on_click () const
| Returns whether the widget should grab focus when it is clicked with the mouse. More...
void | set_can_default (bool can_default=true)
| Specifies whether widget can be a default widget. More...
bool | get_can_default () const
| Determines whether widget can be a default widget. More...
bool | has_default () const
| Determines whether widget is the current default widget within its toplevel. More...
void | grab_default ()
| Causes widget to become the default widget. More...
void | set_receives_default (bool receives_default=true)
| Specifies whether widget will be treated as the default widget within its toplevel when it has the focus, even if another widget is the default. More...
bool | get_receives_default () const
| Determines whether widget is always treated as the default widget within its toplevel when it has the focus, even if another widget is the default. More...
bool | has_grab () const
| Determines whether the widget is currently grabbing events, so it is the only widget receiving input events (keyboard and mouse). More...
bool | device_is_shadowed (const Glib::RefPtr< const Gdk::Device >& device)
| Returns `true` if device has been shadowed by a GTK+ device grab on another widget, so it would stop sending events to widget. More...
void | add_modal_grab ()
| Block events to everything else than this widget and its children. More...
void | remove_modal_grab ()
| Remove the modal grab of the widget in case it was previously grabbed. More...
void | set_name (const Glib::ustring& name)
| Widgets can be named, which allows you to refer to them from a CSS file. More...
void | unset_name ()
Glib::ustring | get_name () const
| Retrieves the name of a widget. More...
void | set_state_flags (StateFlags flags, bool clear=true)
| This function is for use in widget implementations. More...
void | unset_state_flags (StateFlags flags)
| This function is for use in widget implementations. More...
StateFlags | get_state_flags () const
| Returns the widget state as a flag set. More...
void | set_sensitive (bool sensitive=true)
| Sets the sensitivity of a widget. More...
bool | get_sensitive () const
| Returns the widget’s sensitivity (in the sense of returning the value that has been set using set_sensitive()). More...
bool | is_sensitive () const
| Returns the widget’s effective sensitivity, which means it is sensitive itself and also its parent widget is sensitive. More...
void | set_visible (bool visible=true)
| Sets the visibility state of widget. More...
bool | get_visible () const
| Determines whether the widget is visible. More...
bool | is_visible () const
| Determines whether the widget and all its parents are marked as visible. More...
bool | get_has_window () const
| Determines whether widget has a Gdk::Window of its own. More...
bool | get_is_toplevel () const
| Determines whether widget is a toplevel widget. More...
bool | get_is_drawable () const
| Determines whether widget can be drawn to. More...
bool | get_realized () const
| Determines whether widget is realized. More...
bool | get_mapped () const
| Whether the widget is mapped. More...
void | set_child_visible (bool visible=true)
| Sets whether widget should be mapped along with its when its parent is mapped and widget has been shown with show(). More...
bool | get_child_visible () const
| Gets the value set with set_child_visible(). More...
Glib::RefPtr< Gdk::Window > | get_window ()
| Returns the widget’s window if it is realized, `nullptr` otherwise. More...
Glib::RefPtr< const Gdk::Window > | get_window () const
| Returns the widget’s window if it is realized, `nullptr` otherwise. More...
void | register_window (const Glib::RefPtr< Gdk::Window >& window)
| Registers a Gdk::Window with the widget and sets it up so that the widget receives events for it. More...
void | unregister_window (const Glib::RefPtr< Gdk::Window >& window)
| Unregisters a Gdk::Window from the widget that was previously set up with register_window(). More...
int | get_allocated_width () const
| Returns the width that has currently been allocated to widget. More...
int | get_allocated_height () const
| Returns the height that has currently been allocated to widget. More...
int | get_allocated_baseline () const
| Returns the baseline that has currently been allocated to widget. More...
void | get_allocated_size (Allocation& allocation, int& baseline) const
| Retrieves the widget’s allocated size. More...
Allocation | get_allocation () const
| Retrieves the widget's location. More...
Allocation | get_clip () const
| Retrieves the widget’s clip area. More...
Container* | get_parent ()
| Returns the parent widget of widget. More...
const Container* | get_parent () const
| Returns the parent widget of widget. More...
Glib::RefPtr< Gdk::Window > | get_parent_window ()
| Gets widget’s parent window. More...
Glib::RefPtr< const Gdk::Window > | get_parent_window () const
| Gets widget’s parent window. More...
void | set_parent_window (const Glib::RefPtr< const Gdk::Window >& parent_window)
| Sets a non default parent window for widget. More...
bool | child_focus (DirectionType direction)
| This function is used by custom widget implementations; if you're writing an app, you’d use grab_focus() to move the focus to a particular widget, and Gtk::Container::set_focus_chain() to change the focus tab order. More...
bool | keynav_failed (DirectionType direction)
| This function should be called whenever keyboard navigation within a single widget hits a boundary. More...
void | error_bell ()
| Notifies the user about an input-related error on this widget. More...
void | set_size_request (int width=-1, int height=-1)
| Sets the minimum size of a widget; that is, the widget’s size request will be at least width by height. More...
void | get_size_request (int& width, int& height) const
| Gets the size request that was explicitly set for the widget using set_size_request(). More...
void | set_opacity (double opacity)
| Request the widget to be rendered partially transparent, with opacity 0 being fully transparent and 1 fully opaque. More...
double | get_opacity () const
| Fetches the requested opacity for this widget. More...
void | set_device_enabled (const Glib::RefPtr< Gdk::Device >& device, bool enabled=true)
| Enables or disables a Gdk::Device to interact with widget and all its children. More...
bool | get_device_enabled (const Glib::RefPtr< const Gdk::Device >& device) const
| Returns whether device can interact with widget and its children. More...
Container* | get_toplevel ()
| This function returns the topmost widget in the container hierarchy widget is a part of. More...
const Container* | get_toplevel () const
| This function returns the topmost widget in the container hierarchy widget is a part of. More...
Widget* | get_ancestor (GType widget_type)
| Gets the first ancestor of widget with type widget_type. More...
const Widget* | get_ancestor (GType widget_type) const
| Gets the first ancestor of widget with type widget_type. More...
Glib::RefPtr< Gdk::Screen > | get_screen ()
| Get the Gdk::Screen from the toplevel window associated with this widget. More...
Glib::RefPtr< const Gdk::Screen > | get_screen () const
| Get the Gdk::Screen from the toplevel window associated with this widget. More...
bool | has_screen () const
| Checks whether there is a Gdk::Screen is associated with this widget. More...
int | get_scale_factor () const
| Retrieves the internal scale factor that maps from window coordinates to the actual device pixels. More...
Glib::RefPtr< Gdk::Display > | get_display ()
| Get the Gdk::Display for the toplevel window associated with this widget. More...
Glib::RefPtr< const Gdk::Display > | get_display () const
| Get the Gdk::Display for the toplevel window associated with this widget. More...
Glib::RefPtr< Settings > | get_settings ()
| Gets the settings object holding the settings used for this widget. More...
Glib::RefPtr< Clipboard > | get_clipboard (const Glib::ustring& selection)
| Returns the clipboard object for the given selection to be used with widget. More...
Glib::RefPtr< const Clipboard > | get_clipboard (const Glib::ustring& selection) const
| Returns the clipboard object for the given selection to be used with widget. More...
bool | get_hexpand () const
| Gets whether the widget would like any available extra horizontal space. More...
void | set_hexpand (bool expand=true)
| Sets whether the widget would like any available extra horizontal space. More...
bool | get_hexpand_set () const
| Gets whether set_hexpand() has been used to explicitly set the expand flag on this widget. More...
void | set_hexpand_set (bool set=true)
| Sets whether the hexpand flag (see get_hexpand()) will be used. More...
bool | get_vexpand () const
| Gets whether the widget would like any available extra vertical space. More...
void | set_vexpand (bool expand=true)
| Sets whether the widget would like any available extra vertical space. More...
bool | get_vexpand_set () const
| Gets whether set_vexpand() has been used to explicitly set the expand flag on this widget. More...
void | set_vexpand_set (bool set=true)
| Sets whether the vexpand flag (see get_vexpand()) will be used. More...
void | queue_compute_expand ()
| Mark widget as needing to recompute its expand flags. More...
bool | compute_expand (Orientation orientation)
| Computes whether a container should give this widget extra space when possible. More...
bool | get_support_multidevice () const
| Returns `true` if widget is multiple pointer aware. More...
void | set_support_multidevice (bool support_multidevice=true)
| Enables or disables multiple pointer awareness. More...
Glib::RefPtr< Atk::Object > | get_accessible ()
| Returns the accessible object that describes the widget to an assistive technology. More...
Glib::RefPtr< const Atk::Object > | get_accessible () const
| Returns the accessible object that describes the widget to an assistive technology. More...
Align | get_halign () const
| Gets the value of the Gtk::Widget::property_halign() property. More...
void | set_halign (Align align)
| Sets the horizontal alignment of widget. More...
Align | get_valign () const
| Gets the value of the Gtk::Widget::property_valign() property. More...
void | set_valign (Align align)
| Sets the vertical alignment of widget. More...
int | get_margin_start () const
| Gets the value of the Gtk::Widget::property_margin_start() property. More...
void | set_margin_start (int margin)
| Sets the start margin of widget. More...
int | get_margin_end () const
| Gets the value of the Gtk::Widget::property_margin_end() property. More...
void | set_margin_end (int margin)
| Sets the end margin of widget. More...
int | get_margin_top () const
| Gets the value of the Gtk::Widget::property_margin_top() property. More...
void | set_margin_top (int margin)
| Sets the top margin of widget. More...
int | get_margin_bottom () const
| Gets the value of the Gtk::Widget::property_margin_bottom() property. More...
void | set_margin_bottom (int margin)
| Sets the bottom margin of widget. More...
void | set_margin (int margin)
| Set all 4 margins to the same value. More...
bool | is_ancestor (Widget& ancestor) const
| Determines whether widget is somewhere inside ancestor, possibly with intermediate containers. More...
bool | translate_coordinates (Widget& dest_widget, int src_x, int src_y, int& dest_x, int& dest_y)
| Translate coordinates relative to src_widget’s allocation to coordinates relative to dest_widget’s allocations. More...
void | reset_style ()
| Updates the style context of widget and all descendants by updating its widget path. More...
Glib::RefPtr< Pango::Context > | create_pango_context ()
| Creates a new Pango::Context with the appropriate font map, font options, font description, and base direction for drawing text for this widget. More...
Glib::RefPtr< Pango::Context > | get_pango_context ()
| Gets a Pango::Context with the appropriate font map, font description, and base direction for this widget. More...
void | set_font_options (const ::Cairo::FontOptions& options)
| Sets the #cairo_font_options_t used for Pango rendering in this widget. More...
void | unset_font_options ()
| Undoes the effect of previous calls to set_font_options(). More...
::Cairo::FontOptions | get_font_options () const
| Returns the #cairo_font_options_t used for Pango rendering. More...
Glib::RefPtr< Pango::Layout > | create_pango_layout (const Glib::ustring& text)
| Creates a new Pango::Layout with the appropriate font map, font description, and base direction for drawing text for this widget. More...
void | set_direction (TextDirection dir)
| Sets the reading direction on a particular widget. More...
TextDirection | get_direction () const
| Gets the reading direction for a particular widget. More...
void | shape_combine_region (const ::Cairo::RefPtr< const ::Cairo::Region >& region)
| Sets a shape for this widget’s GDK window. More...
void | input_shape_combine_region (const ::Cairo::RefPtr< const ::Cairo::Region >& region)
| Sets an input shape for this widget’s GDK window. More...
WidgetPath | get_path () const
| Returns the Gtk::WidgetPath representing widget, if the widget is not connected to a toplevel widget, a partial path will be created. More...
std::vector< Widget* > | list_mnemonic_labels ()
| Returns a newly allocated list of the widgets, normally labels, for which this widget is the target of a mnemonic (see for example, Gtk::Label::set_mnemonic_widget()). More...
std::vector< const Widget* > | list_mnemonic_labels () const
| Returns a newly allocated list of the widgets, normally labels, for which this widget is the target of a mnemonic (see for example, Gtk::Label::set_mnemonic_widget()). More...
void | add_mnemonic_label (Widget& label)
| Adds a widget to the list of mnemonic labels for this widget. More...
void | remove_mnemonic_label (Widget& label)
| Removes a widget from the list of mnemonic labels for this widget. More...
void | drag_get_data (const Glib::RefPtr< Gdk::DragContext >& context, const Glib::ustring& target, guint32 time)
void | drag_highlight ()
void | drag_unhighlight ()
void | drag_dest_set (DestDefaults flags=DestDefaults(0), Gdk::DragAction actions=Gdk::DragAction(0))
void | drag_dest_set (const std::vector< TargetEntry >& targets, DestDefaults flags=DestDefaults::ALL, Gdk::DragAction actions=Gdk::DragAction::COPY)
void | drag_dest_unset ()
| Clears information about a drop destination set with gtk_drag_dest_set(). More...
Glib::ustring | drag_dest_find_target (const Glib::RefPtr< Gdk::DragContext >& context, const Glib::RefPtr< TargetList >& target_list) const
| Looks for a match between context->targets and the dest_target_list, returning the first matching target, otherwise returning GDK_NONE. More...
Glib::ustring | drag_dest_find_target (const Glib::RefPtr< Gdk::DragContext >& context) const
Glib::RefPtr< TargetList > | drag_dest_get_target_list ()
| Returns the list of targets this widget can accept from drag-and-drop. More...
Glib::RefPtr< const TargetList > | drag_dest_get_target_list () const
| Returns the list of targets this widget can accept from drag-and-drop. More...
void | drag_dest_set_target_list (const Glib::RefPtr< TargetList >& target_list)
| Sets the target types that this widget can accept from drag-and-drop. More...
void | drag_dest_add_text_targets ()
| Add the text targets supported by Gtk::SelectionData to the target list of the drag destination. More...
void | drag_dest_add_image_targets ()
| Add the image targets supported by Gtk::SelectionData to the target list of the drag destination. More...
void | drag_dest_add_uri_targets ()
| Add the URI targets supported by Gtk::SelectionData to the target list of the drag destination. More...
void | drag_source_set (const std::vector< TargetEntry >& targets, Gdk::ModifierType start_button_mask=Gdk::ModifierType::MODIFIER_MASK, Gdk::DragAction actions=Gdk::DragAction::COPY)
void | drag_source_unset ()
| Undoes the effects of gtk_drag_source_set(). More...
void | drag_source_set_icon (const Glib::RefPtr< Gdk::Pixbuf >& pixbuf)
| Sets the icon that will be used for drags from a particular widget from a Gdk::Pixbuf. More...
void | drag_source_set_icon (const Glib::ustring& icon_name)
| Sets the icon that will be used for drags from a particular source to a themed icon. More...
void | drag_source_add_text_targets ()
| Add the text targets supported by Gtk::SelectionData to the target list of the drag source. More...
void | drag_source_add_uri_targets ()
| Add the URI targets supported by Gtk::SelectionData to the target list of the drag source. More...
void | drag_source_add_image_targets ()
| Add the writable image targets supported by Gtk::SelectionData to the target list of the drag source. More...
Glib::RefPtr< Gdk::DragContext > | drag_begin (const Glib::RefPtr< TargetList >& targets, Gdk::DragAction actions, int button, Gdk::Event& gdk_event, int x, int y)
bool | drag_check_threshold (int start_x, int start_y, int current_x, int current_y)
void | drag_set_as_icon (const Glib::RefPtr< Gdk::DragContext >& context, int hot_x, int hot_y)
void | queue_resize_no_redraw ()
| This function works like queue_resize(), except that the widget is not invalidated. More...
void | set_parent (Widget& parent)
| This function is useful only when implementing subclasses of Gtk::Widget. More...
void | unparent ()
| This function is only for use in widget implementations. More...
void | map ()
| This function is only for use in widget implementations. More...
void | unmap ()
| This function is only for use in widget implementations. More...
void | set_tooltip_window (Window& custom_window)
| Replaces the default, usually yellow, window used for displaying tooltips with custom_window. More...
Window* | get_tooltip_window ()
| Returns the Gtk::Window of the current tooltip. More...
void | trigger_tooltip_query ()
| Triggers a tooltip query on the display where the toplevel of widget is located. More...
void | set_tooltip_text (const Glib::ustring& text)
| Sets text as the contents of the tooltip. More...
Glib::ustring | get_tooltip_text () const
| Gets the contents of the tooltip for widget. More...
void | set_tooltip_markup (const Glib::ustring& markup)
| Sets markup as the contents of the tooltip, which is marked up with the Pango text markup language. More...
Glib::ustring | get_tooltip_markup () const
| Gets the contents of the tooltip for widget. More...
void | set_has_tooltip (bool has_tooltip=TRUE)
| Sets the has-tooltip property on widget to has_tooltip. More...
bool | get_has_tooltip () const
| Returns the current value of the has-tooltip property. More...
int | get_width () const
int | get_height () const
bool | in_destruction () const
| Returns whether the widget is currently being destroyed. More...
Glib::RefPtr< StyleContext > | get_style_context ()
| Returns the style context associated to widget. More...
Glib::RefPtr< Gtk::StyleContext > | get_style_context () const
| Returns the style context associated to widget. More...
Gdk::ModifierType | get_modifier_mask (Gdk::ModifierIntent intent)
| Returns the modifier mask the widget’s windowing system backend uses for a particular purpose. More...
void | insert_action_group (const Glib::ustring& name, const Glib::RefPtr< Gio::ActionGroup >& group)
| Inserts group into widget. More...
void | remove_action_group (const Glib::ustring& name)
| Removes a group from the widget. More...
Glib::RefPtr< Gio::ActionGroup > | get_action_group (const Glib::ustring& prefix)
| Retrieves the Gio::ActionGroup that was registered using prefix. More...
Glib::RefPtr< const Gio::ActionGroup > | get_action_group (const Glib::ustring& prefix) const
| Retrieves the Gio::ActionGroup that was registered using prefix. More...
std::vector< Glib::ustring > | list_action_prefixes () const
| Retrieves a `nullptr`-terminated array of strings containing the prefixes of Gio::ActionGroup's available to widget. More...
void | set_font_map (const Glib::RefPtr< Pango::FontMap >& font_map)
| Sets the font map to use for Pango rendering. More...
Glib::RefPtr< Pango::FontMap > | get_font_map ()
| Gets the font map that has been set with set_font_map(). More...
Glib::RefPtr< const Pango::FontMap > | get_font_map () const
| Gets the font map that has been set with set_font_map(). More...
Widget* | get_first_child ()
const Widget* | get_first_child () const
Widget* | get_last_child ()
const Widget* | get_last_child () const
Widget* | get_next_sibling ()
const Widget* | get_next_sibling () const
Widget* | get_prev_sibling ()
const Widget* | get_prev_sibling () const
void | insert_after (Widget& parent, Widget& previous_sibling)
| Inserts widget into the child widget list of parent. More...
void | insert_after (Widget& parent)
| A insert_after() convenience overload. More...
void | insert_before (Widget& parent, Widget& next_sibling)
| Inserts widget into the child widget list of parent. More...
void | insert_before (Widget& parent)
| A insert_before() convenience overload. More...
void | snapshot_child (Widget& child, Snapshot& snapshot)
| When a widget receives a call to the snapshot function, it must send synthetic Gtk::Widget::signal_snapshot() calls to all children. More...
Glib::SignalProxy< void()> | signal_show ()
Glib::SignalProxy< void()> | signal_hide ()
Glib::SignalProxy< void()> | signal_map ()
| Emitted on mapping of a widget to the screen. More...
Glib::SignalProxy< void()> | signal_unmap ()
Glib::SignalProxy< void()> | signal_realize ()
| Emitted on realization of a widget. More...
Glib::SignalProxy< void()> | signal_unrealize ()
Glib::SignalProxy< void(const Allocation&, int, Allocation&)> | signal_size_allocate ()
Glib::SignalProxy< void(Gtk::StateFlags)> | signal_state_flags_changed ()
Glib::SignalProxy< void(Widget*)> | signal_parent_changed ()
| Informs objects that their parent changed. More...
Glib::SignalProxy< void(Widget*)> | signal_hierarchy_changed ()
Glib::SignalProxy< void()> | signal_style_updated ()
Glib::SignalProxy< void(TextDirection)> | signal_direction_changed ()
Glib::SignalProxy< void(bool)> | signal_grab_notify ()
Glib::SignalProxy< void(GParamSpec*)> | signal_child_notify ()
Glib::SignalProxy< bool(bool)> | signal_mnemonic_activate ()
Glib::SignalProxy< void()> | signal_grab_focus ()
Glib::SignalProxy< bool(DirectionType)> | signal_focus ()
Glib::SignalProxy< bool(Gdk::Event&)> | signal_event ()
Glib::SignalProxy< void(Gdk::Event&)> | signal_event_after ()
Glib::SignalProxy< bool(Gdk::EventButton&)> | signal_button_press_event ()
| Event triggered by user pressing button. More...
Glib::SignalProxy< bool(Gdk::EventButton&)> | signal_button_release_event ()
| Event triggered by user releasing button. More...
Glib::SignalProxy< bool(Gdk::EventScroll&)> | signal_scroll_event ()
Glib::SignalProxy< bool(Gdk::EventMotion&)> | signal_motion_notify_event ()
| Event triggered by user moving pointer. More...
Glib::SignalProxy< bool(Gdk::Event&)> | signal_delete_event ()
Glib::SignalProxy< bool(Gdk::EventKey&)> | signal_key_press_event ()
| Event triggered by a key press will widget has focus. More...
Glib::SignalProxy< bool(Gdk::EventKey&)> | signal_key_release_event ()
| Event triggered by a key release will widget has focus. More...
Glib::SignalProxy< bool(Gdk::EventCrossing&)> | signal_enter_notify_event ()
| Event triggered by pointer entering widget area. More...
Glib::SignalProxy< bool(Gdk::EventCrossing&)> | signal_leave_notify_event ()
| Event triggered by pointer leaving widget area. More...
Glib::SignalProxy< bool(Gdk::EventConfigure&)> | signal_configure_event ()
| Event triggered by a window resizing. More...
Glib::SignalProxy< bool(Gdk::EventFocus&)> | signal_focus_in_event ()
Glib::SignalProxy< bool(Gdk::EventFocus&)> | signal_focus_out_event ()
Glib::SignalProxy< bool(Gdk::Event&)> | signal_map_event ()
Glib::SignalProxy< bool(Gdk::Event&)> | signal_unmap_event ()
Glib::SignalProxy< bool(Gdk::EventProperty&)> | signal_property_notify_event ()
Glib::SignalProxy< bool(Gdk::EventSelection&)> | signal_selection_clear_event ()
Glib::SignalProxy< bool(Gdk::EventSelection&)> | signal_selection_request_event ()
Glib::SignalProxy< bool(Gdk::EventSelection&)> | signal_selection_notify_event ()
Glib::SignalProxy< bool(Gdk::EventProximity&)> | signal_proximity_in_event ()
Glib::SignalProxy< bool(Gdk::EventProximity&)> | signal_proximity_out_event ()
Glib::SignalProxy< bool(Gdk::EventWindowState&)> | signal_window_state_event ()
Glib::SignalProxy< void(SelectionData&, guint, guint)> | signal_selection_get ()
Glib::SignalProxy< void(const SelectionData&, guint)> | signal_selection_received ()
Glib::SignalProxy< void(const Glib::RefPtr< Gdk::DragContext >&)> | signal_drag_begin ()
Glib::SignalProxy< void(const Glib::RefPtr< Gdk::DragContext >&)> | signal_drag_end ()
Glib::SignalProxy< void(const Glib::RefPtr< Gdk::DragContext >&, SelectionData&, guint, guint)> | signal_drag_data_get ()
Glib::SignalProxy< void(const Glib::RefPtr< Gdk::DragContext >&)> | signal_drag_data_delete ()
Glib::SignalProxy< bool(const Glib::RefPtr< Gdk::DragContext >&, DragResult)> | signal_drag_failed ()
Glib::SignalProxy< void(const Glib::RefPtr< Gdk::DragContext >&, guint)> | signal_drag_leave ()
Glib::SignalProxy< bool(const Glib::RefPtr< Gdk::DragContext >&, int, int, guint)> | signal_drag_motion ()
Glib::SignalProxy< bool(const Glib::RefPtr< Gdk::DragContext >&, int, int, guint)> | signal_drag_drop ()
Glib::SignalProxy< void(const Glib::RefPtr< Gdk::DragContext >&, int, int, const SelectionData&, guint, guint)> | signal_drag_data_received ()
Glib::SignalProxy< void(const Glib::RefPtr< Gdk::Screen >&)> | signal_screen_changed ()
Glib::SignalProxy< bool()> | signal_popup_menu ()
Glib::SignalProxy< bool(int, int, bool, const Glib::RefPtr< Tooltip >&)> | signal_query_tooltip ()
Glib::SignalProxy< bool(Gdk::EventGrabBroken&)> | signal_grab_broken_event ()
Glib::SignalProxy< bool(Gdk::EventTouch&)> | signal_touch_event ()
Glib::PropertyProxy< Glib::ustring > | property_name ()
| The name of the widget. More...
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_name () const
| The name of the widget. More...
Glib::PropertyProxy< Container* > | property_parent ()
| The parent widget of this widget. More...
Glib::PropertyProxy_ReadOnly< Container* > | property_parent () const
| The parent widget of this widget. More...
Glib::PropertyProxy< int > | property_width_request ()
| Override for width request of the widget, or -1 if natural request should be used. More...
Glib::PropertyProxy_ReadOnly< int > | property_width_request () const
| Override for width request of the widget, or -1 if natural request should be used. More...
Glib::PropertyProxy< int > | property_height_request ()
| Override for height request of the widget, or -1 if natural request should be used. More...
Glib::PropertyProxy_ReadOnly< int > | property_height_request () const
| Override for height request of the widget, or -1 if natural request should be used. More...
Glib::PropertyProxy< bool > | property_visible ()
| Whether the widget is visible. More...
Glib::PropertyProxy_ReadOnly< bool > | property_visible () const
| Whether the widget is visible. More...
Glib::PropertyProxy< bool > | property_sensitive ()
| Whether the widget responds to input. More...
Glib::PropertyProxy_ReadOnly< bool > | property_sensitive () const
| Whether the widget responds to input. More...
Glib::PropertyProxy< bool > | property_can_focus ()
| Whether the widget can accept the input focus. More...
Glib::PropertyProxy_ReadOnly< bool > | property_can_focus () const
| Whether the widget can accept the input focus. More...
Glib::PropertyProxy< bool > | property_has_focus ()
| Whether the widget has the input focus. More...
Glib::PropertyProxy_ReadOnly< bool > | property_has_focus () const
| Whether the widget has the input focus. More...
Glib::PropertyProxy< bool > | property_is_focus ()
| Whether the widget is the focus widget within the toplevel. More...
Glib::PropertyProxy_ReadOnly< bool > | property_is_focus () const
| Whether the widget is the focus widget within the toplevel. More...
Glib::PropertyProxy< bool > | property_focus_on_click ()
| Whether the widget should grab focus when it is clicked with the mouse. More...
Glib::PropertyProxy_ReadOnly< bool > | property_focus_on_click () const
| Whether the widget should grab focus when it is clicked with the mouse. More...
Glib::PropertyProxy< bool > | property_can_default ()
| Whether the widget can be the default widget. More...
Glib::PropertyProxy_ReadOnly< bool > | property_can_default () const
| Whether the widget can be the default widget. More...
Glib::PropertyProxy< bool > | property_has_default ()
| Whether the widget is the default widget. More...
Glib::PropertyProxy_ReadOnly< bool > | property_has_default () const
| Whether the widget is the default widget. More...
Glib::PropertyProxy< bool > | property_receives_default ()
| If TRUE, the widget will receive the default action when it is focused. More...
Glib::PropertyProxy_ReadOnly< bool > | property_receives_default () const
| If TRUE, the widget will receive the default action when it is focused. More...
Glib::PropertyProxy< bool > | property_has_tooltip ()
| Enables or disables the emission of Gtk::Widget::signal_query_tooltip() on widget. More...
Glib::PropertyProxy_ReadOnly< bool > | property_has_tooltip () const
| Enables or disables the emission of Gtk::Widget::signal_query_tooltip() on widget. More...
Glib::PropertyProxy< Glib::ustring > | property_tooltip_markup ()
| Sets the text of tooltip to be the given string, which is marked up with the [Pango text markup language][PangoMarkupFormat]. More...
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_tooltip_markup () const
| Sets the text of tooltip to be the given string, which is marked up with the [Pango text markup language][PangoMarkupFormat]. More...
Glib::PropertyProxy< Glib::ustring > | property_tooltip_text ()
| Sets the text of tooltip to be the given string. More...
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_tooltip_text () const
| Sets the text of tooltip to be the given string. More...
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Gdk::Window > > | property_window () const
| The widget's window if it is realized, `nullptr` otherwise. More...
Glib::PropertyProxy< Align > | property_halign ()
| How to distribute horizontal space if widget gets extra space, see Gtk::Align. More...
Glib::PropertyProxy_ReadOnly< Align > | property_halign () const
| How to distribute horizontal space if widget gets extra space, see Gtk::Align. More...
Glib::PropertyProxy< Align > | property_valign ()
| How to distribute vertical space if widget gets extra space, see Gtk::Align. More...
Glib::PropertyProxy_ReadOnly< Align > | property_valign () const
| How to distribute vertical space if widget gets extra space, see Gtk::Align. More...
Glib::PropertyProxy< int > | property_margin_start ()
| Margin on start of widget, horizontally. More...
Glib::PropertyProxy_ReadOnly< int > | property_margin_start () const
| Margin on start of widget, horizontally. More...
Glib::PropertyProxy< int > | property_margin_end ()
| Margin on end of widget, horizontally. More...
Glib::PropertyProxy_ReadOnly< int > | property_margin_end () const
| Margin on end of widget, horizontally. More...
Glib::PropertyProxy< int > | property_margin_top ()
| Margin on top side of widget. More...
Glib::PropertyProxy_ReadOnly< int > | property_margin_top () const
| Margin on top side of widget. More...
Glib::PropertyProxy< int > | property_margin_bottom ()
| Margin on bottom side of widget. More...
Glib::PropertyProxy_ReadOnly< int > | property_margin_bottom () const
| Margin on bottom side of widget. More...
Glib::PropertyProxy< int > | property_margin ()
| Sets all four sides' margin at once. More...
Glib::PropertyProxy_ReadOnly< int > | property_margin () const
| Sets all four sides' margin at once. More...
Glib::PropertyProxy< bool > | property_hexpand ()
| Whether to expand horizontally. More...
Glib::PropertyProxy_ReadOnly< bool > | property_hexpand () const
| Whether to expand horizontally. More...
Glib::PropertyProxy< bool > | property_hexpand_set ()
| Whether to use the Gtk::Widget::property_hexpand() property. More...
Glib::PropertyProxy_ReadOnly< bool > | property_hexpand_set () const
| Whether to use the Gtk::Widget::property_hexpand() property. More...
Glib::PropertyProxy< bool > | property_vexpand ()
| Whether to expand vertically. More...
Glib::PropertyProxy_ReadOnly< bool > | property_vexpand () const
| Whether to expand vertically. More...
Glib::PropertyProxy< bool > | property_vexpand_set ()
| Whether to use the Gtk::Widget::property_vexpand() property. More...
Glib::PropertyProxy_ReadOnly< bool > | property_vexpand_set () const
| Whether to use the Gtk::Widget::property_vexpand() property. More...
Glib::PropertyProxy< bool > | property_expand ()
| Whether to expand in both directions. More...
Glib::PropertyProxy_ReadOnly< bool > | property_expand () const
| Whether to expand in both directions. More...
Glib::PropertyProxy< double > | property_opacity ()
| The requested opacity of the widget. More...
Glib::PropertyProxy_ReadOnly< double > | property_opacity () const
| The requested opacity of the widget. More...
Glib::PropertyProxy_ReadOnly< int > | property_scale_factor () const
| The scale factor of the widget. More...
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_css_name () const
| The name of this widget in the CSS tree. More...
Public Member Functions inherited from Gtk::Object
| Object (Object&& src) noexcept
Object& | operator= (Object&& src) noexcept
| ~Object () noexceptoverride
Public Member Functions inherited from Glib::Object
| Object (const Object &)=delete
Object & | operator= (const Object &)=delete
| Object (Object &&src) noexcept
Object & | operator= (Object &&src) noexcept
void * | get_data (const QueryQuark &key)
void | set_data (const Quark &key, void *data)
void | set_data (const Quark &key, void *data, DestroyNotify notify)
void | remove_data (const QueryQuark &quark)
void * | steal_data (const QueryQuark &quark)
Glib::RefPtr< Glib::Object > | wrap (GObject *object, bool take_copy=false)
Public Member Functions inherited from Glib::ObjectBase
| ObjectBase (const ObjectBase &)=delete
ObjectBase & | operator= (const ObjectBase &)=delete
void | set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value)
void | get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const
void | set_property (const Glib::ustring &property_name, const PropertyType &value)
void | get_property (const Glib::ustring &property_name, PropertyType &value) const
PropertyType | get_property (const Glib::ustring &property_name) const
sigc::connection | connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void()> &slot)
sigc::connection | connect_property_changed (const Glib::ustring &property_name, sigc::slot< void()> &&slot)
void | freeze_notify ()
void | thaw_notify ()
virtual void | reference () const
virtual void | unreference () const
GObject * | gobj ()
const GObject * | gobj () const
GObject * | gobj_copy () const
Public Member Functions inherited from sigc::trackable
| trackable () noexcept
| trackable (const trackable &src) noexcept
| trackable (trackable &&src)
| ~trackable ()
void | add_destroy_notify_callback (void *data, func_destroy_notify func) const
void | notify_callbacks ()
trackable & | operator= (const trackable &src)
trackable & | operator= (trackable &&src)
void | remove_destroy_notify_callback (void *data) const
Public Member Functions inherited from Gtk::Buildable
| Buildable (Buildable&& src) noexcept
Buildable& | operator= (Buildable&& src) noexcept
| ~Buildable () noexceptoverride
GtkBuildable* | gobj ()
| Provides access to the underlying C GObject. More...
const GtkBuildable* | gobj () const
| Provides access to the underlying C GObject. More...
void | set_name (const Glib::ustring& name)
| Sets the name of the buildable object. More...
Glib::ustring | get_name () const
| Gets the name of the buildable object. More...
Public Member Functions inherited from Glib::Interface
| Interface ()
| Interface (Interface &&src) noexcept
Interface & | operator= (Interface &&src) noexcept
| Interface (const Glib::Interface_Class &interface_class)
| Interface (GObject *castitem)
| ~Interface () noexceptoverride
| Interface (const Interface &)=delete
Interface & | operator= (const Interface &)=delete
GObject * | gobj ()
const GObject * | gobj () const
Public Member Functions inherited from Atk::Implementor
| Implementor (Implementor &&src) noexcept
Implementor & | operator= (Implementor &&src) noexcept
| ~Implementor () noexceptoverride
AtkImplementor * | gobj ()
const AtkImplementor * | gobj () const
Glib::RefPtr< Atk::Implementor > | wrap (AtkImplementor *object, bool take_copy=false)

## Static Public Member Functions
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...
Static Public Member Functions inherited from Gtk::MenuShell
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...
Static Public Member Functions inherited from Gtk::Container
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...
Static Public Member Functions inherited from Gtk::Widget
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...
static Widget* | get_current_modal_grab ()
| Retrieve the widget which is currently grabbing all events. More...
static void | set_default_direction (TextDirection dir)
| Sets the default reading direction for widgets where the direction has not been explicitly set by set_direction(). More...
static TextDirection | get_default_direction ()
| Obtains the current default reading direction. More...
static Widget* | drag_get_source_widget (const Glib::RefPtr< Gdk::DragContext >& context)
Static Public Member Functions inherited from Gtk::Buildable
static void | add_interface (GType gtype_implementer)
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...
Static Public Member Functions inherited from Atk::Implementor
static void | add_interface (GType gtype_implementer)
static GType | get_type ()

## Protected Types
typedef void(* | GtkMenuDetachFunc) (GtkWidget* attach_widget, GtkMenu* menu)

## Protected Member Functions
void | attach_to_widget (Widget& attach_widget, GtkMenuDetachFunc detacher)
| Attaches the menu to the widget and provides a callback function that will be invoked when the menu calls detach() during its destruction. More...
Protected Member Functions inherited from Gtk::MenuShell
| MenuShell ()
virtual void | on_deactivate ()
| This is a default handler for the signal signal_deactivate(). More...
virtual void | on_selection_done ()
| This is a default handler for the signal signal_selection_done(). More...
virtual gboolean | on_move_selected (int distance)
| This is a default handler for the signal signal_move_selected(). More...
virtual void | on_insert (Widget* child, int position)
| This is a default handler for the signal signal_insert(). More...
Protected Member Functions inherited from Gtk::Container
| Container ()
virtual GType | child_type_vfunc () const
| Implements child_type(). More...
virtual void | forall_vfunc (const ForeachSlot& slot)
| Invokes a callback on all non-internal children of the container. More...
virtual void | set_child_property_vfunc (Widget* child, guint property_id, const Glib::ValueBase& value, GParamSpec* pspec)
| Sets a child property for this container and its child. More...
virtual void | get_child_property_vfunc (const Widget* child, guint property_id, Glib::ValueBase& value, GParamSpec* pspec) const
| Returns a child property for this container and its child. More...
virtual WidgetPath | get_path_for_child_vfunc (const Widget* child) const
| Returns a widget path representing all the widget hierarchy from the toplevel down to and including child. More...
virtual void | on_add (Widget* widget)
| This is a default handler for the signal signal_add(). More...
virtual void | on_remove (Widget* widget)
| This is a default handler for the signal signal_remove(). More...
virtual void | on_check_resize ()
| This is a default handler for the signal signal_check_resize(). More...
Protected Member Functions inherited from Gtk::Widget
virtual void | dispatch_child_properties_changed_vfunc (guint p1, GParamSpec** p2)
virtual SizeRequestMode | get_request_mode_vfunc () const
virtual void | measure_vfunc (Orientation orientation, int for_size, int& minimum, int& natural, int& minimum_baseline, int& natural_baseline) const
virtual Glib::RefPtr< Atk::Object > | get_accessible_vfunc ()
virtual void | compute_expand_vfunc (bool& hexpand_p, bool& vexpand_p)
| Widget ()
void | realize ()
| Creates the GDK (windowing system) resources associated with a widget. More...
void | unrealize ()
| This function is only useful in widget implementations. More...
void | draw (const ::Cairo::RefPtr< ::Cairo::Context >& cr)
| Draws widget to cr. More...
void | set_realized (bool realized=true)
| Marks the widget as being realized. More...
void | set_has_window (bool has_window=true)
| Specifies whether widget has a Gdk::Window of its own. More...
void | set_window (const Glib::RefPtr< Gdk::Window >& window)
| Sets a widget's window. More...
void | realize_if_needed ()
virtual void | on_show ()
| This is a default handler for the signal signal_show(). More...
virtual void | on_hide ()
| This is a default handler for the signal signal_hide(). More...
virtual void | on_map ()
| This is a default handler for the signal signal_map(). More...
virtual void | on_unmap ()
| This is a default handler for the signal signal_unmap(). More...
virtual void | on_realize ()
| This is a default handler for the signal signal_realize(). More...
virtual void | on_unrealize ()
| This is a default handler for the signal signal_unrealize(). More...
virtual void | on_size_allocate (const Allocation& allocation, int baseline, Allocation& out_clip)
| This is a default handler for the signal signal_size_allocate(). More...
virtual void | on_state_flags_changed (Gtk::StateFlags previous_state_flags)
| This is a default handler for the signal signal_state_flags_changed(). More...
virtual void | on_parent_changed (Widget* previous_parent)
| This is a default handler for the signal signal_parent_changed(). More...
virtual void | on_hierarchy_changed (Widget* previous_toplevel)
| This is a default handler for the signal signal_hierarchy_changed(). More...
virtual void | on_style_updated ()
| This is a default handler for the signal signal_style_updated(). More...
virtual void | on_direction_changed (TextDirection direction)
| This is a default handler for the signal signal_direction_changed(). More...
virtual void | on_grab_notify (bool was_grabbed)
| This is a default handler for the signal signal_grab_notify(). More...
virtual void | on_child_notify (GParamSpec* pspec)
| This is a default handler for the signal signal_child_notify(). More...
virtual bool | on_mnemonic_activate (bool group_cycling)
| This is a default handler for the signal signal_mnemonic_activate(). More...
virtual void | on_grab_focus ()
| This is a default handler for the signal signal_grab_focus(). More...
virtual bool | on_focus (DirectionType direction)
| This is a default handler for the signal signal_focus(). More...
virtual bool | on_event (Gdk::Event& gdk_event)
| This is a default handler for the signal signal_event(). More...
virtual bool | on_button_press_event (Gdk::EventButton& button_event)
| This is a default handler for the signal signal_button_press_event(). More...
virtual bool | on_button_release_event (Gdk::EventButton& release_event)
| This is a default handler for the signal signal_button_release_event(). More...
virtual bool | on_scroll_event (Gdk::EventScroll& scroll_event)
| This is a default handler for the signal signal_scroll_event(). More...
virtual bool | on_motion_notify_event (Gdk::EventMotion& motion_event)
| This is a default handler for the signal signal_motion_notify_event(). More...
virtual bool | on_delete_event (Gdk::Event& any_event)
| This is a default handler for the signal signal_delete_event(). More...
virtual bool | on_key_press_event (Gdk::EventKey& key_event)
| This is a default handler for the signal signal_key_press_event(). More...
virtual bool | on_key_release_event (Gdk::EventKey& key_event)
| This is a default handler for the signal signal_key_release_event(). More...
virtual bool | on_enter_notify_event (Gdk::EventCrossing& crossing_event)
| This is a default handler for the signal signal_enter_notify_event(). More...
virtual bool | on_leave_notify_event (Gdk::EventCrossing& crossing_event)
| This is a default handler for the signal signal_leave_notify_event(). More...
virtual bool | on_configure_event (Gdk::EventConfigure& configure_event)
| This is a default handler for the signal signal_configure_event(). More...
virtual bool | on_focus_in_event (Gdk::EventFocus& focus_event)
| This is a default handler for the signal signal_focus_in_event(). More...
virtual bool | on_focus_out_event (Gdk::EventFocus& gdk_event)
| This is a default handler for the signal signal_focus_out_event(). More...
virtual bool | on_map_event (Gdk::Event& any_event)
| This is a default handler for the signal signal_map_event(). More...
virtual bool | on_unmap_event (Gdk::Event& any_event)
| This is a default handler for the signal signal_unmap_event(). More...
virtual bool | on_property_notify_event (Gdk::EventProperty& property_event)
| This is a default handler for the signal signal_property_notify_event(). More...
virtual bool | on_selection_clear_event (Gdk::EventSelection& selection_event)
| This is a default handler for the signal signal_selection_clear_event(). More...
virtual bool | on_selection_request_event (Gdk::EventSelection& selection_event)
| This is a default handler for the signal signal_selection_request_event(). More...
virtual bool | on_selection_notify_event (Gdk::EventSelection& selection_event)
| This is a default handler for the signal signal_selection_notify_event(). More...
virtual bool | on_proximity_in_event (Gdk::EventProximity& proximity_event)
| This is a default handler for the signal signal_proximity_in_event(). More...
virtual bool | on_proximity_out_event (Gdk::EventProximity& proximity_event)
| This is a default handler for the signal signal_proximity_out_event(). More...
virtual bool | on_window_state_event (Gdk::EventWindowState& window_state_event)
| This is a default handler for the signal signal_window_state_event(). More...
virtual void | on_selection_get (SelectionData& selection_data, guint info, guint time)
| This is a default handler for the signal signal_selection_get(). More...
virtual void | on_selection_received (const SelectionData& selection_data, guint time)
| This is a default handler for the signal signal_selection_received(). More...
virtual void | on_drag_begin (const Glib::RefPtr< Gdk::DragContext >& context)
| This is a default handler for the signal signal_drag_begin(). More...
virtual void | on_drag_end (const Glib::RefPtr< Gdk::DragContext >& context)
| This is a default handler for the signal signal_drag_end(). More...
virtual void | on_drag_data_get (const Glib::RefPtr< Gdk::DragContext >& context, SelectionData& selection_data, guint info, guint time)
| This is a default handler for the signal signal_drag_data_get(). More...
virtual void | on_drag_data_delete (const Glib::RefPtr< Gdk::DragContext >& context)
| This is a default handler for the signal signal_drag_data_delete(). More...
virtual bool | on_drag_failed (const Glib::RefPtr< Gdk::DragContext >& context, DragResult result)
| This is a default handler for the signal signal_drag_failed(). More...
virtual void | on_drag_leave (const Glib::RefPtr< Gdk::DragContext >& context, guint time)
| This is a default handler for the signal signal_drag_leave(). More...
virtual bool | on_drag_motion (const Glib::RefPtr< Gdk::DragContext >& context, int x, int y, guint time)
| This is a default handler for the signal signal_drag_motion(). More...
virtual bool | on_drag_drop (const Glib::RefPtr< Gdk::DragContext >& context, int x, int y, guint time)
| This is a default handler for the signal signal_drag_drop(). More...
virtual void | on_drag_data_received (const Glib::RefPtr< Gdk::DragContext >& context, int x, int y, const SelectionData& selection_data, guint info, guint time)
| This is a default handler for the signal signal_drag_data_received(). More...
virtual void | on_screen_changed (const Glib::RefPtr< Gdk::Screen >& previous_screen)
| This is a default handler for the signal signal_screen_changed(). More...
virtual bool | on_popup_menu ()
| This is a default handler for the signal signal_popup_menu(). More...
virtual bool | on_query_tooltip (int x, int y, bool keyboard_tooltip, const Glib::RefPtr< Tooltip >& tooltip)
| This is a default handler for the signal signal_query_tooltip(). More...
virtual bool | on_grab_broken_event (Gdk::EventGrabBroken& grab_broken_event)
| This is a default handler for the signal signal_grab_broken_event(). More...
virtual bool | on_touch_event (Gdk::EventTouch& touch_event)
| This is a default handler for the signal signal_touch_event(). More...
Protected Member Functions inherited from Glib::Object
| Object ()
| Object (const Glib::ConstructParams &construct_params)
| Object (GObject *castitem)
| ~Object () noexceptoverride
Protected Member Functions inherited from Glib::ObjectBase
| ObjectBase ()
| ObjectBase (const char *custom_type_name)
| ObjectBase (const std::type_info &custom_type_info)
| ObjectBase (ObjectBase &&src) noexcept
ObjectBase & | operator= (ObjectBase &&src) noexcept
virtual | ~ObjectBase () noexcept=0
void | initialize (GObject *castitem)
void | initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)
Protected Member Functions inherited from Gtk::Buildable
| Buildable ()
| You should derive from this class to use it. More...
Protected Member Functions inherited from Atk::Implementor
| Implementor ()
virtual Glib::RefPtr< Object > | ref_accessibile_vfunc ()

## Related Functions
(Note that these are not member functions.)
Gtk::Menu* | wrap (GtkMenu* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...
Related Functions inherited from Gtk::MenuShell
Gtk::MenuShell* | wrap (GtkMenuShell* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...
Related Functions inherited from Gtk::Container
Gtk::Container* | wrap (GtkContainer* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...
Related Functions inherited from Gtk::Widget
Gtk::Widget* | wrap (GtkWidget* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...
Related Functions inherited from Gtk::Buildable
Glib::RefPtr< Gtk::Buildable > | wrap (GtkBuildable* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...

## Detailed Description

A drop-down menu consisting of Gtk::MenuItem objects which can be navigated and activated by the user to perform application functions.

Menus are normally placed inside a Gtk::MenuBar or another MenuItem as a sub menu. A Menu can also be popped up, for instance as a right-click context menu, by calling the popup() method.

## Member Typedef Documentation

typedef void(* Gtk::Menu::GtkMenuDetachFunc) (GtkWidget *attach_widget, GtkMenu *menu)
| protected

typedef sigc::slot<void(int&, int&, bool&)> Gtk::Menu::SlotPositionCalc

For instance, void on_popup_menu_position(int& x, int& y, bool& push_in);.

## Constructor & Destructor Documentation

Gtk::Menu::Menu | ( | Menu&& | src | ) |
| noexcept

Gtk::Menu::Menu | ( | const Menu& |  | ) |
| delete

Gtk::Menu::~Menu | ( |  | ) |
| overridenoexcept

Gtk::Menu::Menu | ( |  | ) |

Gtk::Menu::Menu | ( | const Glib::RefPtr< Gio::MenuModel > & | model | ) |
| explicit

Creates a new Menu and populates it with menu items and submenus according to the model.

The created menu items are connected to actions found in the ApplicationWindow to which the menu belongs - typically by means of being attached to a widget (see attach_to_widget()) that is contained within the ApplicationWindow's widget hierarchy.

Parameters

  model |

Since gtkmm 3.10:

## Member Function Documentation

void Gtk::Menu::attach | ( | Gtk::Widget& | child,
|  | guint | left_attach,
|  | guint | right_attach,
|  | guint | top_attach,
|  | guint | bottom_attach
| ) |  |

Adds a new Gtk::MenuItem to a (table) menu.

The number of “cells” that an item will occupy is specified by left_attach, right_attach, top_attach and bottom_attach. These each represent the leftmost, rightmost, uppermost and lower column and row numbers of the table. (Columns and rows are indexed from zero).

Note that this function is not related to detach().

Since gtkmm 2.4:

Parameters

  child | A Gtk::MenuItem.
  left_attach | The column number to attach the left side of the item to.
  right_attach | The column number to attach the right side of the item to.
  top_attach | The row number to attach the top of the item to.
  bottom_attach | The row number to attach the bottom of the item to.

void Gtk::Menu::attach_to_widget | ( | Widget& | attach_widget | ) |

Attaches the menu to the widget.

Parameters

  attach_widget | The Widget that the menu will be attached to.

Since gtkmm 2.10:

void Gtk::Menu::attach_to_widget | ( | Widget& | attach_widget,
|  | GtkMenuDetachFunc | detacher
| ) |  |
| protected

Attaches the menu to the widget and provides a callback function that will be invoked when the menu calls detach() during its destruction.

If the menu is attached to the widget then it will be destroyed when the widget is destroyed, as if it was a child widget. An attached menu will also move between screens correctly if the widgets moves between screens.

Parameters

  attach_widget | The Gtk::Widget that the menu will be attached to.
  detacher | The user supplied callback function that will be called when the menu calls detach().

void Gtk::Menu::detach | ( |  | ) |

Detaches the menu from the widget to which it had been attached.

This function will call the callback function, detacher, provided when the attach_to_widget() function was called.

Glib::RefPtr<AccelGroup> Gtk::Menu::get_accel_group | ( |  | ) |

Gets the Gtk::AccelGroup which holds global accelerators for the menu.

See set_accel_group().

Returns
  The Gtk::AccelGroup associated with the menu.

Glib::RefPtr<const AccelGroup> Gtk::Menu::get_accel_group | ( |  | ) | const

Gets the Gtk::AccelGroup which holds global accelerators for the menu.

See set_accel_group().

Returns
  The Gtk::AccelGroup associated with the menu.

Glib::ustring Gtk::Menu::get_accel_path | ( |  | ) | const

Retrieves the accelerator path set on the menu.

Since gtkmm 2.14:

Returns
  The accelerator path set on the menu.

MenuItem* Gtk::Menu::get_active | ( |  | ) |

Returns the selected menu item from the menu.

This is used by the Gtk::ComboBox.

Returns
  The Gtk::MenuItem that was last selected in the menu. If a selection has not yet been made, the first menu item is selected.

const MenuItem* Gtk::Menu::get_active | ( |  | ) | const

Returns the selected menu item from the menu.

This is used by the Gtk::ComboBox.

Returns
  The Gtk::MenuItem that was last selected in the menu. If a selection has not yet been made, the first menu item is selected.

Widget* Gtk::Menu::get_attach_widget | ( |  | ) |

Returns the Gtk::Widget that the menu is attached to.

Returns
  The Gtk::Widget that the menu is attached to.

const Widget* Gtk::Menu::get_attach_widget | ( |  | ) | const

Returns the Gtk::Widget that the menu is attached to.

Returns
  The Gtk::Widget that the menu is attached to.

int Gtk::Menu::get_monitor | ( |  | ) | const

Retrieves the number of the monitor on which to show the menu.

Since gtkmm 2.14:

Returns
  The number of the monitor on which the menu should be popped up or -1, if no monitor has been set.

bool Gtk::Menu::get_reserve_toggle_size | ( |  | ) | const

Returns whether the menu reserves space for toggles and icons, regardless of their actual presence.

Since gtkmm 2.18:

Returns
  Whether the menu reserves toggle space.

static GType Gtk::Menu::get_type | ( |  | ) |
| static

Get the GType for this class, for use with the underlying GObject type system.

GtkMenu* Gtk::Menu::gobj | ( |  | ) |
| inline

Provides access to the underlying C GtkObject.

const GtkMenu* Gtk::Menu::gobj | ( |  | ) | const
| inline

Provides access to the underlying C GtkObject.

Menu& Gtk::Menu::operator= | ( | Menu&& | src | ) |
| noexcept

Menu& Gtk::Menu::operator= | ( | const Menu& |  | ) |
| delete

void Gtk::Menu::popdown | ( |  | ) |

Removes the menu from the screen.

void Gtk::Menu::popup | ( | MenuShell& | parent_menu_shell,
|  | MenuItem& | parent_menu_item,
|  | const SlotPositionCalc& | slot,
|  | guint | button,
|  | guint32 | activate_time,
|  | const Glib::RefPtr< Gdk::Device >& | device = `Glib::RefPtr< Gdk::Device >()`
| ) |  |

void Gtk::Menu::popup | ( | const SlotPositionCalc& | position_calc_slot,
|  | guint | button,
|  | guint32 | activate_time,
|  | const Glib::RefPtr< Gdk::Device >& | device = `Glib::RefPtr< Gdk::Device >()`
| ) |  |

Displays a menu and makes it available for selection.

Applications can use this function to display context-sensitive menus.

The button parameter should be the mouse button pressed to initiate the menu popup. If the menu popup was initiated by something other than a mouse button press, such as a mouse button release or a keypress, button should be 0.

The activate_time parameter should be the time stamp of the event that initiated the popup. If such an event is not available, use gtk_get_current_event_time() instead.

Parameters

  position_calc_slot | A user supplied function used to position the menu, or `0`.
  button | The mouse button which was pressed to initiate the event.
  activate_time | The time at which the activation event occurred.
  device | A Gdk::Device.

void Gtk::Menu::popup | ( | guint | button,
|  | guint32 | activate_time,
|  | const Glib::RefPtr< Gdk::Device >& | device = `Glib::RefPtr< Gdk::Device >()`
| ) |  |

Displays a menu and makes it available for selection.

Applications can use this function to display context-sensitive menus, at the current pointer position.

Parameters

  button | The button which was pressed to initiate the event.
  activate_time | The time at which the activation event occurred.
  device | A Gdk::Device.

void Gtk::Menu::popup_at_pointer | ( | const Gdk::Event& | trigger_event = `Gdk::Event()` | ) |

Displays menu and makes it available for selection.

See popup_at_widget() to pop up a menu at a widget. popup_at_rect() also allows you to position a menu at an arbitrary rectangle.

menu will be positioned at the pointer associated with trigger_event.

Properties that influence the behaviour of this function are Gtk::Menu::property_anchor_hints(), Gtk::Menu::property_rect_anchor_dx(), Gtk::Menu::property_rect_anchor_dy(), and Gtk::Menu::property_menu_type_hint(). Connect to the Gtk::Menu::signal_popped_up() signal to find out how it was actually positioned.

Since: 3.22 Stability: Unstable

Parameters

  trigger_event | The Gdk::Event that initiated this request or `nullptr` if it's the current event.

void Gtk::Menu::popup_at_rect | ( | const Glib::RefPtr< Gdk::Window >& | rect_window,
|  | const Gdk::Rectangle& | rect,
|  | Gdk::Gravity | rect_anchor,
|  | Gdk::Gravity | menu_anchor,
|  | const Gdk::Event& | trigger_event = `Gdk::Event()`
| ) |  |

Displays menu and makes it available for selection.

See popup_at_widget() and popup_at_pointer(), which handle more common cases for popping up menus.

menu will be positioned at rect, aligning their anchor points. rect is relative to the top-left corner of rect_window. rect_anchor and menu_anchor determine anchor points on rect and menu to pin together. menu can optionally be offset by Gtk::Menu::property_rect_anchor_dx() and Gtk::Menu::property_rect_anchor_dy().

Anchors should be specified under the assumption that the text direction is left-to-right; they will be flipped horizontally automatically if the text direction is right-to-left.

Other properties that influence the behaviour of this function are Gtk::Menu::property_anchor_hints() and Gtk::Menu::property_menu_type_hint(). Connect to the Gtk::Menu::signal_popped_up() signal to find out how it was actually positioned.

Since: 3.22 Stability: Unstable

Parameters

  rect_window | The Gdk::Window rect is relative to.
  rect | The Gdk::Rectangle to align menu with.
  rect_anchor | The point on rect to align with menu's anchor point.
  menu_anchor | The point on menu to align with rect's anchor point.
  trigger_event | The Gdk::Event that initiated this request or `nullptr` if it's the current event.

void Gtk::Menu::popup_at_widget | ( | Widget* | widget,
|  | Gdk::Gravity | widget_anchor,
|  | Gdk::Gravity | menu_anchor,
|  | const Gdk::Event& | trigger_event = `Gdk::Event()`
| ) |  |

Displays menu and makes it available for selection.

See popup_at_pointer() to pop up a menu at the master pointer. popup_at_rect() also allows you to position a menu at an arbitrary rectangle.

menu will be positioned at widget, aligning their anchor points. widget_anchor and menu_anchor determine anchor points on widget and menu to pin together. menu can optionally be offset by Gtk::Menu::property_rect_anchor_dx() and Gtk::Menu::property_rect_anchor_dy().

Anchors should be specified under the assumption that the text direction is left-to-right; they will be flipped horizontally automatically if the text direction is right-to-left.

Other properties that influence the behaviour of this function are Gtk::Menu::property_anchor_hints() and Gtk::Menu::property_menu_type_hint(). Connect to the Gtk::Menu::signal_popped_up() signal to find out how it was actually positioned.

Since: 3.22 Stability: Unstable

Parameters

  widget | The Gtk::Widget to align menu with.
  widget_anchor | The point on widget to align with menu's anchor point.
  menu_anchor | The point on menu to align with widget's anchor point.
  trigger_event | The Gdk::Event that initiated this request or `nullptr` if it's the current event.

Glib::PropertyProxy< Glib::RefPtr<AccelGroup> > Gtk::Menu::property_accel_group | ( |  | ) |

The accel group holding accelerators for the menu.

Since gtkmm 2.14:

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly< Glib::RefPtr<AccelGroup> > Gtk::Menu::property_accel_group | ( |  | ) | const

The accel group holding accelerators for the menu.

Since gtkmm 2.14:

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy< Glib::ustring > Gtk::Menu::property_accel_path | ( |  | ) |

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

Since gtkmm 2.14:

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly< Glib::ustring > Gtk::Menu::property_accel_path | ( |  | ) | const

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

Since gtkmm 2.14:

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy< int > Gtk::Menu::property_active | ( |  | ) |

The index of the currently selected menu item, or -1 if no menu item is selected.

Since gtkmm 2.14:

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly< int > Gtk::Menu::property_active | ( |  | ) | const

The index of the currently selected menu item, or -1 if no menu item is selected.

Since gtkmm 2.14:

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy< Gdk::AnchorHints > Gtk::Menu::property_anchor_hints | ( |  | ) |

Positioning hints for aligning the menu relative to a rectangle.

These hints determine how the menu should be positioned in the case that the menu would fall off-screen if placed in its ideal position.

For example, Gdk::AnchorHints::FLIP_Y will replace Gdk::Gravity::NORTH_WEST with Gdk::Gravity::SOUTH_WEST and vice versa if the menu extends beyond the bottom edge of the monitor.

See Gtk::Menu::popup_at_rect(), Gtk::Menu::popup_at_widget(), Gtk::Menu::popup_at_pointer(), Gtk::Menu::property_rect_anchor_dx(), Gtk::Menu::property_rect_anchor_dy(), Gtk::Menu::property_menu_type_hint(), and Gtk::Menu::signal_popped_up().

Since: 3.22 Stability: Unstable

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly< Gdk::AnchorHints > Gtk::Menu::property_anchor_hints | ( |  | ) | const

Positioning hints for aligning the menu relative to a rectangle.

These hints determine how the menu should be positioned in the case that the menu would fall off-screen if placed in its ideal position.

For example, Gdk::AnchorHints::FLIP_Y will replace Gdk::Gravity::NORTH_WEST with Gdk::Gravity::SOUTH_WEST and vice versa if the menu extends beyond the bottom edge of the monitor.

See Gtk::Menu::popup_at_rect(), Gtk::Menu::popup_at_widget(), Gtk::Menu::popup_at_pointer(), Gtk::Menu::property_rect_anchor_dx(), Gtk::Menu::property_rect_anchor_dy(), Gtk::Menu::property_menu_type_hint(), and Gtk::Menu::signal_popped_up().

Since: 3.22 Stability: Unstable

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy< Widget* > Gtk::Menu::property_attach_widget | ( |  | ) |

The widget the menu is attached to.

Setting this property attaches the menu without a Gtk::MenuDetachFunc. If you need to use a detacher, use Gtk::Menu::attach_to_widget() directly.

Since gtkmm 2.14:

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly< Widget* > Gtk::Menu::property_attach_widget | ( |  | ) | const

The widget the menu is attached to.

Setting this property attaches the menu without a Gtk::MenuDetachFunc. If you need to use a detacher, use Gtk::Menu::attach_to_widget() directly.

Since gtkmm 2.14:

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy< Gdk::Window::TypeHint > Gtk::Menu::property_menu_type_hint | ( |  | ) |

The Gdk::WindowTypeHint to use for the menu's Gdk::Window.

See Gtk::Menu::popup_at_rect(), Gtk::Menu::popup_at_widget(), Gtk::Menu::popup_at_pointer(), Gtk::Menu::property_anchor_hints(), Gtk::Menu::property_rect_anchor_dx(), Gtk::Menu::property_rect_anchor_dy(), and Gtk::Menu::signal_popped_up().

Since: 3.22 Stability: Unstable

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly< Gdk::Window::TypeHint > Gtk::Menu::property_menu_type_hint | ( |  | ) | const

The Gdk::WindowTypeHint to use for the menu's Gdk::Window.

See Gtk::Menu::popup_at_rect(), Gtk::Menu::popup_at_widget(), Gtk::Menu::popup_at_pointer(), Gtk::Menu::property_anchor_hints(), Gtk::Menu::property_rect_anchor_dx(), Gtk::Menu::property_rect_anchor_dy(), and Gtk::Menu::signal_popped_up().

Since: 3.22 Stability: Unstable

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy< int > Gtk::Menu::property_monitor | ( |  | ) |

The monitor the menu will be popped up on.

Since gtkmm 2.14:

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly< int > Gtk::Menu::property_monitor | ( |  | ) | const

The monitor the menu will be popped up on.

Since gtkmm 2.14:

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy< int > Gtk::Menu::property_rect_anchor_dx | ( |  | ) |

Horizontal offset to apply to the menu, i.e. the rectangle or widget anchor.

See Gtk::Menu::popup_at_rect(), Gtk::Menu::popup_at_widget(), Gtk::Menu::popup_at_pointer(), Gtk::Menu::property_anchor_hints(), Gtk::Menu::property_rect_anchor_dy(), Gtk::Menu::property_menu_type_hint(), and Gtk::Menu::signal_popped_up().

Since: 3.22 Stability: Unstable

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly< int > Gtk::Menu::property_rect_anchor_dx | ( |  | ) | const

Horizontal offset to apply to the menu, i.e. the rectangle or widget anchor.

See Gtk::Menu::popup_at_rect(), Gtk::Menu::popup_at_widget(), Gtk::Menu::popup_at_pointer(), Gtk::Menu::property_anchor_hints(), Gtk::Menu::property_rect_anchor_dy(), Gtk::Menu::property_menu_type_hint(), and Gtk::Menu::signal_popped_up().

Since: 3.22 Stability: Unstable

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy< int > Gtk::Menu::property_rect_anchor_dy | ( |  | ) |

Vertical offset to apply to the menu, i.e. the rectangle or widget anchor.

See Gtk::Menu::popup_at_rect(), Gtk::Menu::popup_at_widget(), Gtk::Menu::popup_at_pointer(), Gtk::Menu::property_anchor_hints(), Gtk::Menu::property_rect_anchor_dx(), Gtk::Menu::property_menu_type_hint(), and Gtk::Menu::signal_popped_up().

Since: 3.22 Stability: Unstable

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly< int > Gtk::Menu::property_rect_anchor_dy | ( |  | ) | const

Vertical offset to apply to the menu, i.e. the rectangle or widget anchor.

See Gtk::Menu::popup_at_rect(), Gtk::Menu::popup_at_widget(), Gtk::Menu::popup_at_pointer(), Gtk::Menu::property_anchor_hints(), Gtk::Menu::property_rect_anchor_dx(), Gtk::Menu::property_menu_type_hint(), and Gtk::Menu::signal_popped_up().

Since: 3.22 Stability: Unstable

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy< bool > Gtk::Menu::property_reserve_toggle_size | ( |  | ) |

A boolean that indicates whether the menu reserves space for toggles and icons, regardless of their actual presence.

This property should only be changed from its default value for special-purposes such as tabular menus. Regular menus that are connected to a menu bar or context menus should reserve toggle space for consistency.

Since gtkmm 2.18:

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly< bool > Gtk::Menu::property_reserve_toggle_size | ( |  | ) | const

A boolean that indicates whether the menu reserves space for toggles and icons, regardless of their actual presence.

This property should only be changed from its default value for special-purposes such as tabular menus. Regular menus that are connected to a menu bar or context menus should reserve toggle space for consistency.

Since gtkmm 2.18:

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

void Gtk::Menu::reorder_child | ( | const MenuItem& | child,
|  | int | position
| ) |  |

void Gtk::Menu::reposition | ( |  | ) |

Repositions the menu according to its position function.

void Gtk::Menu::set_accel_group | ( | const Glib::RefPtr< AccelGroup >& | accel_group | ) |

Set the Gtk::AccelGroup which holds global accelerators for the menu.

This accelerator group needs to also be added to all windows that this menu is being used in with Gtk::Window::add_accel_group(), in order for those windows to support all the accelerators contained in this group.

Parameters

  accel_group | The Gtk::AccelGroup to be associated with the menu.

void Gtk::Menu::set_accel_path | ( | const Glib::ustring & | accel_path | ) |

Sets an accelerator path for this menu from which accelerator paths for its immediate children, its menu items, can be constructed.

The main purpose of this function is to spare the programmer the inconvenience of having to call Gtk::MenuItem::set_accel_path() on each menu item that should support runtime user changable accelerators. Instead, by just calling set_accel_path() on their parent, each menu item of this menu, that contains a label describing its purpose, automatically gets an accel path assigned.

For example, a menu containing menu items “New” and “Exit”, will, after `gtk_menu_set_accel_path (menu, "\<Gnumeric-Sheet\>/File");` has been called, assign its items the accel paths: `"\<Gnumeric-Sheet\>/File/New"` and `"\<Gnumeric-Sheet\>/File/Exit"`.

Assigning accel paths to menu items then enables the user to change their accelerators at runtime. More details about accelerator paths and their default setups can be found at Gtk::AccelMap::add_entry().

Note that accel_path string will be stored in a Quark. Therefore, if you pass a static string, you can save some memory by interning it first with Glib::intern_static_string().

Parameters

  accel_path | A valid accelerator path.

void Gtk::Menu::set_active | ( | guint | index | ) |

Selects the specified menu item within the menu.

This is used by the Gtk::ComboBox and should not be used by anyone else.

Parameters

  index | The index of the menu item to select. Index values are from 0 to n-1.

void Gtk::Menu::set_monitor | ( | int | monitor_num | ) |

Informs GTK+ on which monitor a menu should be popped up.

See gdk_monitor_get_geometry().

This function should be called from a Gtk::MenuPositionFunc if the menu should not appear on the same monitor as the pointer. This information can’t be reliably inferred from the coordinates returned by a Gtk::MenuPositionFunc, since, for very long menus, these coordinates may extend beyond the monitor boundaries or even the screen boundaries.

Since gtkmm 2.4:

Parameters

  monitor_num | The number of the monitor on which the menu should be popped up.

void Gtk::Menu::set_reserve_toggle_size | ( | bool | reserve_toggle_size = `true` | ) |

Sets whether the menu should reserve space for drawing toggles or icons, regardless of their actual presence.

Since gtkmm 2.18:

Parameters

  reserve_toggle_size | Whether to reserve size for toggles.

void Gtk::Menu::set_screen | ( | const Glib::RefPtr< Gdk::Screen >& | screen | ) |

Sets the Gdk::Screen on which the menu will be displayed.

Since gtkmm 2.2:

Parameters

  screen | A Gdk::Screen, or `nullptr` if the screen should be determined by the widget the menu is attached to.

Glib::SignalProxy<void(const Gdk::Rectangle*, const Gdk::Rectangle*, bool, bool)> Gtk::Menu::signal_popped_up | ( |  | ) |

Slot Prototype:
  `void on_my_popped_up(const Gdk::Rectangle* flipped_rect, const Gdk::Rectangle* final_rect, bool flipped_x, bool flipped_y)`

Emitted when the position of menu is finalized after being popped up using Gtk::Menu::popup_at_rect(), Gtk::Menu::popup_at_widget(), or Gtk::Menu::popup_at_pointer().

menu might be flipped over the anchor rectangle in order to keep it on-screen, in which case flipped_x and flipped_y will be set to `true` accordingly.

flipped_rect is the ideal position of menu after any possible flipping, but before any possible sliding. final_rect is flipped_rect, but possibly translated in the case that flipping is still ineffective in keeping menu on-screen.

The blue menu is menu's ideal position, the green menu is flipped_rect, and the red menu is final_rect.

See Gtk::Menu::popup_at_rect(), Gtk::Menu::popup_at_widget(), Gtk::Menu::popup_at_pointer(), Gtk::Menu::property_anchor_hints(), Gtk::Menu::property_rect_anchor_dx(), Gtk::Menu::property_rect_anchor_dy(), and Gtk::Menu::property_menu_type_hint().

Since: 3.22 Stability: Unstable

Parameters

  flipped_rect | The position of menu after any possible flipping or `nullptr` if the backend can't obtain it.
  final_rect | The final position of menu or `nullptr` if the backend can't obtain it.
  flipped_x | `true` if the anchors were flipped horizontally.
  flipped_y | `true` if the anchors were flipped vertically.

void Gtk::Menu::unset_accel_group | ( |  | ) |

## Friends And Related Function Documentation

Gtk::Menu* wrap | ( | GtkMenu * | object,
|  | bool | take_copy = `false`
| ) |  |
| related

A Glib::wrap() method for this object.

Parameters

  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.

Returns
  A C++ instance that wraps this C instance.