+/**
+ * gtk_image_menu_item_get_use_stock:
+ * @image_menu_item: a #GtkImageMenuItem
+ *
+ * Checks whether the label set in the menuitem is used as a
+ * stock id to select the stock item for the item.
+ *
+ * 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
+ */
+gboolean
+gtk_image_menu_item_get_use_stock (GtkImageMenuItem *image_menu_item)
+{
+ g_return_val_if_fail (GTK_IS_IMAGE_MENU_ITEM (image_menu_item), FALSE);
+
+ return image_menu_item->priv->use_stock;
+}
+
+/**
+ * gtk_image_menu_item_set_always_show_image:
+ * @image_menu_item: a #GtkImageMenuItem
+ * @always_show: %TRUE if the menuitem should always show the image
+ *
+ * If %TRUE, the menu item will ignore the #GtkSettings: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.
+ *
+ * Since: 2.16
+ */
+void
+gtk_image_menu_item_set_always_show_image (GtkImageMenuItem *image_menu_item,
+ gboolean always_show)
+{
+ GtkImageMenuItemPrivate *priv;
+
+ g_return_if_fail (GTK_IS_IMAGE_MENU_ITEM (image_menu_item));
+
+ priv = image_menu_item->priv;
+
+ if (priv->always_show_image != always_show)
+ {
+ priv->always_show_image = always_show;
+
+ if (priv->image)
+ {
+ if (show_image (image_menu_item))
+ gtk_widget_show (priv->image);
+ else
+ gtk_widget_hide (priv->image);
+ }
+
+ g_object_notify (G_OBJECT (image_menu_item), "always-show-image");
+ }
+}
+
+/**
+ * gtk_image_menu_item_get_always_show_image:
+ * @image_menu_item: a #GtkImageMenuItem
+ *
+ * Returns whether the menu item will ignore the #GtkSettings:gtk-menu-images
+ * setting and always show the image, if available.
+ *
+ * Returns: %TRUE if the menu item will always show the image
+ *
+ * Since: 2.16
+ */
+gboolean
+gtk_image_menu_item_get_always_show_image (GtkImageMenuItem *image_menu_item)
+{
+ g_return_val_if_fail (GTK_IS_IMAGE_MENU_ITEM (image_menu_item), FALSE);
+
+ return image_menu_item->priv->always_show_image;
+}
+
+
+/**
+ * gtk_image_menu_item_set_accel_group:
+ * @image_menu_item: a #GtkImageMenuItem
+ * @accel_group: the #GtkAccelGroup
+ *
+ * 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()).
+ *
+ * Since: 2.16
+ */
+void
+gtk_image_menu_item_set_accel_group (GtkImageMenuItem *image_menu_item,
+ GtkAccelGroup *accel_group)
+{
+ GtkImageMenuItemPrivate *priv;
+ GtkStockItem stock_item;
+
+ /* Silent return for the constructor */
+ if (!accel_group)
+ return;
+
+ g_return_if_fail (GTK_IS_IMAGE_MENU_ITEM (image_menu_item));
+ g_return_if_fail (GTK_IS_ACCEL_GROUP (accel_group));
+
+ priv = image_menu_item->priv;
+
+ if (priv->use_stock && priv->label && gtk_stock_lookup (priv->label, &stock_item))
+ if (stock_item.keyval)
+ {
+ gtk_widget_add_accelerator (GTK_WIDGET (image_menu_item),
+ "activate",
+ accel_group,
+ stock_item.keyval,
+ stock_item.modifier,
+ GTK_ACCEL_VISIBLE);
+
+ g_object_notify (G_OBJECT (image_menu_item), "accel-group");
+ }
+}
+
+/**
+ * gtk_image_menu_item_set_image:
+ * @image_menu_item: a #GtkImageMenuItem.
+ * @image: (allow-none): a widget to set as the image for the menu item.
+ *
+ * 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.
+ */
+void
+gtk_image_menu_item_set_image (GtkImageMenuItem *image_menu_item,
+ GtkWidget *image)
+{
+ GtkImageMenuItemPrivate *priv;
+
+ g_return_if_fail (GTK_IS_IMAGE_MENU_ITEM (image_menu_item));
+
+ priv = image_menu_item->priv;
+
+ if (image == priv->image)
+ return;
+
+ if (priv->image)
+ gtk_container_remove (GTK_CONTAINER (image_menu_item),
+ priv->image);
+
+ priv->image = image;
+
+ if (image == NULL)
+ return;
+
+ gtk_widget_set_parent (image, GTK_WIDGET (image_menu_item));
+ g_object_set (image,
+ "visible", show_image (image_menu_item),
+ "no-show-all", TRUE,
+ NULL);
+
+ g_object_notify (G_OBJECT (image_menu_item), "image");
+}
+
+/**
+ * gtk_image_menu_item_get_image:
+ * @image_menu_item: a #GtkImageMenuItem
+ *
+ * Gets the widget that is currently set as the image of @image_menu_item.
+ * See gtk_image_menu_item_set_image().
+ *
+ * Return value: (transfer none): the widget set as image of @image_menu_item
+ **/