Install ardour as a binary, a script and a set of shared
[ardour.git] / libs / gtkmm2 / gtk / gtkmm / imagemenuitem.h
1 // -*- c++ -*-
2 // Generated by gtkmmproc -- DO NOT MODIFY!
3 #ifndef _GTKMM_IMAGEMENUITEM_H
4 #define _GTKMM_IMAGEMENUITEM_H
5
6 #include <glibmm.h>
7
8 /* $Id$ */
9
10 /* checkmenuitem.h
11  * 
12  * Copyright (C) 1998-2002 The gtkmm Development Team
13  *
14  * This library is free software; you can redistribute it and/or
15  * modify it under the terms of the GNU Library General Public
16  * License as published by the Free Software Foundation; either
17  * version 2 of the License, or (at your option) any later version.
18  *
19  * This library is distributed in the hope that it will be useful,
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
22  * Library General Public License for more details.
23  *
24  * You should have received a copy of the GNU Library General Public
25  * License along with this library; if not, write to the Free
26  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
27  */
28
29 #include <gtkmm/menuitem.h>
30 #include <gtkmm/stockid.h>
31
32
33 #ifndef DOXYGEN_SHOULD_SKIP_THIS
34 typedef struct _GtkImageMenuItem GtkImageMenuItem;
35 typedef struct _GtkImageMenuItemClass GtkImageMenuItemClass;
36 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
37
38
39 namespace Gtk
40 { class ImageMenuItem_Class; } // namespace Gtk
41 namespace Gtk
42 {
43
44 /** A menu item with an icon.
45  * 
46  * A GtkImageMenuItem is a menu item which has an icon next to the text label. Note that the
47  * user can disable display of menu icons, so make sure to still fill in the text label.
48  *
49  * @ingroup Menus
50  * @ingroup Widgets                                                                                                                                                S
51  */
52
53 class ImageMenuItem : public MenuItem
54 {
55   public:
56 #ifndef DOXYGEN_SHOULD_SKIP_THIS
57   typedef ImageMenuItem CppObjectType;
58   typedef ImageMenuItem_Class CppClassType;
59   typedef GtkImageMenuItem BaseObjectType;
60   typedef GtkImageMenuItemClass BaseClassType;
61 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
62
63   virtual ~ImageMenuItem();
64
65 #ifndef DOXYGEN_SHOULD_SKIP_THIS
66
67 private:
68   friend class ImageMenuItem_Class;
69   static CppClassType imagemenuitem_class_;
70
71   // noncopyable
72   ImageMenuItem(const ImageMenuItem&);
73   ImageMenuItem& operator=(const ImageMenuItem&);
74
75 protected:
76   explicit ImageMenuItem(const Glib::ConstructParams& construct_params);
77   explicit ImageMenuItem(GtkImageMenuItem* castitem);
78
79 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
80
81 public:
82 #ifndef DOXYGEN_SHOULD_SKIP_THIS
83   static GType get_type()      G_GNUC_CONST;
84   static GType get_base_type() G_GNUC_CONST;
85 #endif
86
87   ///Provides access to the underlying C GtkObject.
88   GtkImageMenuItem*       gobj()       { return reinterpret_cast<GtkImageMenuItem*>(gobject_); }
89
90   ///Provides access to the underlying C GtkObject.
91   const GtkImageMenuItem* gobj() const { return reinterpret_cast<GtkImageMenuItem*>(gobject_); }
92
93
94 public:
95   //C++ methods used to invoke GTK+ virtual functions:
96
97 protected:
98   //GTK+ Virtual Functions (override these to change behaviour):
99
100   //Default Signal Handlers::
101
102
103 private:
104
105 public:
106
107   ImageMenuItem();
108   explicit ImageMenuItem(Widget& image, 
109                          const Glib::ustring& label, bool mnemonic = false);
110   explicit ImageMenuItem(const Glib::ustring& label, bool mnemonic = false);
111   explicit ImageMenuItem(const StockID& id);  
112   
113   
114   /** Sets the image of @a image_menu_item  to the given widget.
115    * Note that it depends on the show-menu-images setting whether
116    * the image will be displayed or not.
117    * @param image A widget to set as the image for the menu item.
118    */
119   void set_image(Widget& image);
120   
121   /** Gets the widget that is currently set as the image of @a image_menu_item .
122    * See set_image().
123    * @return The widget set as image of @a image_menu_item .
124    */
125   Widget* get_image();
126   
127   /** Gets the widget that is currently set as the image of @a image_menu_item .
128    * See set_image().
129    * @return The widget set as image of @a image_menu_item .
130    */
131   const Widget* get_image() const;
132
133
134 };
135
136 } /* namespace Gtk */
137
138
139 namespace Glib
140 {
141   /** @relates Gtk::ImageMenuItem
142    * @param object The C instance
143    * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
144    * @result A C++ instance that wraps this C instance.
145    */
146   Gtk::ImageMenuItem* wrap(GtkImageMenuItem* object, bool take_copy = false);
147 }
148 #endif /* _GTKMM_IMAGEMENUITEM_H */
149