// Generated by gmmproc 2.54.0 -- DO NOT MODIFY!
#ifndef _GTKMM_IMAGEMENUITEM_H
#define _GTKMM_IMAGEMENUITEM_H
#ifndef GTKMM_DISABLE_DEPRECATED
#include <glibmm/ustring.h>
#include <sigc++/sigc++.h>
/*
* Copyright (C) 1998-2002 The gtkmm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <gtkmm/menuitem.h>
#include <gtkmm/stockid.h>
#include <gtkmm/accelgroup.h>
// This whole file is deprecated.
#ifndef DOXYGEN_SHOULD_SKIP_THIS
using GtkImageMenuItem = struct _GtkImageMenuItem;
using GtkImageMenuItemClass = struct _GtkImageMenuItemClass;
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#ifndef DOXYGEN_SHOULD_SKIP_THIS
namespace Gtk
{ class ImageMenuItem_Class; } // namespace Gtk
#endif //DOXYGEN_SHOULD_SKIP_THIS
namespace Gtk
{
/** A menu item with an icon.
*
* A GtkImageMenuItem is a menu item which has an icon next to the text label. Note that the
* user can disable display of menu icons, so make sure to still fill in the text label.
*
* @deprecated Use Gtk::MenuItem instead.
*
* @ingroup Menus
* @ingroup Widgets S
*/
class ImageMenuItem : public MenuItem
{
public:
#ifndef DOXYGEN_SHOULD_SKIP_THIS
typedef ImageMenuItem CppObjectType;
typedef ImageMenuItem_Class CppClassType;
typedef GtkImageMenuItem BaseObjectType;
typedef GtkImageMenuItemClass BaseClassType;
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
ImageMenuItem(ImageMenuItem&& src) noexcept;
ImageMenuItem& operator=(ImageMenuItem&& src) noexcept;
// noncopyable
ImageMenuItem(const ImageMenuItem&) = delete;
ImageMenuItem& operator=(const ImageMenuItem&) = delete;
~ImageMenuItem() noexcept override;
#ifndef DOXYGEN_SHOULD_SKIP_THIS
private:
friend class ImageMenuItem_Class;
static CppClassType imagemenuitem_class_;
protected:
explicit ImageMenuItem(const Glib::ConstructParams& construct_params);
explicit ImageMenuItem(GtkImageMenuItem* castitem);
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
public:
/** Get the GType for this class, for use with the underlying GObject type system.
*/
static GType get_type() G_GNUC_CONST;
#ifndef DOXYGEN_SHOULD_SKIP_THIS
static GType get_base_type() G_GNUC_CONST;
#endif
///Provides access to the underlying C GtkObject.
GtkImageMenuItem* gobj() { return reinterpret_cast<GtkImageMenuItem*>(gobject_); }
///Provides access to the underlying C GtkObject.
const GtkImageMenuItem* gobj() const { return reinterpret_cast<GtkImageMenuItem*>(gobject_); }
public:
//C++ methods used to invoke GTK+ virtual functions:
protected:
//GTK+ Virtual Functions (override these to change behaviour):
//Default Signal Handlers::
private:
public:
ImageMenuItem();
explicit ImageMenuItem(Widget& image,
const Glib::ustring& label, bool mnemonic = false);
explicit ImageMenuItem(const Glib::ustring& label, bool mnemonic = false);
explicit ImageMenuItem(const StockID& id);
/** If <tt>true</tt>, the menu item will ignore the Gtk::Settings::property_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.
*
* @newin{2,16}
*
* Deprecated: 3.10
*
* @param always_show <tt>true</tt> if the menuitem should always show the image.
*/
void set_always_show_image(bool always_show = true);
/** Returns whether the menu item will ignore the Gtk::Settings::property_gtk_menu_images()
* setting and always show the image, if available.
*
* @newin{2,16}
*
* Deprecated: 3.10
*
* @return <tt>true</tt> if the menu item will always show the image.
*/
bool get_always_show_image() const;
/** Sets the image of @a 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.
*
* Deprecated: 3.10
*
* @param image A widget to set as the image for the menu item.
*/
void set_image(Widget& image);
/** Gets the widget that is currently set as the image of @a image_menu_item.
* See set_image().
*
* Deprecated: 3.10
*
* @return The widget set as image of @a image_menu_item.
*/
Widget* get_image();
/** Gets the widget that is currently set as the image of @a image_menu_item.
* See set_image().
*
* Deprecated: 3.10
*
* @return The widget set as image of @a image_menu_item.
*/
const Widget* get_image() const;
/** If <tt>true</tt>, the label set in the menuitem is used as a
* stock id to select the stock item for the item.
*
* @newin{2,16}
*
* Deprecated: 3.10
*
* @param use_stock <tt>true</tt> if the menuitem should use a stock item.
*/
void set_use_stock(bool use_stock = true);
/** Checks whether the label set in the menuitem is used as a
* stock id to select the stock item for the item.
*
* @newin{2,16}
*
* Deprecated: 3.10
*
* @return <tt>true</tt> if the label set in the menuitem is used as a
* stock id to select the stock item for the item.
*/
bool get_use_stock() const;
/** Specifies an @a 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 set_use_stock()
* and Gtk::MenuItem::set_label() with a valid stock item first).
*
* If you want this menu item to have changeable accelerators then
* you shouldnt need this (see new_from_stock()).
*
* @newin{2,16}
*
* Deprecated: 3.10
*
* @param accel_group The Gtk::AccelGroup.
*/
void set_accel_group(const Glib::RefPtr<AccelGroup>& accel_group);
/** Child widget to appear next to the menu text.
*
* Deprecated: 3.10: Use a Gtk::MenuItem containing a Gtk::Box with
* a Gtk::AccelLabel and a Gtk::Image instead
*
* @return A PropertyProxy that allows you to get or set the value of the property,
* or receive notification when the value of the property changes.
*/
Glib::PropertyProxy< Widget* > property_image() ;
/** Child widget to appear next to the menu text.
*
* Deprecated: 3.10: Use a Gtk::MenuItem containing a Gtk::Box with
* a Gtk::AccelLabel and a Gtk::Image instead
*
* @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
* or receive notification when the value of the property changes.
*/
Glib::PropertyProxy_ReadOnly< Widget* > property_image() const;
/** If <tt>true</tt>, the label set in the menuitem is used as a
* stock id to select the stock item for the item.
*
* @newin{2,16}
*
* Deprecated: 3.10: Use a named icon from the Gtk::IconTheme instead
*
* @return A PropertyProxy that allows you to get or set the value of the property,
* or receive notification when the value of the property changes.
*/
Glib::PropertyProxy< bool > property_use_stock() ;
/** If <tt>true</tt>, the label set in the menuitem is used as a
* stock id to select the stock item for the item.
*
* @newin{2,16}
*
* Deprecated: 3.10: Use a named icon from the Gtk::IconTheme instead
*
* @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
* or receive notification when the value of the property changes.
*/
Glib::PropertyProxy_ReadOnly< bool > property_use_stock() const;
/** The Accel Group to use for stock accelerator keys
*
* @newin{2,16}
*
* Deprecated: 3.10: Use Gtk::Widget::add_accelerator() instead
*
* @return A PropertyProxy_WriteOnly that allows you to set the value of the property,
* or receive notification when the value of the property changes.
*/
Glib::PropertyProxy_WriteOnly< Glib::RefPtr<AccelGroup> > property_accel_group() ;
/** If <tt>true</tt>, the menu item will always show the image, if available.
*
* Use this property only if the menuitem would be useless or hard to use
* without the image.
*
* @newin{2,16}
*
* Deprecated: 3.10: Use a Gtk::MenuItem containing a Gtk::Box with
* a Gtk::AccelLabel and a Gtk::Image instead
*
* @return A PropertyProxy that allows you to get or set the value of the property,
* or receive notification when the value of the property changes.
*/
Glib::PropertyProxy< bool > property_always_show_image() ;
/** If <tt>true</tt>, the menu item will always show the image, if available.
*
* Use this property only if the menuitem would be useless or hard to use
* without the image.
*
* @newin{2,16}
*
* Deprecated: 3.10: Use a Gtk::MenuItem containing a Gtk::Box with
* a Gtk::AccelLabel and a Gtk::Image instead
*
* @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
* or receive notification when the value of the property changes.
*/
Glib::PropertyProxy_ReadOnly< bool > property_always_show_image() const;
};
} //namespace Gtk
namespace Glib
{
/** A Glib::wrap() method for this object.
*
* @param object The C instance.
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
* @result A C++ instance that wraps this C instance.
*
* @relates Gtk::ImageMenuItem
*/
Gtk::ImageMenuItem* wrap(GtkImageMenuItem* object, bool take_copy = false);
} //namespace Glib
#endif // GTKMM_DISABLE_DEPRECATED
#endif /* _GTKMM_IMAGEMENUITEM_H */