add new sigc++2 directory
[ardour.git] / libs / gtkmm2 / gtk / gtkmm / cellrendererpixbuf.h
1 // -*- c++ -*-
2 // Generated by gtkmmproc -- DO NOT MODIFY!
3 #ifndef _GTKMM_CELLRENDERERPIXBUF_H
4 #define _GTKMM_CELLRENDERERPIXBUF_H
5
6
7 #include <glibmm.h>
8
9 /* $Id$ */
10
11 /* cellrenderertext.h
12  * 
13  * Copyright (C) 1998-2002 The gtkmm Development Team
14  *
15  * This library is free software; you can redistribute it and/or
16  * modify it under the terms of the GNU Library General Public
17  * License as published by the Free Software Foundation; either
18  * version 2 of the License, or (at your option) any later version.
19  *
20  * This library is distributed in the hope that it will be useful,
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
23  * Library General Public License for more details.
24  *
25  * You should have received a copy of the GNU Library General Public
26  * License along with this library; if not, write to the Free
27  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
28  */
29
30 #include <gtkmm/cellrenderer.h>
31
32
33 #ifndef DOXYGEN_SHOULD_SKIP_THIS
34 typedef struct _GtkCellRendererPixbuf GtkCellRendererPixbuf;
35 typedef struct _GtkCellRendererPixbufClass GtkCellRendererPixbufClass;
36 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
37
38
39 namespace Gtk
40 { class CellRendererPixbuf_Class; } // namespace Gtk
41 namespace Gtk
42 {
43
44 /** Renders a pixbuf in a cell.
45  * A CellRendererPixbuf can be used to render an image in a cell. It allows you to render either a 
46  * given Pixbuf (set via the pixbuf property) or a stock icon (set via the stock_id property).
47  *
48  * To support the tree view, CellRendererPixbuf also supports rendering two alternative pixbufs, when 
49  * the is_expanded property is true. If the is_expanded property is true and the pixbuf_expander_open 
50  * property is set to a pixbuf, it renders that pixbuf. If the is_expanded property is false and the *
51  * pixbuf_expander_closed property is set to a pixbuf, it renders that one.
52  *
53  * @ingroup TreeView
54  */
55
56 class CellRendererPixbuf : public CellRenderer
57 {
58   public:
59 #ifndef DOXYGEN_SHOULD_SKIP_THIS
60   typedef CellRendererPixbuf CppObjectType;
61   typedef CellRendererPixbuf_Class CppClassType;
62   typedef GtkCellRendererPixbuf BaseObjectType;
63   typedef GtkCellRendererPixbufClass BaseClassType;
64 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
65
66   virtual ~CellRendererPixbuf();
67
68 #ifndef DOXYGEN_SHOULD_SKIP_THIS
69
70 private:
71   friend class CellRendererPixbuf_Class;
72   static CppClassType cellrendererpixbuf_class_;
73
74   // noncopyable
75   CellRendererPixbuf(const CellRendererPixbuf&);
76   CellRendererPixbuf& operator=(const CellRendererPixbuf&);
77
78 protected:
79   explicit CellRendererPixbuf(const Glib::ConstructParams& construct_params);
80   explicit CellRendererPixbuf(GtkCellRendererPixbuf* castitem);
81
82 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
83
84 public:
85 #ifndef DOXYGEN_SHOULD_SKIP_THIS
86   static GType get_type()      G_GNUC_CONST;
87   static GType get_base_type() G_GNUC_CONST;
88 #endif
89
90   ///Provides access to the underlying C GtkObject.
91   GtkCellRendererPixbuf*       gobj()       { return reinterpret_cast<GtkCellRendererPixbuf*>(gobject_); }
92
93   ///Provides access to the underlying C GtkObject.
94   const GtkCellRendererPixbuf* gobj() const { return reinterpret_cast<GtkCellRendererPixbuf*>(gobject_); }
95
96
97 public:
98   //C++ methods used to invoke GTK+ virtual functions:
99 #ifdef GLIBMM_VFUNCS_ENABLED
100 #endif //GLIBMM_VFUNCS_ENABLED
101
102 protected:
103   //GTK+ Virtual Functions (override these to change behaviour):
104 #ifdef GLIBMM_VFUNCS_ENABLED
105 #endif //GLIBMM_VFUNCS_ENABLED
106
107   //Default Signal Handlers::
108 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
109 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
110
111
112 private:
113
114 public:
115
116   CellRendererPixbuf();
117
118   #ifdef GLIBMM_PROPERTIES_ENABLED
119 /** The pixbuf to render.
120    *
121    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
122    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
123    * the value of the property changes.
124    */
125   Glib::PropertyProxy< Glib::RefPtr<Gdk::Pixbuf> > property_pixbuf() ;
126 #endif //#GLIBMM_PROPERTIES_ENABLED
127
128 #ifdef GLIBMM_PROPERTIES_ENABLED
129 /** The pixbuf to render.
130    *
131    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
132    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
133    * the value of the property changes.
134    */
135   Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gdk::Pixbuf> > property_pixbuf() const;
136 #endif //#GLIBMM_PROPERTIES_ENABLED
137
138   #ifdef GLIBMM_PROPERTIES_ENABLED
139 /** Pixbuf for open expander.
140    *
141    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
142    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
143    * the value of the property changes.
144    */
145   Glib::PropertyProxy< Glib::RefPtr<Gdk::Pixbuf> > property_pixbuf_expander_open() ;
146 #endif //#GLIBMM_PROPERTIES_ENABLED
147
148 #ifdef GLIBMM_PROPERTIES_ENABLED
149 /** Pixbuf for open expander.
150    *
151    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
152    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
153    * the value of the property changes.
154    */
155   Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gdk::Pixbuf> > property_pixbuf_expander_open() const;
156 #endif //#GLIBMM_PROPERTIES_ENABLED
157
158   #ifdef GLIBMM_PROPERTIES_ENABLED
159 /** Pixbuf for closed expander.
160    *
161    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
162    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
163    * the value of the property changes.
164    */
165   Glib::PropertyProxy< Glib::RefPtr<Gdk::Pixbuf> > property_pixbuf_expander_closed() ;
166 #endif //#GLIBMM_PROPERTIES_ENABLED
167
168 #ifdef GLIBMM_PROPERTIES_ENABLED
169 /** Pixbuf for closed expander.
170    *
171    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
172    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
173    * the value of the property changes.
174    */
175   Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gdk::Pixbuf> > property_pixbuf_expander_closed() const;
176 #endif //#GLIBMM_PROPERTIES_ENABLED
177
178   #ifdef GLIBMM_PROPERTIES_ENABLED
179 /** The stock ID of the stock icon to render.
180    *
181    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
182    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
183    * the value of the property changes.
184    */
185   Glib::PropertyProxy<Glib::ustring> property_stock_id() ;
186 #endif //#GLIBMM_PROPERTIES_ENABLED
187
188 #ifdef GLIBMM_PROPERTIES_ENABLED
189 /** The stock ID of the stock icon to render.
190    *
191    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
192    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
193    * the value of the property changes.
194    */
195   Glib::PropertyProxy_ReadOnly<Glib::ustring> property_stock_id() const;
196 #endif //#GLIBMM_PROPERTIES_ENABLED
197
198   #ifdef GLIBMM_PROPERTIES_ENABLED
199 /** The GtkIconSize value that specifies the size of the rendered icon.
200    *
201    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
202    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
203    * the value of the property changes.
204    */
205   Glib::PropertyProxy<guint> property_stock_size() ;
206 #endif //#GLIBMM_PROPERTIES_ENABLED
207
208 #ifdef GLIBMM_PROPERTIES_ENABLED
209 /** The GtkIconSize value that specifies the size of the rendered icon.
210    *
211    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
212    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
213    * the value of the property changes.
214    */
215   Glib::PropertyProxy_ReadOnly<guint> property_stock_size() const;
216 #endif //#GLIBMM_PROPERTIES_ENABLED
217
218   #ifdef GLIBMM_PROPERTIES_ENABLED
219 /** Render detail to pass to the theme engine.
220    *
221    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
222    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
223    * the value of the property changes.
224    */
225   Glib::PropertyProxy<Glib::ustring> property_stock_detail() ;
226 #endif //#GLIBMM_PROPERTIES_ENABLED
227
228 #ifdef GLIBMM_PROPERTIES_ENABLED
229 /** Render detail to pass to the theme engine.
230    *
231    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
232    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
233    * the value of the property changes.
234    */
235   Glib::PropertyProxy_ReadOnly<Glib::ustring> property_stock_detail() const;
236 #endif //#GLIBMM_PROPERTIES_ENABLED
237
238
239 #ifdef GLIBMM_PROPERTIES_ENABLED
240   virtual Glib::PropertyProxy_Base _property_renderable();
241 #else
242   virtual Glib::ustring _property_renderable();
243 #endif
244
245
246 };
247
248 } /* namespace Gtk */
249
250
251 namespace Glib
252 {
253   /** A Glib::wrap() method for this object.
254    * 
255    * @param object The C instance.
256    * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
257    * @result A C++ instance that wraps this C instance.
258    *
259    * @relates Gtk::CellRendererPixbuf
260    */
261   Gtk::CellRendererPixbuf* wrap(GtkCellRendererPixbuf* object, bool take_copy = false);
262 } //namespace Glib
263
264
265 #endif /* _GTKMM_CELLRENDERERPIXBUF_H */
266