## FmMenuToolItem FmMenuToolItem — A widget with arrow to show a menu in a tollbar. |

## Synopsis

    struct              FmMenuToolItem;
    struct              FmMenuToolItemClass;
    GtkWidget *         fm_menu_tool_item_get_menu          (FmMenuToolItem *button);
    GtkToolItem *       fm_menu_tool_item_new               (void);
    void                fm_menu_tool_item_set_menu          (FmMenuToolItem *button,
                                                             GtkWidget *menu);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkBin
                                     +----GtkToolItem
                                           +----FmMenuToolItem

## Implemented Interfaces

FmMenuToolItem implements AtkImplementorIface, GtkBuildable and GtkActivatable.

## Properties

      "menu"                     GtkMenu*              : Read / Write

## Signals

      "show-menu"                                      : Run First

## Description

`include`: libfm/fm-gtk.h

The FmMenuToolItem shows button with arrow which shows menu when is clicked, similar to GtkMenuToolButton, but without any actual button, just an arrow for menu.

## Details

### struct FmMenuToolItem

    struct FmMenuToolItem;

### struct FmMenuToolItemClass

    struct FmMenuToolItemClass {
      GtkToolItemClass parent_class;

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

GtkToolItemClass `parent_class`; | the parent class
`show_menu` () | the class closure for the "show-menu" signal

### fm_menu_tool_item_get_menu ()

    GtkWidget *         fm_menu_tool_item_get_menu          (FmMenuToolItem *button);

Gets the GtkMenu associated with FmMenuToolItem.

`button` : | a FmMenuToolItem
Returns : | the GtkMenu associated with FmMenuToolItem. [transfer none]

Since 1.2.0

### fm_menu_tool_item_new ()

    GtkToolItem *       fm_menu_tool_item_new               (void);

Creates a new FmMenuToolItem.

Returns : | the new FmMenuToolItem. [transfer full]

Since 1.2.0

### fm_menu_tool_item_set_menu ()

    void                fm_menu_tool_item_set_menu          (FmMenuToolItem *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 FmMenuToolItem
`menu` : | the GtkMenu associated with FmMenuToolItem

Since 1.2.0

## Property Details

### The `"menu"` property

      "menu"                     GtkMenu*              : Read / Write

The dropdown menu.

## Signal Details

### The `"show-menu"` signal

    void                user_function                      (FmMenuToolItem *button,
                                                            gpointer        user_data)      : Run First

The ::show-menu signal is emitted before the menu is shown.

It can be used to populate the menu on demand, using `fm_menu_tool_item_get_menu()`.

Note that even if you populate the menu dynamically in this way, you must set an empty menu on the FmMenuToolItem beforehand, since the arrow is made insensitive if the menu is not set.

`button` : | the object on which the signal is emitted
`user_data` : | user data set when the signal handler was connected.