Install ardour as a binary, a script and a set of shared
[ardour.git] / libs / gtkmm2 / gtk / gtkmm / cellrenderer.cc
1 // Generated by gtkmmproc -- DO NOT MODIFY!
2
3 #include <gtkmm/cellrenderer.h>
4 #include <gtkmm/private/cellrenderer_p.h>
5
6 #include <gtk/gtktypebuiltins.h>
7 // -*- c++ -*-
8 /* $Id$ */
9
10 /* Copyright 1998-2002 The gtkmm Development Team
11  *
12  * This library is free software; you can redistribute it and/or
13  * modify it under the terms of the GNU Library General Public
14  * License as published by the Free Software Foundation; either
15  * version 2 of the License, or (at your option) any later version.
16  *
17  * This library is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
20  * Library General Public License for more details.
21  *
22  * You should have received a copy of the GNU Library General Public
23  * License along with this library; if not, write to the Free
24  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25  */
26
27 #include <gtk/gtkcellrenderer.h>
28
29 namespace Gtk
30 {
31
32 void CellRenderer::get_size(Widget& widget, int& x_offset, int& y_offset, int& width, int& height) const
33 {
34   gtk_cell_renderer_get_size(const_cast<GtkCellRenderer*>(gobj()), widget.gobj(), 0, &x_offset, &y_offset, &width, &height);
35 }
36
37 Glib::PropertyProxy_Base CellRenderer::_property_renderable()
38 {
39   g_assert_not_reached();
40   return Glib::PropertyProxy<int>(0, 0); // shut up warnings
41 }
42
43 } // namespace Gtk
44
45
46 namespace
47 {
48
49 const Glib::SignalProxyInfo CellRenderer_signal_editing_canceled_info =
50 {
51   "editing_canceled",
52   (GCallback) &Glib::SignalProxyNormal::slot0_void_callback,
53   (GCallback) &Glib::SignalProxyNormal::slot0_void_callback
54 };
55
56
57 void CellRenderer_signal_editing_started_callback(GtkCellRenderer* self, GtkCellEditable* p0,const gchar* p1,void* data)
58 {
59   using namespace Gtk;
60   typedef sigc::slot< void,CellEditable*,const Glib::ustring& > SlotType;
61
62   // Do not try to call a signal on a disassociated wrapper.
63   if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
64   {
65     try
66     {
67       if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
68         (*static_cast<SlotType*>(slot))(dynamic_cast<CellEditable*>(Glib::wrap_auto((GObject*)(p0), false))
69 , Glib::convert_const_gchar_ptr_to_ustring(p1)
70 );
71     }
72     catch(...)
73     {
74       Glib::exception_handlers_invoke();
75     }
76   }
77 }
78
79 const Glib::SignalProxyInfo CellRenderer_signal_editing_started_info =
80 {
81   "editing_started",
82   (GCallback) &CellRenderer_signal_editing_started_callback,
83   (GCallback) &CellRenderer_signal_editing_started_callback
84 };
85
86 } // anonymous namespace
87
88 // static
89 GType Glib::Value<Gtk::CellRendererState>::value_type()
90 {
91   return gtk_cell_renderer_state_get_type();
92 }
93
94 // static
95 GType Glib::Value<Gtk::CellRendererMode>::value_type()
96 {
97   return gtk_cell_renderer_mode_get_type();
98 }
99
100
101 namespace Glib
102 {
103
104 Gtk::CellRenderer* wrap(GtkCellRenderer* object, bool take_copy)
105 {
106   return dynamic_cast<Gtk::CellRenderer *> (Glib::wrap_auto ((GObject*)(object), take_copy));
107 }
108
109 } /* namespace Glib */
110
111 namespace Gtk
112 {
113
114
115 /* The *_Class implementation: */
116
117 const Glib::Class& CellRenderer_Class::init()
118 {
119   if(!gtype_) // create the GType if necessary
120   {
121     // Glib::Class has to know the class init function to clone custom types.
122     class_init_func_ = &CellRenderer_Class::class_init_function;
123
124     // This is actually just optimized away, apparently with no harm.
125     // Make sure that the parent type has been created.
126     //CppClassParent::CppObjectType::get_type();
127
128     // Create the wrapper type, with the same class/instance size as the base type.
129     register_derived_type(gtk_cell_renderer_get_type());
130
131     // Add derived versions of interfaces, if the C type implements any interfaces:
132   }
133
134   return *this;
135 }
136
137 void CellRenderer_Class::class_init_function(void* g_class, void* class_data)
138 {
139   BaseClassType *const klass = static_cast<BaseClassType*>(g_class);
140   CppClassParent::class_init_function(klass, class_data);
141
142   klass->get_size = &get_size_vfunc_callback;
143   klass->render = &render_vfunc_callback;
144   klass->activate = &activate_vfunc_callback;
145   klass->start_editing = &start_editing_vfunc_callback;
146   klass->editing_canceled = &editing_canceled_callback;
147 }
148
149 void CellRenderer_Class::get_size_vfunc_callback(GtkCellRenderer* self, GtkWidget* widget, GdkRectangle* cell_area, gint* x_offset, gint* y_offset, gint* width, gint* height)
150 {
151   CppObjectType *const obj = dynamic_cast<CppObjectType*>(
152       Glib::ObjectBase::_get_current_wrapper((GObject*)self));
153
154   // Non-gtkmmproc-generated custom classes implicitly call the default
155   // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
156   // generated classes can use this optimisation, which avoids the unnecessary
157   // parameter conversions if there is no possibility of the virtual function
158   // being overridden:
159   if(obj && obj->is_derived_())
160   {
161     try // Trap C++ exceptions which would normally be lost because this is a C callback.
162     {
163       // Call the virtual member method, which derived classes might override.
164       obj->get_size_vfunc(*Glib::wrap(widget)
165 , &Glib::wrap(cell_area)
166 , x_offset
167 , y_offset
168 , width
169 , height
170 );
171     }
172     catch(...)
173     {
174       Glib::exception_handlers_invoke();
175     }
176   }
177   else
178   {
179     BaseClassType *const base = static_cast<BaseClassType*>(
180         g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
181     );
182
183     // Call the original underlying C function:
184     if(base && base->get_size)
185       (*base->get_size)(self, widget, cell_area, x_offset, y_offset, width, height);
186   }
187 }
188
189 void CellRenderer_Class::render_vfunc_callback(GtkCellRenderer* self, GdkDrawable* window, GtkWidget* widget, GdkRectangle* background_area, GdkRectangle* cell_area, GdkRectangle* expose_area, GtkCellRendererState flags)
190 {
191   CppObjectType *const obj = dynamic_cast<CppObjectType*>(
192       Glib::ObjectBase::_get_current_wrapper((GObject*)self));
193
194   // Non-gtkmmproc-generated custom classes implicitly call the default
195   // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
196   // generated classes can use this optimisation, which avoids the unnecessary
197   // parameter conversions if there is no possibility of the virtual function
198   // being overridden:
199   if(obj && obj->is_derived_())
200   {
201     try // Trap C++ exceptions which would normally be lost because this is a C callback.
202     {
203       // Call the virtual member method, which derived classes might override.
204       obj->render_vfunc(Glib::wrap(window, true)
205 , *Glib::wrap(widget)
206 , Glib::wrap(background_area)
207 , Glib::wrap(cell_area)
208 , Glib::wrap(expose_area)
209 , ((CellRendererState)(flags))
210 );
211     }
212     catch(...)
213     {
214       Glib::exception_handlers_invoke();
215     }
216   }
217   else
218   {
219     BaseClassType *const base = static_cast<BaseClassType*>(
220         g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
221     );
222
223     // Call the original underlying C function:
224     if(base && base->render)
225       (*base->render)(self, window, widget, background_area, cell_area, expose_area, flags);
226   }
227 }
228
229 gboolean CellRenderer_Class::activate_vfunc_callback(GtkCellRenderer* self, GdkEvent* event, GtkWidget* widget, const gchar* path, GdkRectangle* background_area, GdkRectangle* cell_area, GtkCellRendererState flags)
230 {
231   CppObjectType *const obj = dynamic_cast<CppObjectType*>(
232       Glib::ObjectBase::_get_current_wrapper((GObject*)self));
233
234   // Non-gtkmmproc-generated custom classes implicitly call the default
235   // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
236   // generated classes can use this optimisation, which avoids the unnecessary
237   // parameter conversions if there is no possibility of the virtual function
238   // being overridden:
239   if(obj && obj->is_derived_())
240   {
241     try // Trap C++ exceptions which would normally be lost because this is a C callback.
242     {
243       // Call the virtual member method, which derived classes might override.
244       return static_cast<int>(obj->activate_vfunc(event, *Glib::wrap(widget)
245 , Glib::convert_const_gchar_ptr_to_ustring(path)
246 , Glib::wrap(background_area)
247 , Glib::wrap(cell_area)
248 , ((CellRendererState)(flags))
249 ));
250     }
251     catch(...)
252     {
253       Glib::exception_handlers_invoke();
254     }
255   }
256   else
257   {
258     BaseClassType *const base = static_cast<BaseClassType*>(
259         g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
260     );
261
262     // Call the original underlying C function:
263     if(base && base->activate)
264       return (*base->activate)(self, event, widget, path, background_area, cell_area, flags);
265   }
266
267   typedef gboolean RType;
268   return RType();
269 }
270
271 GtkCellEditable* CellRenderer_Class::start_editing_vfunc_callback(GtkCellRenderer* self, GdkEvent* event, GtkWidget* widget, const gchar* path, GdkRectangle* background_area, GdkRectangle* cell_area, GtkCellRendererState flags)
272 {
273   CppObjectType *const obj = dynamic_cast<CppObjectType*>(
274       Glib::ObjectBase::_get_current_wrapper((GObject*)self));
275
276   // Non-gtkmmproc-generated custom classes implicitly call the default
277   // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
278   // generated classes can use this optimisation, which avoids the unnecessary
279   // parameter conversions if there is no possibility of the virtual function
280   // being overridden:
281   if(false) //obj && obj->is_derived_())
282   {
283     try // Trap C++ exceptions which would normally be lost because this is a C callback.
284     {
285       // Call the virtual member method, which derived classes might override.
286       return Glib::unwrap(obj->start_editing_vfunc(event, *Glib::wrap(widget)
287 , Glib::convert_const_gchar_ptr_to_ustring(path)
288 , Glib::wrap(background_area)
289 , Glib::wrap(cell_area)
290 , ((CellRendererState)(flags))
291 ));
292     }
293     catch(...)
294     {
295       Glib::exception_handlers_invoke();
296     }
297   }
298   else
299   {
300     BaseClassType *const base = static_cast<BaseClassType*>(
301         g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
302     );
303
304     // Call the original underlying C function:
305     if(base && base->start_editing)
306       return (*base->start_editing)(self, event, widget, path, background_area, cell_area, flags);
307   }
308
309   typedef GtkCellEditable* RType;
310   return RType();
311 }
312
313
314 void CellRenderer_Class::editing_canceled_callback(GtkCellRenderer* self)
315 {
316   CppObjectType *const obj = dynamic_cast<CppObjectType*>(
317       Glib::ObjectBase::_get_current_wrapper((GObject*)self));
318
319   // Non-gtkmmproc-generated custom classes implicitly call the default
320   // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
321   // generated classes can use this optimisation, which avoids the unnecessary
322   // parameter conversions if there is no possibility of the virtual function
323   // being overridden:
324   if(obj && obj->is_derived_())
325   {
326     try // Trap C++ exceptions which would normally be lost because this is a C callback.
327     {
328       // Call the virtual member method, which derived classes might override.
329       obj->on_editing_canceled();
330     }
331     catch(...)
332     {
333       Glib::exception_handlers_invoke();
334     }
335   }
336   else
337   {
338     BaseClassType *const base = static_cast<BaseClassType*>(
339         g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
340     );
341
342     // Call the original underlying C function:
343     if(base && base->editing_canceled)
344       (*base->editing_canceled)(self);
345   }
346 }
347
348
349 Glib::ObjectBase* CellRenderer_Class::wrap_new(GObject* o)
350 {
351   return manage(new CellRenderer((GtkCellRenderer*)(o)));
352
353 }
354
355
356 /* The implementation: */
357
358 CellRenderer::CellRenderer(const Glib::ConstructParams& construct_params)
359 :
360   Gtk::Object(construct_params)
361 {
362   }
363
364 CellRenderer::CellRenderer(GtkCellRenderer* castitem)
365 :
366   Gtk::Object((GtkObject*)(castitem))
367 {
368   }
369
370 CellRenderer::~CellRenderer()
371 {
372   destroy_();
373 }
374
375 CellRenderer::CppClassType CellRenderer::cellrenderer_class_; // initialize static member
376
377 GType CellRenderer::get_type()
378 {
379   return cellrenderer_class_.init().get_type();
380 }
381
382 GType CellRenderer::get_base_type()
383 {
384   return gtk_cell_renderer_get_type();
385 }
386
387
388 void CellRenderer::get_size(Widget& widget, const Gdk::Rectangle& cell_area, int& x_offset, int& y_offset, int& width, int& height) const
389 {
390   gtk_cell_renderer_get_size(const_cast<GtkCellRenderer*>(gobj()), (widget).gobj(), const_cast<GdkRectangle*>(cell_area.gobj()), &x_offset, &y_offset, &width, &height);
391 }
392
393 void CellRenderer::render(const Glib::RefPtr<Gdk::Window>& window, Widget& widget, const Gdk::Rectangle& background_area, const Gdk::Rectangle& cell_area, const Gdk::Rectangle& expose_area, CellRendererState flags)
394 {
395   gtk_cell_renderer_render(gobj(), Glib::unwrap(window), (widget).gobj(), const_cast<GdkRectangle*>(background_area.gobj()), const_cast<GdkRectangle*>(cell_area.gobj()), const_cast<GdkRectangle*>(expose_area.gobj()), ((GtkCellRendererState)(flags)));
396 }
397
398 bool CellRenderer::activate(GdkEvent* event, Widget& widget, const Glib::ustring& path, const Gdk::Rectangle& background_area, const Gdk::Rectangle& cell_area, CellRendererState flags)
399 {
400   return gtk_cell_renderer_activate(gobj(), event, (widget).gobj(), path.c_str(), const_cast<GdkRectangle*>(background_area.gobj()), const_cast<GdkRectangle*>(cell_area.gobj()), ((GtkCellRendererState)(flags)));
401 }
402
403 CellEditable* CellRenderer::start_editing(GdkEvent* event, Widget& widget, const Glib::ustring& path, const Gdk::Rectangle& background_area, const Gdk::Rectangle& cell_area, CellRendererState flags)
404 {
405   return dynamic_cast<CellEditable*>(Glib::wrap_auto((GObject*)(gtk_cell_renderer_start_editing(gobj(), event, (widget).gobj(), path.c_str(), const_cast<GdkRectangle*>(background_area.gobj()), const_cast<GdkRectangle*>(cell_area.gobj()), ((GtkCellRendererState)(flags)))), false));
406 }
407
408 void CellRenderer::set_fixed_size(int width, int height)
409 {
410   gtk_cell_renderer_set_fixed_size(gobj(), width, height);
411 }
412
413 void CellRenderer::get_fixed_size(int& width, int& height) const
414 {
415   gtk_cell_renderer_get_fixed_size(const_cast<GtkCellRenderer*>(gobj()), &width, &height);
416 }
417
418 void CellRenderer::editing_canceled()
419 {
420   gtk_cell_renderer_editing_canceled(gobj());
421 }
422
423 void CellRenderer::stop_editing(bool canceled)
424 {
425   gtk_cell_renderer_stop_editing(gobj(), static_cast<int>(canceled));
426 }
427
428 CellRenderer::CellRenderer()
429 :
430   Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
431   Gtk::Object(Glib::ConstructParams(cellrenderer_class_.init()))
432 {
433   }
434
435
436 Glib::SignalProxy0< void > CellRenderer::signal_editing_canceled()
437 {
438   return Glib::SignalProxy0< void >(this, &CellRenderer_signal_editing_canceled_info);
439 }
440
441 Glib::SignalProxy2< void,CellEditable*,const Glib::ustring& > CellRenderer::signal_editing_started()
442 {
443   return Glib::SignalProxy2< void,CellEditable*,const Glib::ustring& >(this, &CellRenderer_signal_editing_started_info);
444 }
445
446
447 Glib::PropertyProxy<CellRendererMode> CellRenderer::property_mode() 
448 {
449   return Glib::PropertyProxy<CellRendererMode>(this, "mode");
450 }
451
452 Glib::PropertyProxy_ReadOnly<CellRendererMode> CellRenderer::property_mode() const
453 {
454   return Glib::PropertyProxy_ReadOnly<CellRendererMode>(this, "mode");
455 }
456
457 Glib::PropertyProxy<bool> CellRenderer::property_visible() 
458 {
459   return Glib::PropertyProxy<bool>(this, "visible");
460 }
461
462 Glib::PropertyProxy_ReadOnly<bool> CellRenderer::property_visible() const
463 {
464   return Glib::PropertyProxy_ReadOnly<bool>(this, "visible");
465 }
466
467 Glib::PropertyProxy<float> CellRenderer::property_xalign() 
468 {
469   return Glib::PropertyProxy<float>(this, "xalign");
470 }
471
472 Glib::PropertyProxy_ReadOnly<float> CellRenderer::property_xalign() const
473 {
474   return Glib::PropertyProxy_ReadOnly<float>(this, "xalign");
475 }
476
477 Glib::PropertyProxy<float> CellRenderer::property_yalign() 
478 {
479   return Glib::PropertyProxy<float>(this, "yalign");
480 }
481
482 Glib::PropertyProxy_ReadOnly<float> CellRenderer::property_yalign() const
483 {
484   return Glib::PropertyProxy_ReadOnly<float>(this, "yalign");
485 }
486
487 Glib::PropertyProxy<unsigned int> CellRenderer::property_xpad() 
488 {
489   return Glib::PropertyProxy<unsigned int>(this, "xpad");
490 }
491
492 Glib::PropertyProxy_ReadOnly<unsigned int> CellRenderer::property_xpad() const
493 {
494   return Glib::PropertyProxy_ReadOnly<unsigned int>(this, "xpad");
495 }
496
497 Glib::PropertyProxy<unsigned int> CellRenderer::property_ypad() 
498 {
499   return Glib::PropertyProxy<unsigned int>(this, "ypad");
500 }
501
502 Glib::PropertyProxy_ReadOnly<unsigned int> CellRenderer::property_ypad() const
503 {
504   return Glib::PropertyProxy_ReadOnly<unsigned int>(this, "ypad");
505 }
506
507 Glib::PropertyProxy<int> CellRenderer::property_width() 
508 {
509   return Glib::PropertyProxy<int>(this, "width");
510 }
511
512 Glib::PropertyProxy_ReadOnly<int> CellRenderer::property_width() const
513 {
514   return Glib::PropertyProxy_ReadOnly<int>(this, "width");
515 }
516
517 Glib::PropertyProxy<int> CellRenderer::property_height() 
518 {
519   return Glib::PropertyProxy<int>(this, "height");
520 }
521
522 Glib::PropertyProxy_ReadOnly<int> CellRenderer::property_height() const
523 {
524   return Glib::PropertyProxy_ReadOnly<int>(this, "height");
525 }
526
527 Glib::PropertyProxy<bool> CellRenderer::property_is_expander() 
528 {
529   return Glib::PropertyProxy<bool>(this, "is-expander");
530 }
531
532 Glib::PropertyProxy_ReadOnly<bool> CellRenderer::property_is_expander() const
533 {
534   return Glib::PropertyProxy_ReadOnly<bool>(this, "is-expander");
535 }
536
537 Glib::PropertyProxy<bool> CellRenderer::property_is_expanded() 
538 {
539   return Glib::PropertyProxy<bool>(this, "is-expanded");
540 }
541
542 Glib::PropertyProxy_ReadOnly<bool> CellRenderer::property_is_expanded() const
543 {
544   return Glib::PropertyProxy_ReadOnly<bool>(this, "is-expanded");
545 }
546
547 Glib::PropertyProxy_WriteOnly<Glib::ustring> CellRenderer::property_cell_background() 
548 {
549   return Glib::PropertyProxy_WriteOnly<Glib::ustring>(this, "cell-background");
550 }
551
552 Glib::PropertyProxy_ReadOnly<Glib::ustring> CellRenderer::property_cell_background() const
553 {
554   return Glib::PropertyProxy_ReadOnly<Glib::ustring>(this, "cell-background");
555 }
556
557 Glib::PropertyProxy<Gdk::Color> CellRenderer::property_cell_background_gdk() 
558 {
559   return Glib::PropertyProxy<Gdk::Color>(this, "cell-background-gdk");
560 }
561
562 Glib::PropertyProxy_ReadOnly<Gdk::Color> CellRenderer::property_cell_background_gdk() const
563 {
564   return Glib::PropertyProxy_ReadOnly<Gdk::Color>(this, "cell-background-gdk");
565 }
566
567 Glib::PropertyProxy<bool> CellRenderer::property_cell_background_set() 
568 {
569   return Glib::PropertyProxy<bool>(this, "cell-background-set");
570 }
571
572 Glib::PropertyProxy_ReadOnly<bool> CellRenderer::property_cell_background_set() const
573 {
574   return Glib::PropertyProxy_ReadOnly<bool>(this, "cell-background-set");
575 }
576
577
578 void Gtk::CellRenderer::on_editing_canceled()
579 {
580   BaseClassType *const base = static_cast<BaseClassType*>(
581       g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
582   );
583
584   if(base && base->editing_canceled)
585     (*base->editing_canceled)(gobj());
586 }
587
588
589 void Gtk::CellRenderer::get_size_vfunc(Widget& widget, const Gdk::Rectangle* cell_area, int* x_offset, int* y_offset, int* width, int* height) const
590 {
591   BaseClassType *const base = static_cast<BaseClassType*>(
592       g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
593   );
594
595   if(base && base->get_size)
596     (*base->get_size)(const_cast<GtkCellRenderer*>(gobj()),(widget).gobj(),Glib::unwrap(const_cast<Gdk::Rectangle*>(cell_area)),x_offset,y_offset,width,height);
597 }
598
599 void Gtk::CellRenderer::render_vfunc(const Glib::RefPtr<Gdk::Drawable>& window, Widget& widget, const Gdk::Rectangle& background_area, const Gdk::Rectangle& cell_area, const Gdk::Rectangle& expose_area, CellRendererState flags) 
600 {
601   BaseClassType *const base = static_cast<BaseClassType*>(
602       g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
603   );
604
605   if(base && base->render)
606     (*base->render)(gobj(),Glib::unwrap(window),(widget).gobj(),const_cast<GdkRectangle*>(background_area.gobj()),const_cast<GdkRectangle*>(cell_area.gobj()),const_cast<GdkRectangle*>(expose_area.gobj()),((GtkCellRendererState)(flags)));
607 }
608
609 bool Gtk::CellRenderer::activate_vfunc(GdkEvent* event, Widget& widget, const Glib::ustring& path, const Gdk::Rectangle& background_area, const Gdk::Rectangle& cell_area, CellRendererState flags) 
610 {
611   BaseClassType *const base = static_cast<BaseClassType*>(
612       g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
613   );
614
615   if(base && base->activate)
616     return (*base->activate)(gobj(),event,(widget).gobj(),path.c_str(),const_cast<GdkRectangle*>(background_area.gobj()),const_cast<GdkRectangle*>(cell_area.gobj()),((GtkCellRendererState)(flags)));
617
618   typedef bool RType;
619   return RType();
620 }
621
622 CellEditable* Gtk::CellRenderer::start_editing_vfunc(GdkEvent* event, Widget& widget, const Glib::ustring& path, const Gdk::Rectangle& background_area, const Gdk::Rectangle& cell_area, CellRendererState flags) 
623 {
624   BaseClassType *const base = static_cast<BaseClassType*>(
625       g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
626   );
627
628   if(base && base->start_editing)
629     return dynamic_cast<CellEditable*>(Glib::wrap_auto((GObject*)((*base->start_editing)(gobj(),event,(widget).gobj(),path.c_str(),const_cast<GdkRectangle*>(background_area.gobj()),const_cast<GdkRectangle*>(cell_area.gobj()),((GtkCellRendererState)(flags)))), false));
630
631   typedef CellEditable* RType;
632   return RType();
633 }
634
635
636 } // namespace Gtk
637
638