1 // Generated by gmmproc 2.45.3 -- DO NOT MODIFY!
2 
3 
4 #include <glibmm.h>
5 
6 #include <gtkmm/cellrendereraccel.h>
7 #include <gtkmm/private/cellrendereraccel_p.h>
8 
9 
10 // -*- c++ -*-
11 /* $Id: cellrendereraccel.ccg,v 1.2 2006/05/11 11:40:24 murrayc Exp $ */
12 
13 /*
14  *
15  * Copyright 2005 The gtkmm Development Team
16  *
17  * This library is free software; you can redistribute it and/or
18  * modify it under the terms of the GNU Lesser General Public
19  * License as published by the Free Software Foundation; either
20  * version 2.1 of the License, or (at your option) any later version.
21  *
22  * This library is distributed in the hope that it will be useful,
23  * but WITHOUT ANY WARRANTY; without even the implied warranty of
24  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
25  * Lesser General Public License for more details.
26  *
27  * You should have received a copy of the GNU Lesser General Public
28  * License along with this library; if not, write to the Free
29  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
30  */
31 
32 #include <gtk/gtk.h>
33 
34 namespace Gtk
35 {
36 
_property_renderable()37 Glib::PropertyProxy_Base CellRendererAccel::_property_renderable()
38 {
39   //Renderering just this one property would probably not be meaningful.
40   return property_accel_key();
41 }
42 
43 } //namespace Gtk
44 
45 namespace
46 {
47 
48 
CellRendererAccel_signal_accel_edited_callback(GtkCellRendererAccel * self,const gchar * p0,guint p1,GdkModifierType p2,guint p3,void * data)49 static void CellRendererAccel_signal_accel_edited_callback(GtkCellRendererAccel* self, const gchar* p0,guint p1,GdkModifierType p2,guint p3,void* data)
50 {
51   using namespace Gtk;
52   typedef sigc::slot< void,const Glib::ustring&,guint,Gdk::ModifierType,guint > SlotType;
53 
54   CellRendererAccel* obj = dynamic_cast<CellRendererAccel*>(Glib::ObjectBase::_get_current_wrapper((GObject*) self));
55   // Do not try to call a signal on a disassociated wrapper.
56   if(obj)
57   {
58     try
59     {
60       if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
61         (*static_cast<SlotType*>(slot))(Glib::convert_const_gchar_ptr_to_ustring(p0)
62 , p1, ((Gdk::ModifierType)(p2))
63 , p3);
64     }
65     catch(...)
66     {
67        Glib::exception_handlers_invoke();
68     }
69   }
70 }
71 
72 static const Glib::SignalProxyInfo CellRendererAccel_signal_accel_edited_info =
73 {
74   "accel_edited",
75   (GCallback) &CellRendererAccel_signal_accel_edited_callback,
76   (GCallback) &CellRendererAccel_signal_accel_edited_callback
77 };
78 
79 
CellRendererAccel_signal_accel_cleared_callback(GtkCellRendererAccel * self,const gchar * p0,void * data)80 static void CellRendererAccel_signal_accel_cleared_callback(GtkCellRendererAccel* self, const gchar* p0,void* data)
81 {
82   using namespace Gtk;
83   typedef sigc::slot< void,const Glib::ustring& > SlotType;
84 
85   CellRendererAccel* obj = dynamic_cast<CellRendererAccel*>(Glib::ObjectBase::_get_current_wrapper((GObject*) self));
86   // Do not try to call a signal on a disassociated wrapper.
87   if(obj)
88   {
89     try
90     {
91       if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
92         (*static_cast<SlotType*>(slot))(Glib::convert_const_gchar_ptr_to_ustring(p0)
93 );
94     }
95     catch(...)
96     {
97        Glib::exception_handlers_invoke();
98     }
99   }
100 }
101 
102 static const Glib::SignalProxyInfo CellRendererAccel_signal_accel_cleared_info =
103 {
104   "accel_cleared",
105   (GCallback) &CellRendererAccel_signal_accel_cleared_callback,
106   (GCallback) &CellRendererAccel_signal_accel_cleared_callback
107 };
108 
109 
110 } // anonymous namespace
111 
112 // static
value_type()113 GType Glib::Value<Gtk::CellRendererAccelMode>::value_type()
114 {
115   return gtk_cell_renderer_accel_mode_get_type();
116 }
117 
118 
119 namespace Glib
120 {
121 
wrap(GtkCellRendererAccel * object,bool take_copy)122 Gtk::CellRendererAccel* wrap(GtkCellRendererAccel* object, bool take_copy)
123 {
124   return dynamic_cast<Gtk::CellRendererAccel *> (Glib::wrap_auto ((GObject*)(object), take_copy));
125 }
126 
127 } /* namespace Glib */
128 
129 namespace Gtk
130 {
131 
132 
133 /* The *_Class implementation: */
134 
init()135 const Glib::Class& CellRendererAccel_Class::init()
136 {
137   if(!gtype_) // create the GType if necessary
138   {
139     // Glib::Class has to know the class init function to clone custom types.
140     class_init_func_ = &CellRendererAccel_Class::class_init_function;
141 
142     // This is actually just optimized away, apparently with no harm.
143     // Make sure that the parent type has been created.
144     //CppClassParent::CppObjectType::get_type();
145 
146     // Create the wrapper type, with the same class/instance size as the base type.
147     register_derived_type(gtk_cell_renderer_accel_get_type());
148 
149     // Add derived versions of interfaces, if the C type implements any interfaces:
150 
151   }
152 
153   return *this;
154 }
155 
156 
class_init_function(void * g_class,void * class_data)157 void CellRendererAccel_Class::class_init_function(void* g_class, void* class_data)
158 {
159   BaseClassType *const klass = static_cast<BaseClassType*>(g_class);
160   CppClassParent::class_init_function(klass, class_data);
161 
162 
163   klass->accel_edited = &accel_edited_callback;
164   klass->accel_cleared = &accel_cleared_callback;
165 }
166 
167 
accel_edited_callback(GtkCellRendererAccel * self,const gchar * p0,guint p1,GdkModifierType p2,guint p3)168 void CellRendererAccel_Class::accel_edited_callback(GtkCellRendererAccel* self, const gchar* p0, guint p1, GdkModifierType p2, guint p3)
169 {
170   Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
171       Glib::ObjectBase::_get_current_wrapper((GObject*)self));
172 
173   // Non-gtkmmproc-generated custom classes implicitly call the default
174   // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
175   // generated classes can use this optimisation, which avoids the unnecessary
176   // parameter conversions if there is no possibility of the virtual function
177   // being overridden:
178   if(obj_base && obj_base->is_derived_())
179   {
180     CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
181     if(obj) // This can be NULL during destruction.
182     {
183       try // Trap C++ exceptions which would normally be lost because this is a C callback.
184       {
185         // Call the virtual member method, which derived classes might override.
186         obj->on_accel_edited(Glib::convert_const_gchar_ptr_to_ustring(p0)
187 , p1, ((Gdk::ModifierType)(p2))
188 , p3);
189         return;
190       }
191       catch(...)
192       {
193         Glib::exception_handlers_invoke();
194       }
195     }
196   }
197 
198   BaseClassType *const base = static_cast<BaseClassType*>(
199         g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
200     );
201 
202   // Call the original underlying C function:
203   if(base && base->accel_edited)
204     (*base->accel_edited)(self, p0, p1, p2, p3);
205 }
accel_cleared_callback(GtkCellRendererAccel * self,const gchar * p0)206 void CellRendererAccel_Class::accel_cleared_callback(GtkCellRendererAccel* self, const gchar* p0)
207 {
208   Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
209       Glib::ObjectBase::_get_current_wrapper((GObject*)self));
210 
211   // Non-gtkmmproc-generated custom classes implicitly call the default
212   // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
213   // generated classes can use this optimisation, which avoids the unnecessary
214   // parameter conversions if there is no possibility of the virtual function
215   // being overridden:
216   if(obj_base && obj_base->is_derived_())
217   {
218     CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
219     if(obj) // This can be NULL during destruction.
220     {
221       try // Trap C++ exceptions which would normally be lost because this is a C callback.
222       {
223         // Call the virtual member method, which derived classes might override.
224         obj->on_accel_cleared(Glib::convert_const_gchar_ptr_to_ustring(p0)
225 );
226         return;
227       }
228       catch(...)
229       {
230         Glib::exception_handlers_invoke();
231       }
232     }
233   }
234 
235   BaseClassType *const base = static_cast<BaseClassType*>(
236         g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
237     );
238 
239   // Call the original underlying C function:
240   if(base && base->accel_cleared)
241     (*base->accel_cleared)(self, p0);
242 }
243 
244 
wrap_new(GObject * o)245 Glib::ObjectBase* CellRendererAccel_Class::wrap_new(GObject* o)
246 {
247   return manage(new CellRendererAccel((GtkCellRendererAccel*)(o)));
248 
249 }
250 
251 
252 /* The implementation: */
253 
CellRendererAccel(const Glib::ConstructParams & construct_params)254 CellRendererAccel::CellRendererAccel(const Glib::ConstructParams& construct_params)
255 :
256   Gtk::CellRendererText(construct_params)
257 {
258   }
259 
CellRendererAccel(GtkCellRendererAccel * castitem)260 CellRendererAccel::CellRendererAccel(GtkCellRendererAccel* castitem)
261 :
262   Gtk::CellRendererText((GtkCellRendererText*)(castitem))
263 {
264   }
265 
~CellRendererAccel()266 CellRendererAccel::~CellRendererAccel()
267 {
268   destroy_();
269 }
270 
271 CellRendererAccel::CppClassType CellRendererAccel::cellrendereraccel_class_; // initialize static member
272 
get_type()273 GType CellRendererAccel::get_type()
274 {
275   return cellrendereraccel_class_.init().get_type();
276 }
277 
278 
get_base_type()279 GType CellRendererAccel::get_base_type()
280 {
281   return gtk_cell_renderer_accel_get_type();
282 }
283 
284 
CellRendererAccel()285 CellRendererAccel::CellRendererAccel()
286 :
287   // Mark this class as non-derived to allow C++ vfuncs to be skipped.
288   Glib::ObjectBase(0),
289   Gtk::CellRendererText(Glib::ConstructParams(cellrendereraccel_class_.init()))
290 {
291 
292 
293 }
294 
295 
signal_accel_edited()296 Glib::SignalProxy4< void,const Glib::ustring&,guint,Gdk::ModifierType,guint > CellRendererAccel::signal_accel_edited()
297 {
298   return Glib::SignalProxy4< void,const Glib::ustring&,guint,Gdk::ModifierType,guint >(this, &CellRendererAccel_signal_accel_edited_info);
299 }
300 
301 
signal_accel_cleared()302 Glib::SignalProxy1< void,const Glib::ustring& > CellRendererAccel::signal_accel_cleared()
303 {
304   return Glib::SignalProxy1< void,const Glib::ustring& >(this, &CellRendererAccel_signal_accel_cleared_info);
305 }
306 
307 
property_accel_key()308 Glib::PropertyProxy< guint > CellRendererAccel::property_accel_key()
309 {
310   return Glib::PropertyProxy< guint >(this, "accel-key");
311 }
312 
property_accel_key() const313 Glib::PropertyProxy_ReadOnly< guint > CellRendererAccel::property_accel_key() const
314 {
315   return Glib::PropertyProxy_ReadOnly< guint >(this, "accel-key");
316 }
317 
property_accel_mods()318 Glib::PropertyProxy< Gdk::ModifierType > CellRendererAccel::property_accel_mods()
319 {
320   return Glib::PropertyProxy< Gdk::ModifierType >(this, "accel-mods");
321 }
322 
property_accel_mods() const323 Glib::PropertyProxy_ReadOnly< Gdk::ModifierType > CellRendererAccel::property_accel_mods() const
324 {
325   return Glib::PropertyProxy_ReadOnly< Gdk::ModifierType >(this, "accel-mods");
326 }
327 
property_keycode()328 Glib::PropertyProxy< guint > CellRendererAccel::property_keycode()
329 {
330   return Glib::PropertyProxy< guint >(this, "keycode");
331 }
332 
property_keycode() const333 Glib::PropertyProxy_ReadOnly< guint > CellRendererAccel::property_keycode() const
334 {
335   return Glib::PropertyProxy_ReadOnly< guint >(this, "keycode");
336 }
337 
property_accel_mode()338 Glib::PropertyProxy< CellRendererAccelMode > CellRendererAccel::property_accel_mode()
339 {
340   return Glib::PropertyProxy< CellRendererAccelMode >(this, "accel-mode");
341 }
342 
property_accel_mode() const343 Glib::PropertyProxy_ReadOnly< CellRendererAccelMode > CellRendererAccel::property_accel_mode() const
344 {
345   return Glib::PropertyProxy_ReadOnly< CellRendererAccelMode >(this, "accel-mode");
346 }
347 
348 
on_accel_edited(const Glib::ustring & path_string,guint accel_key,Gdk::ModifierType accel_mods,guint hardware_keycode)349 void Gtk::CellRendererAccel::on_accel_edited(const Glib::ustring& path_string, guint accel_key, Gdk::ModifierType accel_mods, guint hardware_keycode)
350 {
351   BaseClassType *const base = static_cast<BaseClassType*>(
352       g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
353   );
354 
355   if(base && base->accel_edited)
356     (*base->accel_edited)(gobj(),path_string.c_str(),accel_key,((GdkModifierType)(accel_mods)),hardware_keycode);
357 }
on_accel_cleared(const Glib::ustring & path_string)358 void Gtk::CellRendererAccel::on_accel_cleared(const Glib::ustring& path_string)
359 {
360   BaseClassType *const base = static_cast<BaseClassType*>(
361       g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
362   );
363 
364   if(base && base->accel_cleared)
365     (*base->accel_cleared)(gobj(),path_string.c_str());
366 }
367 
368 
369 } // namespace Gtk
370 
371 
372