Install ardour as a binary, a script and a set of shared
[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 #include <glibmm.h>
7
8 /* $Id$ */
9
10 /* cellrenderercombo.h
11  * 
12  * Copyright (C) 2004 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/cellrenderertext.h>
30 #include <gtkmm/treemodel.h>
31
32
33 #ifndef DOXYGEN_SHOULD_SKIP_THIS
34 typedef struct _GtkCellRendererCombo GtkCellRendererCombo;
35 typedef struct _GtkCellRendererComboClass GtkCellRendererComboClass;
36 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
37
38
39 namespace Gtk
40 { class CellRendererCombo_Class; } // namespace Gtk
41 namespace Gtk
42 {
43
44 /**  Renders a combobox in a cell.
45  * CellRendererCombo renders text in a cell like CellRendererText, from which it is derived. But while 
46  * CellRendererText offers a simple entry to edit the text, CellRendererCombo offers a ComboBox or 
47  * ComboBoxEntry widget to edit the text. The values to display in the combo box are taken from the 
48  * tree model specified in the model property.
49  *
50  * The combo cell renderer takes care of adding a text cell renderer to the combo box and sets it to 
51  * display the column specified by its text_column property. Further cell renderers can be added in a 
52  * handler for the editing_started signal. 
53  *
54  * @ingroup TreeView
55  */
56
57 class CellRendererCombo : public CellRendererText
58 {
59   public:
60 #ifndef DOXYGEN_SHOULD_SKIP_THIS
61   typedef CellRendererCombo CppObjectType;
62   typedef CellRendererCombo_Class CppClassType;
63   typedef GtkCellRendererCombo BaseObjectType;
64   typedef GtkCellRendererComboClass BaseClassType;
65 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
66
67   virtual ~CellRendererCombo();
68
69 #ifndef DOXYGEN_SHOULD_SKIP_THIS
70
71 private:
72   friend class CellRendererCombo_Class;
73   static CppClassType cellrenderercombo_class_;
74
75   // noncopyable
76   CellRendererCombo(const CellRendererCombo&);
77   CellRendererCombo& operator=(const CellRendererCombo&);
78
79 protected:
80   explicit CellRendererCombo(const Glib::ConstructParams& construct_params);
81   explicit CellRendererCombo(GtkCellRendererCombo* castitem);
82
83 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
84
85 public:
86 #ifndef DOXYGEN_SHOULD_SKIP_THIS
87   static GType get_type()      G_GNUC_CONST;
88   static GType get_base_type() G_GNUC_CONST;
89 #endif
90
91   ///Provides access to the underlying C GtkObject.
92   GtkCellRendererCombo*       gobj()       { return reinterpret_cast<GtkCellRendererCombo*>(gobject_); }
93
94   ///Provides access to the underlying C GtkObject.
95   const GtkCellRendererCombo* gobj() const { return reinterpret_cast<GtkCellRendererCombo*>(gobject_); }
96
97
98 public:
99   //C++ methods used to invoke GTK+ virtual functions:
100
101 protected:
102   //GTK+ Virtual Functions (override these to change behaviour):
103
104   //Default Signal Handlers::
105
106
107 private:
108
109 public:
110
111   CellRendererCombo();
112
113   /** The model containing the possible values for the combo box.
114    *
115    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
116    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
117    * the value of the property changes.
118    */
119   Glib::PropertyProxy< Glib::RefPtr<Gtk::TreeModel> > property_model() ;
120
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_ReadOnly< Glib::RefPtr<Gtk::TreeModel> > property_model() const;
128
129   /** A column in the data source model to get the strings from.
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<int> property_text_column() ;
136
137 /** A column in the data source model to get the strings from.
138    *
139    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
140    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
141    * the value of the property changes.
142    */
143   Glib::PropertyProxy_ReadOnly<int> property_text_column() const;
144
145   /** If FALSE
146    *
147    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
148    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
149    * the value of the property changes.
150    */
151   Glib::PropertyProxy<bool> property_has_entry() ;
152
153 /** If FALSE
154    *
155    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
156    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
157    * the value of the property changes.
158    */
159   Glib::PropertyProxy_ReadOnly<bool> property_has_entry() const;
160
161
162   virtual Glib::PropertyProxy_Base _property_renderable(); //override
163
164
165 };
166
167 } /* namespace Gtk */
168
169
170 namespace Glib
171 {
172   /** @relates Gtk::CellRendererCombo
173    * @param object The C instance
174    * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
175    * @result A C++ instance that wraps this C instance.
176    */
177   Gtk::CellRendererCombo* wrap(GtkCellRendererCombo* object, bool take_copy = false);
178 }
179 #endif /* _GTKMM_CELLRENDERERCOMBO_H */
180