Install ardour as a binary, a script and a set of shared
[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 #include <glibmm.h>
7
8 /* $Id$ */
9
10 /* cellrenderertext.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/cellrenderer.h>
30
31
32 #ifndef DOXYGEN_SHOULD_SKIP_THIS
33 typedef struct _GtkCellRendererPixbuf GtkCellRendererPixbuf;
34 typedef struct _GtkCellRendererPixbufClass GtkCellRendererPixbufClass;
35 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
36
37
38 namespace Gtk
39 { class CellRendererPixbuf_Class; } // namespace Gtk
40 namespace Gtk
41 {
42
43 /** Renders a pixbuf in a cell.
44  * A CellRendererPixbuf can be used to render an image in a cell. It allows you to render either a 
45  * given Pixbuf (set via the pixbuf property) or a stock icon (set via the stock_id property).
46  *
47  * To support the tree view, CellRendererPixbuf also supports rendering two alternative pixbufs, when 
48  * the is_expanded property is true. If the is_expanded property is true and the pixbuf_expander_open 
49  * property is set to a pixbuf, it renders that pixbuf. If the is_expanded property is false and the *
50  * pixbuf_expander_closed property is set to a pixbuf, it renders that one.
51  *
52  * @ingroup TreeView
53  */
54
55 class CellRendererPixbuf : public CellRenderer
56 {
57   public:
58 #ifndef DOXYGEN_SHOULD_SKIP_THIS
59   typedef CellRendererPixbuf CppObjectType;
60   typedef CellRendererPixbuf_Class CppClassType;
61   typedef GtkCellRendererPixbuf BaseObjectType;
62   typedef GtkCellRendererPixbufClass BaseClassType;
63 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
64
65   virtual ~CellRendererPixbuf();
66
67 #ifndef DOXYGEN_SHOULD_SKIP_THIS
68
69 private:
70   friend class CellRendererPixbuf_Class;
71   static CppClassType cellrendererpixbuf_class_;
72
73   // noncopyable
74   CellRendererPixbuf(const CellRendererPixbuf&);
75   CellRendererPixbuf& operator=(const CellRendererPixbuf&);
76
77 protected:
78   explicit CellRendererPixbuf(const Glib::ConstructParams& construct_params);
79   explicit CellRendererPixbuf(GtkCellRendererPixbuf* castitem);
80
81 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
82
83 public:
84 #ifndef DOXYGEN_SHOULD_SKIP_THIS
85   static GType get_type()      G_GNUC_CONST;
86   static GType get_base_type() G_GNUC_CONST;
87 #endif
88
89   ///Provides access to the underlying C GtkObject.
90   GtkCellRendererPixbuf*       gobj()       { return reinterpret_cast<GtkCellRendererPixbuf*>(gobject_); }
91
92   ///Provides access to the underlying C GtkObject.
93   const GtkCellRendererPixbuf* gobj() const { return reinterpret_cast<GtkCellRendererPixbuf*>(gobject_); }
94
95
96 public:
97   //C++ methods used to invoke GTK+ virtual functions:
98
99 protected:
100   //GTK+ Virtual Functions (override these to change behaviour):
101
102   //Default Signal Handlers::
103
104
105 private:
106
107 public:
108
109   CellRendererPixbuf();
110   
111   /** The pixbuf to render.
112    *
113    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
114    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
115    * the value of the property changes.
116    */
117   Glib::PropertyProxy< Glib::RefPtr<Gdk::Pixbuf> > property_pixbuf() ;
118
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_ReadOnly< Glib::RefPtr<Gdk::Pixbuf> > property_pixbuf() const;
126
127   /** Pixbuf for open expander.
128    *
129    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
130    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
131    * the value of the property changes.
132    */
133   Glib::PropertyProxy< Glib::RefPtr<Gdk::Pixbuf> > property_pixbuf_expander_open() ;
134
135 /** Pixbuf for open expander.
136    *
137    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
138    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
139    * the value of the property changes.
140    */
141   Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gdk::Pixbuf> > property_pixbuf_expander_open() const;
142
143   /** Pixbuf for closed expander.
144    *
145    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
146    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
147    * the value of the property changes.
148    */
149   Glib::PropertyProxy< Glib::RefPtr<Gdk::Pixbuf> > property_pixbuf_expander_closed() ;
150
151 /** Pixbuf for closed expander.
152    *
153    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
154    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
155    * the value of the property changes.
156    */
157   Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gdk::Pixbuf> > property_pixbuf_expander_closed() const;
158
159   /** The stock ID of the stock icon to render.
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::ustring> property_stock_id() ;
166
167 /** The stock ID of the stock icon to render.
168    *
169    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
170    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
171    * the value of the property changes.
172    */
173   Glib::PropertyProxy_ReadOnly<Glib::ustring> property_stock_id() const;
174
175   /** The GtkIconSize value that specifies the size of the rendered icon.
176    *
177    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
178    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
179    * the value of the property changes.
180    */
181   Glib::PropertyProxy<guint> property_stock_size() ;
182
183 /** The GtkIconSize value that specifies the size of the rendered icon.
184    *
185    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
186    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
187    * the value of the property changes.
188    */
189   Glib::PropertyProxy_ReadOnly<guint> property_stock_size() const;
190
191   /** Render detail to pass to the theme engine.
192    *
193    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
194    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
195    * the value of the property changes.
196    */
197   Glib::PropertyProxy<Glib::ustring> property_stock_detail() ;
198
199 /** Render detail to pass to the theme engine.
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_ReadOnly<Glib::ustring> property_stock_detail() const;
206
207
208   virtual Glib::PropertyProxy_Base _property_renderable(); //override
209
210
211 };
212
213 } /* namespace Gtk */
214
215
216 namespace Glib
217 {
218   /** @relates Gtk::CellRendererPixbuf
219    * @param object The C instance
220    * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
221    * @result A C++ instance that wraps this C instance.
222    */
223   Gtk::CellRendererPixbuf* wrap(GtkCellRendererPixbuf* object, bool take_copy = false);
224 }
225 #endif /* _GTKMM_CELLRENDERERPIXBUF_H */
226