add new sigc++2 directory
[ardour.git] / libs / gtkmm2 / gtk / gtkmm / cellrendereraccel.h
1 // -*- c++ -*-
2 // Generated by gtkmmproc -- DO NOT MODIFY!
3 #ifndef _GTKMM_CELLRENDERERACCEL_H
4 #define _GTKMM_CELLRENDERERACCEL_H
5
6
7 #include <glibmm.h>
8
9 /* $Id: cellrendereraccel.hg,v 1.2 2006/05/11 11:40:24 murrayc Exp $ */
10
11 /* cellrendereraccel.h
12  * 
13  * Copyright (C) 2005 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/accelkey.h>
32
33
34 #ifndef DOXYGEN_SHOULD_SKIP_THIS
35 typedef struct _GtkCellRendererAccel GtkCellRendererAccel;
36 typedef struct _GtkCellRendererAccelClass GtkCellRendererAccelClass;
37 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
38
39
40 namespace Gtk
41 { class CellRendererAccel_Class; } // namespace Gtk
42 namespace Gtk
43 {
44
45 /**  .
46  * Renders a keyboard accelerator in a cell
47  *
48  * Gtk::CellRendererAccel displays a keyboard accelerator 
49  * (i.e. a key combination like <Control>-a).
50  * If the cell renderer is editable, the accelerator can be changed by 
51  * simply typing the new combination.
52  *
53  * @ingroup TreeView
54  * @newin2p10
55  */
56
57 class CellRendererAccel : public CellRendererText
58 {
59   public:
60 #ifndef DOXYGEN_SHOULD_SKIP_THIS
61   typedef CellRendererAccel CppObjectType;
62   typedef CellRendererAccel_Class CppClassType;
63   typedef GtkCellRendererAccel BaseObjectType;
64   typedef GtkCellRendererAccelClass BaseClassType;
65 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
66
67   virtual ~CellRendererAccel();
68
69 #ifndef DOXYGEN_SHOULD_SKIP_THIS
70
71 private:
72   friend class CellRendererAccel_Class;
73   static CppClassType cellrendereraccel_class_;
74
75   // noncopyable
76   CellRendererAccel(const CellRendererAccel&);
77   CellRendererAccel& operator=(const CellRendererAccel&);
78
79 protected:
80   explicit CellRendererAccel(const Glib::ConstructParams& construct_params);
81   explicit CellRendererAccel(GtkCellRendererAccel* 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   GtkCellRendererAccel*       gobj()       { return reinterpret_cast<GtkCellRendererAccel*>(gobject_); }
93
94   ///Provides access to the underlying C GtkObject.
95   const GtkCellRendererAccel* gobj() const { return reinterpret_cast<GtkCellRendererAccel*>(gobject_); }
96
97
98 public:
99   //C++ methods used to invoke GTK+ virtual functions:
100 #ifdef GLIBMM_VFUNCS_ENABLED
101 #endif //GLIBMM_VFUNCS_ENABLED
102
103 protected:
104   //GTK+ Virtual Functions (override these to change behaviour):
105 #ifdef GLIBMM_VFUNCS_ENABLED
106 #endif //GLIBMM_VFUNCS_ENABLED
107
108   //Default Signal Handlers::
109 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
110   virtual void on_accel_edited(const Glib::ustring& path_string, guint accel_key, Gdk::ModifierType accel_mods, guint hardware_keycode);
111   virtual void on_accel_cleared(const Glib::ustring& path_string);
112 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
113
114
115 private:
116
117 public:
118
119   CellRendererAccel();
120
121   //TODO: Wrap accel_key and accel_mods in an AccelKey?
122   
123   /**
124    * @par Prototype:
125    * <tt>void on_my_%accel_edited(const Glib::ustring& path_string, guint accel_key, Gdk::ModifierType accel_mods, guint hardware_keycode)</tt>
126    */
127
128   Glib::SignalProxy4< void,const Glib::ustring&,guint,Gdk::ModifierType,guint > signal_accel_edited();
129
130   
131   /**
132    * @par Prototype:
133    * <tt>void on_my_%accel_cleared(const Glib::ustring& path_string)</tt>
134    */
135
136   Glib::SignalProxy1< void,const Glib::ustring& > signal_accel_cleared();
137
138
139   #ifdef GLIBMM_PROPERTIES_ENABLED
140 /** The keyval of the accelerator.
141    *
142    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
143    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
144    * the value of the property changes.
145    */
146   Glib::PropertyProxy<guint> property_accel_key() ;
147 #endif //#GLIBMM_PROPERTIES_ENABLED
148
149 #ifdef GLIBMM_PROPERTIES_ENABLED
150 /** The keyval of the accelerator.
151    *
152    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
153    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
154    * the value of the property changes.
155    */
156   Glib::PropertyProxy_ReadOnly<guint> property_accel_key() const;
157 #endif //#GLIBMM_PROPERTIES_ENABLED
158
159   #ifdef GLIBMM_PROPERTIES_ENABLED
160 /** The modifier mask of the accelerator.
161    *
162    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
163    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
164    * the value of the property changes.
165    */
166   Glib::PropertyProxy<Gdk::ModifierType> property_accel_mods() ;
167 #endif //#GLIBMM_PROPERTIES_ENABLED
168
169 #ifdef GLIBMM_PROPERTIES_ENABLED
170 /** The modifier mask of the accelerator.
171    *
172    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
173    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
174    * the value of the property changes.
175    */
176   Glib::PropertyProxy_ReadOnly<Gdk::ModifierType> property_accel_mods() const;
177 #endif //#GLIBMM_PROPERTIES_ENABLED
178
179   #ifdef GLIBMM_PROPERTIES_ENABLED
180 /** The hardware keycode of the accelerator.
181    *
182    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
183    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
184    * the value of the property changes.
185    */
186   Glib::PropertyProxy<guint> property_keycode() ;
187 #endif //#GLIBMM_PROPERTIES_ENABLED
188
189 #ifdef GLIBMM_PROPERTIES_ENABLED
190 /** The hardware keycode of the accelerator.
191    *
192    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
193    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
194    * the value of the property changes.
195    */
196   Glib::PropertyProxy_ReadOnly<guint> property_keycode() const;
197 #endif //#GLIBMM_PROPERTIES_ENABLED
198
199
200 #ifdef GLIBMM_PROPERTIES_ENABLED
201   virtual Glib::PropertyProxy_Base _property_renderable(); //override
202 #endif //GLIBMM_PROPERTIES_ENABLED
203
204
205 };
206
207 } /* namespace Gtk */
208
209
210 namespace Glib
211 {
212   /** A Glib::wrap() method for this object.
213    * 
214    * @param object The C instance.
215    * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
216    * @result A C++ instance that wraps this C instance.
217    *
218    * @relates Gtk::CellRendererAccel
219    */
220   Gtk::CellRendererAccel* wrap(GtkCellRendererAccel* object, bool take_copy = false);
221 } //namespace Glib
222
223
224 #endif /* _GTKMM_CELLRENDERERACCEL_H */
225