Merged revisions 6293,6296-6306,6308 via svnmerge from
[ardour.git] / libs / gtkmm2 / gtk / gtkmm / cellrenderercombo.h
1 // -*- c++ -*-
2 // Generated by gtkmmproc -- DO NOT MODIFY!
3 #ifndef _GTKMM_CELLRENDERERCOMBO_H
4 #define _GTKMM_CELLRENDERERCOMBO_H
5
6
7 #include <glibmm.h>
8
9 /* $Id$ */
10
11 /* cellrenderercombo.h
12  * 
13  * Copyright (C) 2004 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/cellrenderertext.h>
31 #include <gtkmm/treemodel.h>
32
33
34 #ifndef DOXYGEN_SHOULD_SKIP_THIS
35 typedef struct _GtkCellRendererCombo GtkCellRendererCombo;
36 typedef struct _GtkCellRendererComboClass GtkCellRendererComboClass;
37 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
38
39
40 namespace Gtk
41 { class CellRendererCombo_Class; } // namespace Gtk
42 namespace Gtk
43 {
44
45 /**  Renders a combobox in a cell.
46  * CellRendererCombo renders text in a cell like CellRendererText, from which it is derived. But while 
47  * CellRendererText offers a simple entry to edit the text, CellRendererCombo offers a ComboBox or 
48  * ComboBoxEntry widget to edit the text. The values to display in the combo box are taken from the 
49  * tree model specified in the model property.
50  *
51  * The combo cell renderer takes care of adding a text cell renderer to the combo box and sets it to 
52  * display the column specified by its text_column property. Further cell renderers can be added in a 
53  * handler for the editing_started signal. 
54  *
55  * @ingroup TreeView
56  */
57
58 class CellRendererCombo : public CellRendererText
59 {
60   public:
61 #ifndef DOXYGEN_SHOULD_SKIP_THIS
62   typedef CellRendererCombo CppObjectType;
63   typedef CellRendererCombo_Class CppClassType;
64   typedef GtkCellRendererCombo BaseObjectType;
65   typedef GtkCellRendererComboClass BaseClassType;
66 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
67
68   virtual ~CellRendererCombo();
69
70 #ifndef DOXYGEN_SHOULD_SKIP_THIS
71
72 private:
73   friend class CellRendererCombo_Class;
74   static CppClassType cellrenderercombo_class_;
75
76   // noncopyable
77   CellRendererCombo(const CellRendererCombo&);
78   CellRendererCombo& operator=(const CellRendererCombo&);
79
80 protected:
81   explicit CellRendererCombo(const Glib::ConstructParams& construct_params);
82   explicit CellRendererCombo(GtkCellRendererCombo* castitem);
83
84 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
85
86 public:
87 #ifndef DOXYGEN_SHOULD_SKIP_THIS
88   static GType get_type()      G_GNUC_CONST;
89   static GType get_base_type() G_GNUC_CONST;
90 #endif
91
92   ///Provides access to the underlying C GtkObject.
93   GtkCellRendererCombo*       gobj()       { return reinterpret_cast<GtkCellRendererCombo*>(gobject_); }
94
95   ///Provides access to the underlying C GtkObject.
96   const GtkCellRendererCombo* gobj() const { return reinterpret_cast<GtkCellRendererCombo*>(gobject_); }
97
98
99 public:
100   //C++ methods used to invoke GTK+ virtual functions:
101 #ifdef GLIBMM_VFUNCS_ENABLED
102 #endif //GLIBMM_VFUNCS_ENABLED
103
104 protected:
105   //GTK+ Virtual Functions (override these to change behaviour):
106 #ifdef GLIBMM_VFUNCS_ENABLED
107 #endif //GLIBMM_VFUNCS_ENABLED
108
109   //Default Signal Handlers::
110 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
111 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
112
113
114 private:
115
116 public:
117
118   CellRendererCombo();
119
120   #ifdef GLIBMM_PROPERTIES_ENABLED
121 /** The model containing the possible values for the combo box.
122    *
123    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
124    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
125    * the value of the property changes.
126    */
127   Glib::PropertyProxy< Glib::RefPtr<Gtk::TreeModel> > property_model() ;
128 #endif //#GLIBMM_PROPERTIES_ENABLED
129
130 #ifdef GLIBMM_PROPERTIES_ENABLED
131 /** The model containing the possible values for the combo box.
132    *
133    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
134    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
135    * the value of the property changes.
136    */
137   Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gtk::TreeModel> > property_model() const;
138 #endif //#GLIBMM_PROPERTIES_ENABLED
139
140   #ifdef GLIBMM_PROPERTIES_ENABLED
141 /** A column in the data source model to get the strings from.
142    *
143    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
144    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
145    * the value of the property changes.
146    */
147   Glib::PropertyProxy<int> property_text_column() ;
148 #endif //#GLIBMM_PROPERTIES_ENABLED
149
150 #ifdef GLIBMM_PROPERTIES_ENABLED
151 /** A column in the data source model to get the strings from.
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<int> property_text_column() const;
158 #endif //#GLIBMM_PROPERTIES_ENABLED
159
160   #ifdef GLIBMM_PROPERTIES_ENABLED
161 /** If FALSE
162    *
163    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
164    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
165    * the value of the property changes.
166    */
167   Glib::PropertyProxy<bool> property_has_entry() ;
168 #endif //#GLIBMM_PROPERTIES_ENABLED
169
170 #ifdef GLIBMM_PROPERTIES_ENABLED
171 /** If FALSE
172    *
173    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
174    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
175    * the value of the property changes.
176    */
177   Glib::PropertyProxy_ReadOnly<bool> property_has_entry() const;
178 #endif //#GLIBMM_PROPERTIES_ENABLED
179
180
181 #ifdef GLIBMM_PROPERTIES_ENABLED
182   virtual Glib::PropertyProxy_Base _property_renderable();
183 #else
184   virtual Glib::ustring _property_renderable();
185 #endif
186
187
188 };
189
190 } /* namespace Gtk */
191
192
193 namespace Glib
194 {
195   /** A Glib::wrap() method for this object.
196    * 
197    * @param object The C instance.
198    * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
199    * @result A C++ instance that wraps this C instance.
200    *
201    * @relates Gtk::CellRendererCombo
202    */
203   Gtk::CellRendererCombo* wrap(GtkCellRendererCombo* object, bool take_copy = false);
204 } //namespace Glib
205
206
207 #endif /* _GTKMM_CELLRENDERERCOMBO_H */
208