+GtkWidget *
+modest_toolkit_factory_create_number_entry (ModestToolkitFactory *self, gint min, gint max)
+{
+ return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_number_entry (self, min, max);
+}
+
+static GtkWidget *
+modest_toolkit_factory_create_number_entry_default (ModestToolkitFactory *self, gint min, gint max)
+{
+ GtkWidget *result;
+#ifdef USE_GTK_SPIN_BUTTON
+ result = gtk_spin_button_new_with_range (min, max, 1.0);
+ gtk_spin_button_set_digits (GTK_SPIN_BUTTON (result), 0);
+#else
+ result = modest_number_editor_new (min, max);
+#endif
+ return result;
+}
+
+void
+modest_number_entry_set_value (GtkWidget *widget, gint value)
+{
+#ifdef USE_GTK_SPIN_BUTTON
+ gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), value);
+#else
+ modest_number_editor_set_value (MODEST_NUMBER_EDITOR (widget), value);
+#endif
+}
+
+gint
+modest_number_entry_get_value (GtkWidget *widget)
+{
+#ifdef USE_GTK_SPIN_BUTTON
+ return gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (widget));
+#else
+ return modest_number_editor_get_value (MODEST_NUMBER_EDITOR (widget));
+#endif
+}
+
+gboolean
+modest_number_entry_is_valid (GtkWidget *widget)
+{
+#ifdef USE_GTK_SPIN_BUTTON
+ return TRUE;
+#else
+ return modest_number_editor_is_valid (MODEST_NUMBER_EDITOR (widget));
+#endif
+}
+
+gboolean
+modest_is_number_entry (GtkWidget *widget)
+{
+#ifdef USE_GTK_SPIN_BUTTON
+ return GTK_IS_SPIN_BUTTON (widget);
+#else
+ return MODEST_IS_NUMBER_EDITOR (widget);
+#endif
+}
+