GtkMenuToolButton: GTK+ 4 Reference Manual

## GtkMenuToolButton GtkMenuToolButton — A GtkToolItem containing a button with an additional dropdown menu |

## Functions

GtkToolItem * | gtk_menu_tool_button_new ()
void | gtk_menu_tool_button_set_menu ()
GtkWidget * | gtk_menu_tool_button_get_menu ()
void | gtk_menu_tool_button_set_arrow_tooltip_text ()
void | gtk_menu_tool_button_set_arrow_tooltip_markup ()

## Types and Values

struct | GtkMenuToolButton
struct | GtkMenuToolButtonClass

## Includes

    #include <gtk/gtk.h>

## Description

A GtkMenuToolButton is a GtkToolItem that contains a button and a small additional button with an arrow. When clicked, the arrow button pops up a dropdown menu.

Use `gtk_menu_tool_button_new()` to create a new GtkMenuToolButton.

### GtkMenuToolButton as GtkBuildable

The GtkMenuToolButton implementation of the GtkBuildable interface supports adding a menu by specifying “menu” as the “type” attribute of a <child> element.

An example for a UI definition fragment with menus:

    1
    2
    3
    4
    5
    <object class="GtkMenuToolButton">
      <child type="menu">
        <object class="GtkMenu"/>
      </child>
    </object>

## Functions

### gtk_menu_tool_button_new ()

    GtkToolItem *
    gtk_menu_tool_button_new (GtkWidget *icon_widget,
                              const gchar *label);

Creates a new GtkMenuToolButton using `icon_widget` as icon and `label` as label.

#### Parameters

icon_widget | a widget that will be used as icon widget, or `NULL`. | [allow-none]
label | a string that will be used as label, or `NULL`. | [allow-none]

#### Returns

the new GtkMenuToolButton

Since: 2.6

### gtk_menu_tool_button_set_menu ()

    void
    gtk_menu_tool_button_set_menu (GtkMenuToolButton *button,
                                   GtkWidget *menu);

Sets the GtkMenu that is popped up when the user clicks on the arrow. If `menu` is NULL, the arrow button becomes insensitive.

#### Parameters

button | a GtkMenuToolButton |
menu | the GtkMenu associated with GtkMenuToolButton |

Since: 2.6

### gtk_menu_tool_button_get_menu ()

    GtkWidget *
    gtk_menu_tool_button_get_menu (GtkMenuToolButton *button);

Gets the GtkMenu associated with GtkMenuToolButton.

#### Parameters

button | a GtkMenuToolButton |

#### Returns

the GtkMenu associated with GtkMenuToolButton.

[transfer none]

Since: 2.6

### gtk_menu_tool_button_set_arrow_tooltip_text ()

    void
    gtk_menu_tool_button_set_arrow_tooltip_text
                                   (GtkMenuToolButton *button,
                                    const gchar *text);

Sets the tooltip text to be used as tooltip for the arrow button which pops up the menu. See `gtk_tool_item_set_tooltip_text()` for setting a tooltip on the whole GtkMenuToolButton.

#### Parameters

button | a GtkMenuToolButton |
text | text to be used as tooltip text for button’s arrow button |

Since: 2.12

### gtk_menu_tool_button_set_arrow_tooltip_markup ()

    void
    gtk_menu_tool_button_set_arrow_tooltip_markup
                                   (GtkMenuToolButton *button,
                                    const gchar *markup);

Sets the tooltip markup text to be used as tooltip for the arrow button which pops up the menu. See `gtk_tool_item_set_tooltip_text()` for setting a tooltip on the whole GtkMenuToolButton.

#### Parameters

button | a GtkMenuToolButton |
markup | markup text to be used as tooltip text for button’s arrow button |

Since: 2.12

## Types and Values

### struct GtkMenuToolButton

    struct GtkMenuToolButton {
      GtkToolButton parent;
    };

### struct GtkMenuToolButtonClass

    struct GtkMenuToolButtonClass {
      GtkToolButtonClass parent_class;

      void (*show_menu) (GtkMenuToolButton *button);
    };

#### Members

`show_menu` () | Signal emitted before the menu is shown. |

## See Also

GtkToolbar, GtkToolButton