## GtkImageMenuItem GtkImageMenuItem |

## Functions

void | gtk_image_menu_item_set_image ()
GtkWidget * | gtk_image_menu_item_get_image ()
GtkWidget * | gtk_image_menu_item_new ()
GtkWidget * | gtk_image_menu_item_new_from_stock ()
GtkWidget * | gtk_image_menu_item_new_with_label ()
GtkWidget * | gtk_image_menu_item_new_with_mnemonic ()
gboolean | gtk_image_menu_item_get_use_stock ()
void | gtk_image_menu_item_set_use_stock ()
gboolean | gtk_image_menu_item_get_always_show_image ()
void | gtk_image_menu_item_set_always_show_image ()
void | gtk_image_menu_item_set_accel_group ()

## Properties

GtkAccelGroup * | accel-group | Write
gboolean | always-show-image | Read / Write / Construct
GtkWidget * | image | Read / Write
gboolean | use-stock | Read / Write / Construct

## Types and Values

struct | GtkImageMenuItem

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkObject
                ╰── GtkWidget
                    ╰── GtkContainer
                        ╰── GtkBin
                            ╰── GtkItem
                                ╰── GtkMenuItem
                                    ╰── GtkImageMenuItem

## Implemented Interfaces

GtkImageMenuItem implements AtkImplementorIface, GtkBuildable and GtkActivatable.

## Includes

    #include <gtk/gtk.h>

## Description

## Functions

### gtk_image_menu_item_set_image ()

    void
    gtk_image_menu_item_set_image (GtkImageMenuItem *image_menu_item,
                                   GtkWidget *image);

Sets the image of `image_menu_item` to the given widget. Note that it depends on the show-menu-images setting whether the image will be displayed or not.

#### Parameters

image_menu_item | a GtkImageMenuItem. |
image | a widget to set as the image for the menu item. | [allow-none]

### gtk_image_menu_item_get_image ()

    GtkWidget *
    gtk_image_menu_item_get_image (GtkImageMenuItem *image_menu_item);

Gets the widget that is currently set as the image of `image_menu_item` . See `gtk_image_menu_item_set_image()`.

#### Parameters

image_menu_item | a GtkImageMenuItem |

#### Returns

the widget set as image of `image_menu_item` .

[transfer none]

### gtk_image_menu_item_new ()

    GtkWidget *
    gtk_image_menu_item_new (void);

Creates a new GtkImageMenuItem with an empty label.

#### Parameters

returns | a new GtkImageMenuItem. |

### gtk_image_menu_item_new_from_stock ()

    GtkWidget *
    gtk_image_menu_item_new_from_stock (const gchar *stock_id,
                                        GtkAccelGroup *accel_group);

Creates a new GtkImageMenuItem containing the image and text from a stock item. Some stock ids have preprocessor macros like GTK_STOCK_OK and GTK_STOCK_APPLY.

If you want this menu item to have changeable accelerators, then pass in `NULL` for accel_group. Next call `gtk_menu_item_set_accel_path()` with an appropriate path for the menu item, use `gtk_stock_lookup()` to look up the standard accelerator for the stock item, and if one is found, call `gtk_accel_map_add_entry()` to register it.

#### Parameters

stock_id | the name of the stock item. |
accel_group | the GtkAccelGroup to add the menu items accelerator to, or `NULL`. | [allow-none]
returns | a new GtkImageMenuItem. |

### gtk_image_menu_item_new_with_label ()

    GtkWidget *
    gtk_image_menu_item_new_with_label (const gchar *label);

Creates a new GtkImageMenuItem containing a label.

#### Parameters

label | the text of the menu item. |
returns | a new GtkImageMenuItem. |

### gtk_image_menu_item_new_with_mnemonic ()

    GtkWidget *
    gtk_image_menu_item_new_with_mnemonic (const gchar *label);

Creates a new GtkImageMenuItem containing a label. The label will be created using `gtk_label_new_with_mnemonic()`, so underscores in `label` indicate the mnemonic for the menu item.

#### Parameters

label | the text of the menu item, with an underscore in front of the mnemonic character |
returns | a new GtkImageMenuItem |

### gtk_image_menu_item_get_use_stock ()

    gboolean
    gtk_image_menu_item_get_use_stock (GtkImageMenuItem *image_menu_item);

Checks whether the label set in the menuitem is used as a stock id to select the stock item for the item.

#### Parameters

image_menu_item | a GtkImageMenuItem |

#### Returns

`TRUE` if the label set in the menuitem is used as a stock id to select the stock item for the item

Since: 2.16

### gtk_image_menu_item_set_use_stock ()

    void
    gtk_image_menu_item_set_use_stock (GtkImageMenuItem *image_menu_item,
                                       gboolean use_stock);

If `TRUE`, the label set in the menuitem is used as a stock id to select the stock item for the item.

#### Parameters

image_menu_item | a GtkImageMenuItem |
use_stock | `TRUE` if the menuitem should use a stock item |

Since: 2.16

### gtk_image_menu_item_get_always_show_image ()

    gboolean
    gtk_image_menu_item_get_always_show_image
                                   (GtkImageMenuItem *image_menu_item);

Returns whether the menu item will ignore the “gtk-menu-images” setting and always show the image, if available.

#### Parameters

image_menu_item | a GtkImageMenuItem |

#### Returns

`TRUE` if the menu item will always show the image

Since: 2.16

### gtk_image_menu_item_set_always_show_image ()

    void
    gtk_image_menu_item_set_always_show_image
                                   (GtkImageMenuItem *image_menu_item,
                                    gboolean always_show);

If `TRUE`, the menu item will ignore the “gtk-menu-images” setting and always show the image, if available.

Use this property if the menuitem would be useless or hard to use without the image.

#### Parameters

image_menu_item | a GtkImageMenuItem |
always_show | `TRUE` if the menuitem should always show the image |

Since: 2.16

### gtk_image_menu_item_set_accel_group ()

    void
    gtk_image_menu_item_set_accel_group (GtkImageMenuItem *image_menu_item,
                                         GtkAccelGroup *accel_group);

Specifies an `accel_group` to add the menu items accelerator to (this only applies to stock items so a stock item must already be set, make sure to call `gtk_image_menu_item_set_use_stock()` and `gtk_menu_item_set_label()` with a valid stock item first).

If you want this menu item to have changeable accelerators then you shouldnt need this (see `gtk_image_menu_item_new_from_stock()`).

#### Parameters

image_menu_item | a GtkImageMenuItem |
accel_group | the GtkAccelGroup |

Since: 2.16

## Types and Values

### struct GtkImageMenuItem

    struct GtkImageMenuItem;

## Property Details

### The `“accel-group”` property

      “accel-group”              GtkAccelGroup *

The Accel Group to use for stock accelerator keys

Flags: Write

Since: 2.16

### The `“always-show-image”` property

      “always-show-image”        gboolean

If `TRUE`, the menu item will ignore the “gtk-menu-images” setting and always show the image, if available.

Use this property if the menuitem would be useless or hard to use without the image.

Flags: Read / Write / Construct

Default value: FALSE

Since: 2.16

### The `“image”` property

      “image”                    GtkWidget *

Child widget to appear next to the menu text.

Flags: Read / Write

### The `“use-stock”` property

      “use-stock”                gboolean

If `TRUE`, the label set in the menuitem is used as a stock id to select the stock item for the item.

Flags: Read / Write / Construct

Default value: FALSE

Since: 2.16