*
*/
-/*
- * @file hildon-number-editor.c
- *
- * This file contains the implementation of Hildon Number Editor
+/**
+ * SECTION:hildon-number-editor
+ * @short_description: A widget used to enter a number within a pre-defined range
*
+ * HildonNumberEditor is used to enter a number from a specific range.
+ * There are two buttons to scroll the value in number field.
+ * Manual input is also possible.
*/
#include <gdk/gdkkeysyms.h>
#include "hildon-composite-widget.h"
#include <hildon-widgets/hildon-input-mode-hint.h>
#include <hildon-widgets/hildon-defines.h>
+#include "hildon-libs-enum-types.h"
#ifdef HAVE_CONFIG_H
#include <config.h>
hildon_number_editor_finalize (GObject *self);
static gboolean
-hildon_number_editor_error_handler(HildonNumberEditor *editor,
+hildon_number_editor_range_error(HildonNumberEditor *editor,
HildonNumberEditorErrorType type);
static gboolean
widget_class->size_allocate = hildon_number_editor_size_allocate;
widget_class->focus = hildon_composite_widget_focus;
- editor_class->error_handler = hildon_number_editor_error_handler;
+ editor_class->range_error = hildon_number_editor_range_error;
/* Because we derived our widget from GtkContainer, we should override
forall method */
HildonNumberEditor_signal[RANGE_ERROR] =
g_signal_new("range_error", HILDON_TYPE_NUMBER_EDITOR,
G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET
- (HildonNumberEditorClass, error_handler),
+ (HildonNumberEditorClass, range_error),
g_signal_accumulator_true_handled, NULL,
- _hildon_marshal_BOOLEAN__INT,
- G_TYPE_BOOLEAN, 1, G_TYPE_INT);
+ _hildon_marshal_BOOLEAN__ENUM,
+ G_TYPE_BOOLEAN, 1, HILDON_TYPE_NUMBER_EDITOR_ERROR_TYPE);
}
static void
{
HildonNumberEditorPrivate *priv;
+ GDK_THREADS_ENTER ();
+
g_assert(HILDON_IS_NUMBER_EDITOR(editor));
/* Update value based on button held */
priv = HILDON_NUMBER_EDITOR_GET_PRIVATE(editor);
change_numbers(editor, priv->button_type);
+ GDK_THREADS_LEAVE ();
+
return TRUE;
}
}
static gboolean
-hildon_number_editor_error_handler(HildonNumberEditor *editor,
+hildon_number_editor_range_error(HildonNumberEditor *editor,
HildonNumberEditorErrorType type)
{
switch (type)
{
case MAXIMUM_VALUE_EXCEED:
- err_msg = g_strdup_printf(_("Ckct_ib_maximum_value"), max, max);
+ err_msg = g_strdup_printf(_("ckct_ib_maximum_value"), max, max);
break;
case MINIMUM_VALUE_EXCEED:
- err_msg = g_strdup_printf(_("Ckct_ib_minimum_value"), min, min);
+ err_msg = g_strdup_printf(_("ckct_ib_minimum_value"), min, min);
break;
case ERRONEOUS_VALUE:
err_msg =
- g_strdup_printf(_("Ckct_ib_set_a_value_within_range"), min, max);
+ g_strdup_printf(_("ckct_ib_set_a_value_within_range"), min, max);
break;
}
/**
* hildon_number_editor_new:
- * @min: Minimum accepted value
- * @max: Maximum accepted value
+ * @min: minimum accepted value
+ * @max: maximum accepted value
*
* Creates new number editor
*
- * Return value: a new #HildonNumberEditor widget.
+ * Returns: a new #HildonNumberEditor widget
*/
GtkWidget *
hildon_number_editor_new (gint min, gint max)
/**
* hildon_number_editor_set_range:
* @editor: a #HildonNumberEditor widget
- * @min: Minimum accepted value
- * @max: Maximum accepted value
+ * @min: minimum accepted value
+ * @max: maximum accepted value
*
* Sets accepted number range for editor
*/
* hildon_number_editor_get_value:
* @editor: pointer to #HildonNumberEditor
*
- * Return value: Current NumberEditor value
+ * Returns: current NumberEditor value
*/
gint
hildon_number_editor_get_value (HildonNumberEditor *editor)
static gboolean
hildon_number_editor_select_all (HildonNumberEditorPrivate *priv)
{
+ GDK_THREADS_ENTER ();
gtk_editable_select_region(GTK_EDITABLE(priv->num_entry), 0, -1);
priv->select_all_idle_id = 0;
+ GDK_THREADS_LEAVE ();
return FALSE;
}