+void wxSpinCtrlGTKBase::DoSetRange(double minVal, double maxVal)
+{
+ wxCHECK_RET( (m_widget != NULL), wxT("invalid spin button") );
+
+ GtkDisableEvents();
+ gtk_spin_button_set_range( GTK_SPIN_BUTTON(m_widget), minVal, maxVal);
+ m_value = gtk_spin_button_get_value(GTK_SPIN_BUTTON(m_widget));
+ GtkEnableEvents();
+}
+
+void wxSpinCtrlGTKBase::DoSetIncrement(double inc)
+{
+ wxCHECK_RET( m_widget, "invalid spin button" );
+
+ GtkDisableEvents();
+ gtk_spin_button_set_increments( GTK_SPIN_BUTTON(m_widget), inc, 10*inc);
+ m_value = gtk_spin_button_get_value(GTK_SPIN_BUTTON(m_widget));
+ GtkEnableEvents();
+}
+
+void wxSpinCtrlGTKBase::GtkDisableEvents() const
+{
+ g_signal_handlers_block_by_func( m_widget,
+ (gpointer)gtk_value_changed, (void*) this);
+
+ g_signal_handlers_block_by_func(m_widget,
+ (gpointer)gtk_changed, (void*) this);
+}
+
+void wxSpinCtrlGTKBase::GtkEnableEvents() const
+{
+ g_signal_handlers_unblock_by_func(m_widget,
+ (gpointer)gtk_value_changed, (void*) this);