Added valid-changed signal to number editor
[modest] / src / hildon2 / modest-number-editor.h
1 /*
2  * This file is a part of modest
3  *
4  * Copyright (C) 2005, 2006, 2008 Nokia Corporation, all rights reserved.
5  *
6  */
7
8 #ifndef                                         __MODEST_NUMBER_EDITOR_H__
9 #define                                         __MODEST_NUMBER_EDITOR_H__
10
11 #include                                        <gtk/gtk.h>
12 #include                                        <hildon/hildon-entry.h>
13
14 G_BEGIN_DECLS
15
16 #define                                         MODEST_TYPE_NUMBER_EDITOR \
17                                                 (modest_number_editor_get_type())
18
19 #define                                         MODEST_NUMBER_EDITOR(obj) \
20                                                 (GTK_CHECK_CAST (obj, MODEST_TYPE_NUMBER_EDITOR, ModestNumberEditor))
21
22 #define                                         MODEST_NUMBER_EDITOR_CLASS(klass) \
23                                                 (GTK_CHECK_CLASS_CAST ((klass), MODEST_TYPE_NUMBER_EDITOR, \
24                                                 ModestNumberEditorClass))
25
26 #define                                         MODEST_IS_NUMBER_EDITOR(obj) \
27                                                 (GTK_CHECK_TYPE (obj, MODEST_TYPE_NUMBER_EDITOR))
28
29 #define                                         MODEST_IS_NUMBER_EDITOR_CLASS(klass) \
30                                                 (GTK_CHECK_CLASS_TYPE ((klass), MODEST_TYPE_NUMBER_EDITOR))
31
32 #define                                         MODEST_NUMBER_EDITOR_GET_CLASS(obj) \
33                                                 ((ModestNumberEditorClass *) G_OBJECT_GET_CLASS(obj))
34
35 typedef struct                                  _ModestNumberEditor ModestNumberEditor;
36
37 typedef struct                                  _ModestNumberEditorClass ModestNumberEditorClass;
38
39 struct                                          _ModestNumberEditor 
40 {
41     HildonEntry parent;
42 };
43
44 typedef enum
45 {
46     MODEST_NUMBER_EDITOR_ERROR_MAXIMUM_VALUE_EXCEED,
47     MODEST_NUMBER_EDITOR_ERROR_MINIMUM_VALUE_EXCEED,
48     MODEST_NUMBER_EDITOR_ERROR_ERRONEOUS_VALUE
49 }                                               ModestNumberEditorErrorType;
50
51 struct                                          _ModestNumberEditorClass 
52 {
53         GtkEntryClass parent_class;
54         
55         gboolean  (*range_error)  (ModestNumberEditor *editor, ModestNumberEditorErrorType type); 
56         void      (*valid_changed) (ModestNumberEditor *editor, gboolean valid);
57 };
58
59 GType G_GNUC_CONST
60 modest_number_editor_get_type                   (void);
61
62 GtkWidget*  
63 modest_number_editor_new                        (gint min, gint max);
64
65 void
66 modest_number_editor_set_range                  (ModestNumberEditor *editor, 
67                                                  gint min,
68                                                  gint max);
69
70 gint
71 modest_number_editor_get_value                  (ModestNumberEditor *editor);
72
73 void
74 modest_number_editor_set_value                  (ModestNumberEditor *editor, 
75                                                  gint value);
76
77
78 GType modest_number_editor_error_type_get_type (void);
79 #define MODEST_TYPE_NUMBER_EDITOR_ERROR_TYPE (modest_number_editor_error_type_get_type())
80
81 G_END_DECLS
82
83 #endif                                          /* __MODEST_NUMBER_EDITOR_H__ */