## GtkMenuToolButton

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

## Synopsis

    #include <gtk/gtk.h>

                GtkMenuToolButton;
    GtkToolItem* gtk_menu_tool_button_new       (GtkWidget *icon_widget,
                                                 const gchar *label);
    GtkToolItem* gtk_menu_tool_button_new_from_stock
                                                (const gchar *stock_id);
    void        gtk_menu_tool_button_set_menu   (GtkMenuToolButton *button,
                                                 GtkWidget *menu);
    GtkWidget*  gtk_menu_tool_button_get_menu   (GtkMenuToolButton *button);
    void        gtk_menu_tool_button_set_arrow_tooltip
                                                (GtkMenuToolButton *button,
                                                 GtkTooltips *tooltips,
                                                 const gchar *tip_text,
                                                 const gchar *tip_private);

## Object Hierarchy

      GObject
       +----GtkObject
             +----GtkWidget
                   +----GtkContainer
                         +----GtkBin
                               +----GtkToolItem
                                     +----GtkToolButton
                                           +----GtkMenuToolButton

## Implemented Interfaces

GtkMenuToolButton implements AtkImplementorIface.

## Properties

      "menu"                 GtkMenu               : Read / Write

## Signals

    "show-menu" void        user_function      (GtkMenuToolButton *menutoolbutton,
                                                gpointer user_data);

## 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. Use `gtk_menu_tool_button_new_from_stock()` to create a new GtkMenuToolButton containing a stock item.

## Details

### GtkMenuToolButton

    typedef struct _GtkMenuToolButton GtkMenuToolButton;

The GtkMenuToolButton struct contains only private data and should only be accessed through the functions described below.

### 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.

`icon_widget` : | a widget that will be used as icon widget, or `NULL`
`label` : | a string that will be used as label, or `NULL`
Returns : | the new GtkMenuToolButton

Since 2.6

### gtk_menu_tool_button_new_from_stock ()

    GtkToolItem* gtk_menu_tool_button_new_from_stock
                                                (const gchar *stock_id);

Creates a new GtkMenuToolButton. The new GtkMenuToolButton will contain an icon and label from the stock item indicated by `stock_id`.

`stock_id` : | the name of a stock item
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.

`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.

`button` : | a GtkMenuToolButton
Returns : | the GtkMenu associated with GtkMenuToolButton

Since 2.6

### gtk_menu_tool_button_set_arrow_tooltip ()

    void        gtk_menu_tool_button_set_arrow_tooltip
                                                (GtkMenuToolButton *button,
                                                 GtkTooltips *tooltips,
                                                 const gchar *tip_text,
                                                 const gchar *tip_private);

Sets the GtkTooltips object to be used for arrow button which pops up the menu. See `gtk_tool_item_set_tooltip()` for setting a tooltip on the whole GtkMenuToolButton.

`button` : | a GtkMenuToolButton
`tooltips` : | the GtkTooltips object to be used
`tip_text` : | text to be used as tooltip text for tool_item
`tip_private` : | text to be used as private tooltip text

Since 2.6

## Property Details

### The "`menu`" property

      "menu"                 GtkMenu               : Read / Write

The dropdown menu.

## Signal Details

### The "show-menu" signal

    void        user_function                  (GtkMenuToolButton *menutoolbutton,
                                                gpointer user_data);

`menutoolbutton` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

## See Also

GtkToolbar, GtkToolButton

  The toolbar widget

  The parent class of GtkMenuToolButton. The properties "label_widget", "label", "icon_widget", and "stock_id" on GtkToolButton determine the label and icon used on GtkMenuToolButtons.