Merged revisions 6293,6296-6306,6308 via svnmerge from
[ardour.git] / libs / gtkmm2 / gtk / gtkmm / spinbutton.cc
1 // Generated by gtkmmproc -- DO NOT MODIFY!
2
3
4 #include <gtkmm/spinbutton.h>
5 #include <gtkmm/private/spinbutton_p.h>
6
7 #include <gtk/gtktypebuiltins.h>
8 // -*- c++ -*-
9 /* $Id$ */
10
11 /* Copyright 1998-2002 The gtkmm Development Team
12  *
13  * This library is free software; you can redistribute it and/or
14  * modify it under the terms of the GNU Library General Public
15  * License as published by the Free Software Foundation; either
16  * version 2 of the License, or (at your option) any later version.
17  *
18  * This library is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
21  * Library General Public License for more details.
22  *
23  * You should have received a copy of the GNU Library General Public
24  * License along with this library; if not, write to the Free
25  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26  */
27
28 #include <gtkmm/adjustment.h>
29 #include <gtk/gtkspinbutton.h>
30
31 namespace Gtk
32 {
33
34 SpinButton::SpinButton(double climb_rate, guint digits)
35 :
36   // Mark this class as non-derived to allow C++ vfuncs to be skipped.
37   Glib::ObjectBase(0),
38   Gtk::Entry(Glib::ConstructParams(spinbutton_class_.init(), "climb_rate",climb_rate,"digits",digits, static_cast<char*>(0)))
39 {}
40
41 void SpinButton::unset_adjustment()
42 {
43   gtk_spin_button_set_adjustment(gobj(), 0);
44 }
45
46 } // namespace Gtk
47
48
49 namespace
50 {
51
52
53 static gint SpinButton_signal_input_callback(GtkSpinButton* self, gdouble* p0,void* data)
54 {
55   using namespace Gtk;
56   typedef sigc::slot< int,double* > SlotType;
57
58   // Do not try to call a signal on a disassociated wrapper.
59   if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
60   {
61     #ifdef GLIBMM_EXCEPTIONS_ENABLED
62     try
63     {
64     #endif //GLIBMM_EXCEPTIONS_ENABLED
65       if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
66         return (*static_cast<SlotType*>(slot))(p0
67 );
68     #ifdef GLIBMM_EXCEPTIONS_ENABLED
69     }
70     catch(...)
71     {
72       Glib::exception_handlers_invoke();
73     }
74     #endif //GLIBMM_EXCEPTIONS_ENABLED
75   }
76
77   typedef gint RType;
78   return RType();
79 }
80
81 static gint SpinButton_signal_input_notify_callback(GtkSpinButton* self, gdouble* p0, void* data)
82 {
83   using namespace Gtk;
84   typedef sigc::slot< void,double* > SlotType;
85
86   // Do not try to call a signal on a disassociated wrapper.
87   if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
88   {
89     #ifdef GLIBMM_EXCEPTIONS_ENABLED
90     try
91     {
92     #endif //GLIBMM_EXCEPTIONS_ENABLED
93       if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
94         (*static_cast<SlotType*>(slot))(p0
95 );
96     #ifdef GLIBMM_EXCEPTIONS_ENABLED
97     }
98     catch(...)
99     {
100       Glib::exception_handlers_invoke();
101     }
102     #endif //GLIBMM_EXCEPTIONS_ENABLED
103   }
104
105   typedef gint RType;
106   return RType();
107 }
108
109 static const Glib::SignalProxyInfo SpinButton_signal_input_info =
110 {
111   "input",
112   (GCallback) &SpinButton_signal_input_callback,
113   (GCallback) &SpinButton_signal_input_notify_callback
114 };
115
116
117 static gboolean SpinButton_signal_output_callback(GtkSpinButton* self, void* data)
118 {
119   using namespace Gtk;
120   typedef sigc::slot< bool > SlotType;
121
122   // Do not try to call a signal on a disassociated wrapper.
123   if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
124   {
125     #ifdef GLIBMM_EXCEPTIONS_ENABLED
126     try
127     {
128     #endif //GLIBMM_EXCEPTIONS_ENABLED
129       if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
130         return static_cast<int>((*static_cast<SlotType*>(slot))());
131     #ifdef GLIBMM_EXCEPTIONS_ENABLED
132     }
133     catch(...)
134     {
135       Glib::exception_handlers_invoke();
136     }
137     #endif //GLIBMM_EXCEPTIONS_ENABLED
138   }
139
140   typedef gboolean RType;
141   return RType();
142 }
143
144 static gboolean SpinButton_signal_output_notify_callback(GtkSpinButton* self,  void* data)
145 {
146   using namespace Gtk;
147   typedef sigc::slot< void > SlotType;
148
149   // Do not try to call a signal on a disassociated wrapper.
150   if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
151   {
152     #ifdef GLIBMM_EXCEPTIONS_ENABLED
153     try
154     {
155     #endif //GLIBMM_EXCEPTIONS_ENABLED
156       if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
157         (*static_cast<SlotType*>(slot))();
158     #ifdef GLIBMM_EXCEPTIONS_ENABLED
159     }
160     catch(...)
161     {
162       Glib::exception_handlers_invoke();
163     }
164     #endif //GLIBMM_EXCEPTIONS_ENABLED
165   }
166
167   typedef gboolean RType;
168   return RType();
169 }
170
171 static const Glib::SignalProxyInfo SpinButton_signal_output_info =
172 {
173   "output",
174   (GCallback) &SpinButton_signal_output_callback,
175   (GCallback) &SpinButton_signal_output_notify_callback
176 };
177
178
179 static void SpinButton_signal_wrapped_callback(GtkSpinButton* self, void* data)
180 {
181   using namespace Gtk;
182   typedef sigc::slot< bool > SlotType;
183
184   // Do not try to call a signal on a disassociated wrapper.
185   if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
186   {
187     #ifdef GLIBMM_EXCEPTIONS_ENABLED
188     try
189     {
190     #endif //GLIBMM_EXCEPTIONS_ENABLED
191       if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
192         (*static_cast<SlotType*>(slot))();
193     #ifdef GLIBMM_EXCEPTIONS_ENABLED
194     }
195     catch(...)
196     {
197       Glib::exception_handlers_invoke();
198     }
199     #endif //GLIBMM_EXCEPTIONS_ENABLED
200   }
201 }
202
203 static const Glib::SignalProxyInfo SpinButton_signal_wrapped_info =
204 {
205   "wrapped",
206   (GCallback) &SpinButton_signal_wrapped_callback,
207   (GCallback) &SpinButton_signal_wrapped_callback
208 };
209
210
211 static const Glib::SignalProxyInfo SpinButton_signal_value_changed_info =
212 {
213   "value_changed",
214   (GCallback) &Glib::SignalProxyNormal::slot0_void_callback,
215   (GCallback) &Glib::SignalProxyNormal::slot0_void_callback
216 };
217
218
219 } // anonymous namespace
220
221 // static
222 GType Glib::Value<Gtk::SpinButtonUpdatePolicy>::value_type()
223 {
224   return gtk_spin_button_update_policy_get_type();
225 }
226
227 // static
228 GType Glib::Value<Gtk::SpinType>::value_type()
229 {
230   return gtk_spin_type_get_type();
231 }
232
233
234 namespace Glib
235 {
236
237 Gtk::SpinButton* wrap(GtkSpinButton* object, bool take_copy)
238 {
239   return dynamic_cast<Gtk::SpinButton *> (Glib::wrap_auto ((GObject*)(object), take_copy));
240 }
241
242 } /* namespace Glib */
243
244 namespace Gtk
245 {
246
247
248 /* The *_Class implementation: */
249
250 const Glib::Class& SpinButton_Class::init()
251 {
252   if(!gtype_) // create the GType if necessary
253   {
254     // Glib::Class has to know the class init function to clone custom types.
255     class_init_func_ = &SpinButton_Class::class_init_function;
256
257     // This is actually just optimized away, apparently with no harm.
258     // Make sure that the parent type has been created.
259     //CppClassParent::CppObjectType::get_type();
260
261     // Create the wrapper type, with the same class/instance size as the base type.
262     register_derived_type(gtk_spin_button_get_type());
263
264     // Add derived versions of interfaces, if the C type implements any interfaces:
265   Editable::add_interface(get_type());
266   }
267
268   return *this;
269 }
270
271 void SpinButton_Class::class_init_function(void* g_class, void* class_data)
272 {
273   BaseClassType *const klass = static_cast<BaseClassType*>(g_class);
274   CppClassParent::class_init_function(klass, class_data);
275
276 #ifdef GLIBMM_VFUNCS_ENABLED
277 #endif //GLIBMM_VFUNCS_ENABLED
278
279 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
280   klass->input = &input_callback;
281   klass->output = &output_callback;
282   klass->value_changed = &value_changed_callback;
283 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
284 }
285
286 #ifdef GLIBMM_VFUNCS_ENABLED
287 #endif //GLIBMM_VFUNCS_ENABLED
288
289 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
290 gint SpinButton_Class::input_callback(GtkSpinButton* self, gdouble* p0)
291 {
292   Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
293       Glib::ObjectBase::_get_current_wrapper((GObject*)self));
294
295   // Non-gtkmmproc-generated custom classes implicitly call the default
296   // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
297   // generated classes can use this optimisation, which avoids the unnecessary
298   // parameter conversions if there is no possibility of the virtual function
299   // being overridden:
300   if(obj_base && obj_base->is_derived_())
301   {
302     CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
303     if(obj) // This can be NULL during destruction.
304     {
305       #ifdef GLIBMM_EXCEPTIONS_ENABLED
306       try // Trap C++ exceptions which would normally be lost because this is a C callback.
307       {
308       #endif //GLIBMM_EXCEPTIONS_ENABLED
309         // Call the virtual member method, which derived classes might override.
310         return obj->on_input(p0
311 );
312       #ifdef GLIBMM_EXCEPTIONS_ENABLED
313       }
314       catch(...)
315       {
316         Glib::exception_handlers_invoke();
317       }
318       #endif //GLIBMM_EXCEPTIONS_ENABLED
319     }
320   }
321   
322   BaseClassType *const base = static_cast<BaseClassType*>(
323         g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
324     );
325
326   // Call the original underlying C function:
327   if(base && base->input)
328     return (*base->input)(self, p0);
329
330   typedef gint RType;
331   return RType();
332 }
333 gboolean SpinButton_Class::output_callback(GtkSpinButton* self)
334 {
335   Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
336       Glib::ObjectBase::_get_current_wrapper((GObject*)self));
337
338   // Non-gtkmmproc-generated custom classes implicitly call the default
339   // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
340   // generated classes can use this optimisation, which avoids the unnecessary
341   // parameter conversions if there is no possibility of the virtual function
342   // being overridden:
343   if(obj_base && obj_base->is_derived_())
344   {
345     CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
346     if(obj) // This can be NULL during destruction.
347     {
348       #ifdef GLIBMM_EXCEPTIONS_ENABLED
349       try // Trap C++ exceptions which would normally be lost because this is a C callback.
350       {
351       #endif //GLIBMM_EXCEPTIONS_ENABLED
352         // Call the virtual member method, which derived classes might override.
353         return static_cast<int>(obj->on_output());
354       #ifdef GLIBMM_EXCEPTIONS_ENABLED
355       }
356       catch(...)
357       {
358         Glib::exception_handlers_invoke();
359       }
360       #endif //GLIBMM_EXCEPTIONS_ENABLED
361     }
362   }
363   
364   BaseClassType *const base = static_cast<BaseClassType*>(
365         g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
366     );
367
368   // Call the original underlying C function:
369   if(base && base->output)
370     return (*base->output)(self);
371
372   typedef gboolean RType;
373   return RType();
374 }
375 void SpinButton_Class::value_changed_callback(GtkSpinButton* self)
376 {
377   Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
378       Glib::ObjectBase::_get_current_wrapper((GObject*)self));
379
380   // Non-gtkmmproc-generated custom classes implicitly call the default
381   // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
382   // generated classes can use this optimisation, which avoids the unnecessary
383   // parameter conversions if there is no possibility of the virtual function
384   // being overridden:
385   if(obj_base && obj_base->is_derived_())
386   {
387     CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
388     if(obj) // This can be NULL during destruction.
389     {
390       #ifdef GLIBMM_EXCEPTIONS_ENABLED
391       try // Trap C++ exceptions which would normally be lost because this is a C callback.
392       {
393       #endif //GLIBMM_EXCEPTIONS_ENABLED
394         // Call the virtual member method, which derived classes might override.
395         obj->on_value_changed();
396         return;
397       #ifdef GLIBMM_EXCEPTIONS_ENABLED
398       }
399       catch(...)
400       {
401         Glib::exception_handlers_invoke();
402       }
403       #endif //GLIBMM_EXCEPTIONS_ENABLED
404     }
405   }
406   
407   BaseClassType *const base = static_cast<BaseClassType*>(
408         g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
409     );
410
411   // Call the original underlying C function:
412   if(base && base->value_changed)
413     (*base->value_changed)(self);
414 }
415 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
416
417
418 Glib::ObjectBase* SpinButton_Class::wrap_new(GObject* o)
419 {
420   return manage(new SpinButton((GtkSpinButton*)(o)));
421
422 }
423
424
425 /* The implementation: */
426
427 SpinButton::SpinButton(const Glib::ConstructParams& construct_params)
428 :
429   Gtk::Entry(construct_params)
430 {
431   }
432
433 SpinButton::SpinButton(GtkSpinButton* castitem)
434 :
435   Gtk::Entry((GtkEntry*)(castitem))
436 {
437   }
438
439 SpinButton::~SpinButton()
440 {
441   destroy_();
442 }
443
444 SpinButton::CppClassType SpinButton::spinbutton_class_; // initialize static member
445
446 GType SpinButton::get_type()
447 {
448   return spinbutton_class_.init().get_type();
449 }
450
451 GType SpinButton::get_base_type()
452 {
453   return gtk_spin_button_get_type();
454 }
455
456
457 SpinButton::SpinButton(Adjustment& adjustment, double climb_rate, guint digits)
458 :
459   // Mark this class as non-derived to allow C++ vfuncs to be skipped.
460   Glib::ObjectBase(0),
461   Gtk::Entry(Glib::ConstructParams(spinbutton_class_.init(), "adjustment", (adjustment).gobj(), "climb_rate", climb_rate, "digits", digits, static_cast<char*>(0)))
462 {
463   }
464
465 void SpinButton::configure(Adjustment& adjustment, double climb_rate, guint digits)
466 {
467 gtk_spin_button_configure(gobj(), (adjustment).gobj(), climb_rate, digits); 
468 }
469
470 void SpinButton::set_adjustment(Adjustment& adjustment)
471 {
472 gtk_spin_button_set_adjustment(gobj(), (adjustment).gobj()); 
473 }
474
475 Gtk::Adjustment* SpinButton::get_adjustment()
476 {
477   return Glib::wrap(gtk_spin_button_get_adjustment(gobj()));
478 }
479
480 const Gtk::Adjustment* SpinButton::get_adjustment() const
481 {
482   return const_cast<SpinButton*>(this)->get_adjustment();
483 }
484
485 void SpinButton::set_digits(guint digits)
486 {
487 gtk_spin_button_set_digits(gobj(), digits); 
488 }
489
490 guint SpinButton::get_digits() const
491 {
492   return gtk_spin_button_get_digits(const_cast<GtkSpinButton*>(gobj()));
493 }
494
495 void SpinButton::set_increments(double step, double page)
496 {
497 gtk_spin_button_set_increments(gobj(), step, page); 
498 }
499
500 void SpinButton::get_increments(double& step, double& page) const
501 {
502 gtk_spin_button_get_increments(const_cast<GtkSpinButton*>(gobj()), &(step), &(page)); 
503 }
504
505 void SpinButton::set_range(double min, double max)
506 {
507 gtk_spin_button_set_range(gobj(), min, max); 
508 }
509
510 void SpinButton::get_range(double& min, double& max) const
511 {
512 gtk_spin_button_get_range(const_cast<GtkSpinButton*>(gobj()), &(min), &(max)); 
513 }
514
515 double SpinButton::get_value() const
516 {
517   return gtk_spin_button_get_value(const_cast<GtkSpinButton*>(gobj()));
518 }
519
520 int SpinButton::get_value_as_int() const
521 {
522   return gtk_spin_button_get_value_as_int(const_cast<GtkSpinButton*>(gobj()));
523 }
524
525 void SpinButton::set_value(double value)
526 {
527 gtk_spin_button_set_value(gobj(), value); 
528 }
529
530 void SpinButton::set_update_policy(SpinButtonUpdatePolicy policy)
531 {
532 gtk_spin_button_set_update_policy(gobj(), ((GtkSpinButtonUpdatePolicy)(policy))); 
533 }
534
535 SpinButtonUpdatePolicy SpinButton::get_update_policy() const
536 {
537   return ((SpinButtonUpdatePolicy)(gtk_spin_button_get_update_policy(const_cast<GtkSpinButton*>(gobj()))));
538 }
539
540 void SpinButton::set_numeric(bool numeric)
541 {
542 gtk_spin_button_set_numeric(gobj(), static_cast<int>(numeric)); 
543 }
544
545 bool SpinButton::get_numeric() const
546 {
547   return gtk_spin_button_get_numeric(const_cast<GtkSpinButton*>(gobj()));
548 }
549
550 void SpinButton::spin(SpinType direction, double increment)
551 {
552 gtk_spin_button_spin(gobj(), ((GtkSpinType)(direction)), increment); 
553 }
554
555 void SpinButton::set_wrap(bool wrap)
556 {
557 gtk_spin_button_set_wrap(gobj(), static_cast<int>(wrap)); 
558 }
559
560 bool SpinButton::get_wrap() const
561 {
562   return gtk_spin_button_get_wrap(const_cast<GtkSpinButton*>(gobj()));
563 }
564
565 void SpinButton::set_snap_to_ticks(bool snap_to_ticks)
566 {
567 gtk_spin_button_set_snap_to_ticks(gobj(), static_cast<int>(snap_to_ticks)); 
568 }
569
570 bool SpinButton::get_snap_to_ticks() const
571 {
572   return gtk_spin_button_get_snap_to_ticks(const_cast<GtkSpinButton*>(gobj()));
573 }
574
575 void SpinButton::update()
576 {
577 gtk_spin_button_update(gobj()); 
578 }
579
580
581 Glib::SignalProxy1< int,double* > SpinButton::signal_input()
582 {
583   return Glib::SignalProxy1< int,double* >(this, &SpinButton_signal_input_info);
584 }
585
586
587 Glib::SignalProxy0< bool > SpinButton::signal_output()
588 {
589   return Glib::SignalProxy0< bool >(this, &SpinButton_signal_output_info);
590 }
591
592
593 Glib::SignalProxy0< bool > SpinButton::signal_wrapped()
594 {
595   return Glib::SignalProxy0< bool >(this, &SpinButton_signal_wrapped_info);
596 }
597
598
599 Glib::SignalProxy0< void > SpinButton::signal_value_changed()
600 {
601   return Glib::SignalProxy0< void >(this, &SpinButton_signal_value_changed_info);
602 }
603
604
605 #ifdef GLIBMM_PROPERTIES_ENABLED
606 Glib::PropertyProxy<Gtk::Adjustment*> SpinButton::property_adjustment() 
607 {
608   return Glib::PropertyProxy<Gtk::Adjustment*>(this, "adjustment");
609 }
610 #endif //GLIBMM_PROPERTIES_ENABLED
611
612 #ifdef GLIBMM_PROPERTIES_ENABLED
613 Glib::PropertyProxy_ReadOnly<Gtk::Adjustment*> SpinButton::property_adjustment() const
614 {
615   return Glib::PropertyProxy_ReadOnly<Gtk::Adjustment*>(this, "adjustment");
616 }
617 #endif //GLIBMM_PROPERTIES_ENABLED
618
619 #ifdef GLIBMM_PROPERTIES_ENABLED
620 Glib::PropertyProxy<double> SpinButton::property_climb_rate() 
621 {
622   return Glib::PropertyProxy<double>(this, "climb-rate");
623 }
624 #endif //GLIBMM_PROPERTIES_ENABLED
625
626 #ifdef GLIBMM_PROPERTIES_ENABLED
627 Glib::PropertyProxy_ReadOnly<double> SpinButton::property_climb_rate() const
628 {
629   return Glib::PropertyProxy_ReadOnly<double>(this, "climb-rate");
630 }
631 #endif //GLIBMM_PROPERTIES_ENABLED
632
633 #ifdef GLIBMM_PROPERTIES_ENABLED
634 Glib::PropertyProxy<guint> SpinButton::property_digits() 
635 {
636   return Glib::PropertyProxy<guint>(this, "digits");
637 }
638 #endif //GLIBMM_PROPERTIES_ENABLED
639
640 #ifdef GLIBMM_PROPERTIES_ENABLED
641 Glib::PropertyProxy_ReadOnly<guint> SpinButton::property_digits() const
642 {
643   return Glib::PropertyProxy_ReadOnly<guint>(this, "digits");
644 }
645 #endif //GLIBMM_PROPERTIES_ENABLED
646
647 #ifdef GLIBMM_PROPERTIES_ENABLED
648 Glib::PropertyProxy<bool> SpinButton::property_snap_to_ticks() 
649 {
650   return Glib::PropertyProxy<bool>(this, "snap-to-ticks");
651 }
652 #endif //GLIBMM_PROPERTIES_ENABLED
653
654 #ifdef GLIBMM_PROPERTIES_ENABLED
655 Glib::PropertyProxy_ReadOnly<bool> SpinButton::property_snap_to_ticks() const
656 {
657   return Glib::PropertyProxy_ReadOnly<bool>(this, "snap-to-ticks");
658 }
659 #endif //GLIBMM_PROPERTIES_ENABLED
660
661 #ifdef GLIBMM_PROPERTIES_ENABLED
662 Glib::PropertyProxy<bool> SpinButton::property_numeric() 
663 {
664   return Glib::PropertyProxy<bool>(this, "numeric");
665 }
666 #endif //GLIBMM_PROPERTIES_ENABLED
667
668 #ifdef GLIBMM_PROPERTIES_ENABLED
669 Glib::PropertyProxy_ReadOnly<bool> SpinButton::property_numeric() const
670 {
671   return Glib::PropertyProxy_ReadOnly<bool>(this, "numeric");
672 }
673 #endif //GLIBMM_PROPERTIES_ENABLED
674
675 #ifdef GLIBMM_PROPERTIES_ENABLED
676 Glib::PropertyProxy<bool> SpinButton::property_wrap() 
677 {
678   return Glib::PropertyProxy<bool>(this, "wrap");
679 }
680 #endif //GLIBMM_PROPERTIES_ENABLED
681
682 #ifdef GLIBMM_PROPERTIES_ENABLED
683 Glib::PropertyProxy_ReadOnly<bool> SpinButton::property_wrap() const
684 {
685   return Glib::PropertyProxy_ReadOnly<bool>(this, "wrap");
686 }
687 #endif //GLIBMM_PROPERTIES_ENABLED
688
689 #ifdef GLIBMM_PROPERTIES_ENABLED
690 Glib::PropertyProxy<SpinButtonUpdatePolicy> SpinButton::property_update_policy() 
691 {
692   return Glib::PropertyProxy<SpinButtonUpdatePolicy>(this, "update-policy");
693 }
694 #endif //GLIBMM_PROPERTIES_ENABLED
695
696 #ifdef GLIBMM_PROPERTIES_ENABLED
697 Glib::PropertyProxy_ReadOnly<SpinButtonUpdatePolicy> SpinButton::property_update_policy() const
698 {
699   return Glib::PropertyProxy_ReadOnly<SpinButtonUpdatePolicy>(this, "update-policy");
700 }
701 #endif //GLIBMM_PROPERTIES_ENABLED
702
703 #ifdef GLIBMM_PROPERTIES_ENABLED
704 Glib::PropertyProxy<double> SpinButton::property_value() 
705 {
706   return Glib::PropertyProxy<double>(this, "value");
707 }
708 #endif //GLIBMM_PROPERTIES_ENABLED
709
710 #ifdef GLIBMM_PROPERTIES_ENABLED
711 Glib::PropertyProxy_ReadOnly<double> SpinButton::property_value() const
712 {
713   return Glib::PropertyProxy_ReadOnly<double>(this, "value");
714 }
715 #endif //GLIBMM_PROPERTIES_ENABLED
716
717
718 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
719 int Gtk::SpinButton::on_input(double* new_value)
720 {
721   BaseClassType *const base = static_cast<BaseClassType*>(
722       g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
723   );
724
725   if(base && base->input)
726     return (*base->input)(gobj(),new_value);
727
728   typedef int RType;
729   return RType();
730 }
731 bool Gtk::SpinButton::on_output()
732 {
733   BaseClassType *const base = static_cast<BaseClassType*>(
734       g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
735   );
736
737   if(base && base->output)
738     return (*base->output)(gobj());
739
740   typedef bool RType;
741   return RType();
742 }
743 void Gtk::SpinButton::on_value_changed()
744 {
745   BaseClassType *const base = static_cast<BaseClassType*>(
746       g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
747   );
748
749   if(base && base->value_changed)
750     (*base->value_changed)(gobj());
751 }
752 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
753
754 #ifdef GLIBMM_VFUNCS_ENABLED
755 #endif //GLIBMM_VFUNCS_ENABLED
756
757
758 } // namespace Gtk
759
760