Fix modest_tny_msg_header_get_all_recipients_list (in case from is empty)
[modest] / src / hildon2 / modest-number-editor.h
1 /*
2  * Copyright (C) 2008 Nokia Corporation, all rights reserved.
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are
7  * met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  *   notice, this list of conditions and the following disclaimer.
11  * * Redistributions in binary form must reproduce the above copyright
12  *   notice, this list of conditions and the following disclaimer in the
13  *   documentation and/or other materials provided with the distribution.
14  * * Neither the name of the Nokia Corporation nor the names of its
15  *   contributors may be used to endorse or promote products derived from
16  *   this software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
19  * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
21  * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
22  * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
25  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
26  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29  */
30
31 #ifndef                                         __MODEST_NUMBER_EDITOR_H__
32 #define                                         __MODEST_NUMBER_EDITOR_H__
33
34 #include                                        <gtk/gtk.h>
35 #include                                        <hildon/hildon-entry.h>
36
37 G_BEGIN_DECLS
38
39 #define                                         MODEST_TYPE_NUMBER_EDITOR \
40                                                 (modest_number_editor_get_type())
41
42 #define                                         MODEST_NUMBER_EDITOR(obj) \
43                                                 (GTK_CHECK_CAST (obj, MODEST_TYPE_NUMBER_EDITOR, ModestNumberEditor))
44
45 #define                                         MODEST_NUMBER_EDITOR_CLASS(klass) \
46                                                 (GTK_CHECK_CLASS_CAST ((klass), MODEST_TYPE_NUMBER_EDITOR, \
47                                                 ModestNumberEditorClass))
48
49 #define                                         MODEST_IS_NUMBER_EDITOR(obj) \
50                                                 (GTK_CHECK_TYPE (obj, MODEST_TYPE_NUMBER_EDITOR))
51
52 #define                                         MODEST_IS_NUMBER_EDITOR_CLASS(klass) \
53                                                 (GTK_CHECK_CLASS_TYPE ((klass), MODEST_TYPE_NUMBER_EDITOR))
54
55 #define                                         MODEST_NUMBER_EDITOR_GET_CLASS(obj) \
56                                                 ((ModestNumberEditorClass *) G_OBJECT_GET_CLASS(obj))
57
58 typedef struct                                  _ModestNumberEditor ModestNumberEditor;
59
60 typedef struct                                  _ModestNumberEditorClass ModestNumberEditorClass;
61
62 struct                                          _ModestNumberEditor 
63 {
64     HildonEntry parent;
65 };
66
67 typedef enum
68 {
69     MODEST_NUMBER_EDITOR_ERROR_MAXIMUM_VALUE_EXCEED,
70     MODEST_NUMBER_EDITOR_ERROR_MINIMUM_VALUE_EXCEED,
71     MODEST_NUMBER_EDITOR_ERROR_ERRONEOUS_VALUE
72 }                                               ModestNumberEditorErrorType;
73
74 struct                                          _ModestNumberEditorClass 
75 {
76         HildonEntryClass parent_class;
77         
78         gboolean  (*range_error)  (ModestNumberEditor *editor, ModestNumberEditorErrorType type); 
79         void      (*valid_changed) (ModestNumberEditor *editor, gboolean valid);
80 };
81
82 GType G_GNUC_CONST
83 modest_number_editor_get_type                   (void);
84
85 GtkWidget*  
86 modest_number_editor_new                        (gint min, gint max);
87
88 void
89 modest_number_editor_set_range                  (ModestNumberEditor *editor, 
90                                                  gint min,
91                                                  gint max);
92
93 gint
94 modest_number_editor_get_value                  (ModestNumberEditor *editor);
95
96 void
97 modest_number_editor_set_value                  (ModestNumberEditor *editor, 
98                                                  gint value);
99
100 gboolean
101 modest_number_editor_is_valid                   (ModestNumberEditor *editor);
102
103
104 GType modest_number_editor_error_type_get_type (void);
105 #define MODEST_TYPE_NUMBER_EDITOR_ERROR_TYPE (modest_number_editor_error_type_get_type())
106
107 G_END_DECLS
108
109 #endif                                          /* __MODEST_NUMBER_EDITOR_H__ */