New ModestProviderCombobox for running modest in gtk
[modest] / src / widgets / modest-toolkit-factory.h
1 #ifndef                                         __MODEST_TOOLKIT_FACTORY_H__
2 #define                                         __MODEST_TOOLKIT_FACTORY_H__
3
4 #include <glib-object.h>
5 #include <gtk/gtk.h>
6 #include <modest-presets.h>
7
8 G_BEGIN_DECLS
9
10 #define                                         MODEST_TYPE_TOOLKIT_FACTORY \
11                                                 (modest_toolkit_factory_get_type())
12
13 #define                                         MODEST_TOOLKIT_FACTORY(obj) \
14                                                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
15                                                 MODEST_TYPE_TOOLKIT_FACTORY, ModestToolkitFactory))
16
17 #define                                         MODEST_TOOLKIT_FACTORY_CLASS(klass) \
18                                                 (G_TYPE_CHECK_CLASS_CAST ((klass), \
19                                                 MODEST_TYPE_TOOLKIT_FACTORY, ModestToolkitFactory))
20
21 #define                                         MODEST_IS_TOOLKIT_FACTORY(obj) \
22                                                 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEST_TYPE_TOOLKIT_FACTORY))
23
24 #define                                         MODEST_IS_TOOLKIT_FACTORY_CLASS(klass) \
25                                                 (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEST_TYPE_TOOLKIT_FACTORY))
26
27 #define                                         MODEST_TOOLKIT_FACTORY_GET_CLASS(obj) \
28                                                 (G_TYPE_INSTANCE_GET_CLASS ((obj), \
29                                                 MODEST_TYPE_TOOLKIT_FACTORY, ModestToolkitFactoryClass))
30
31 typedef struct                                  _ModestToolkitFactory ModestToolkitFactory;
32
33 typedef struct                                  _ModestToolkitFactoryClass ModestToolkitFactoryClass;
34
35 struct                                          _ModestToolkitFactoryClass
36 {
37         GObjectClass parent_class;
38
39         GtkWidget * (*create_scrollable) (ModestToolkitFactory *self);
40         GtkWidget * (*create_check_button) (ModestToolkitFactory *self, const gchar *label);
41         GtkWidget * (*create_check_menu) (ModestToolkitFactory *self, const gchar *label);
42         GtkWidget * (*create_isearch_toolbar) (ModestToolkitFactory *self, const gchar *label);
43         GtkWidget * (*create_entry) (ModestToolkitFactory *self);
44         GtkWidget * (*create_number_entry) (ModestToolkitFactory *self, gint min, gint max);
45         GtkWidget * (*create_file_chooser_dialog) (ModestToolkitFactory *self, const gchar *title,
46                                                    GtkWindow *parent, GtkFileChooserAction action);
47         GtkWidget * (*create_country_selector) (ModestToolkitFactory *self);
48         GtkWidget * (*create_provider_selector) (ModestToolkitFactory *self);
49 };
50
51 struct                                          _ModestToolkitFactory
52 {
53     GObject parent;
54 };
55
56
57 GType
58 modest_toolkit_factory_get_type                       (void) G_GNUC_CONST;
59
60 ModestToolkitFactory *
61 modest_toolkit_factory_get_instance                            (void);
62
63 GtkWidget *
64 modest_toolkit_factory_create_scrollable              (ModestToolkitFactory *self);
65
66 GtkWidget *
67 modest_toolkit_factory_create_check_button (ModestToolkitFactory *self, const gchar *label);
68
69 GtkWidget *
70 modest_toolkit_factory_create_check_menu (ModestToolkitFactory *self, const gchar *label);
71
72 GtkWidget *
73 modest_toolkit_factory_create_isearch_toolbar (ModestToolkitFactory *self, const gchar *label);
74
75 GtkWidget *
76 modest_toolkit_factory_create_entry (ModestToolkitFactory *self);
77
78 GtkWidget *
79 modest_toolkit_factory_create_number_entry (ModestToolkitFactory *self, gint min, gint max);
80
81 GtkWidget *
82 modest_toolkit_factory_create_file_chooser_dialog (ModestToolkitFactory *self, const gchar *title,
83                                                    GtkWindow *parent, GtkFileChooserAction action);
84
85 GtkWidget *
86 modest_toolkit_factory_create_country_selector (ModestToolkitFactory *self);
87
88 GtkWidget *
89 modest_toolkit_factory_create_provider_selector (ModestToolkitFactory *self);
90
91 gboolean
92 modest_togglable_get_active (GtkWidget *widget);
93
94 void
95 modest_togglable_set_active (GtkWidget *widget, gboolean active);
96
97 gboolean
98 modest_is_togglable (GtkWidget *widget);
99
100 void
101 modest_entry_set_text (GtkWidget *widget, const gchar *text);
102
103 const gchar *
104 modest_entry_get_text (GtkWidget *widget);
105
106 void
107 modest_entry_set_hint (GtkWidget *widget, const gchar *hint);
108
109 gboolean 
110 modest_is_entry (GtkWidget *widget);
111
112 gint
113 modest_number_entry_get_value (GtkWidget *widget);
114
115 void
116 modest_number_entry_set_value (GtkWidget *widget, gint value);
117
118 gboolean
119 modest_number_entry_is_valid (GtkWidget *widget);
120
121 gboolean
122 modest_is_number_entry (GtkWidget *widget);
123
124 gint
125 modest_country_selector_get_active_country_mcc (GtkWidget *widget);
126
127 void
128 modest_country_selector_load_data (GtkWidget *widget);
129
130 gboolean
131 modest_country_selector_set_active_country_locale (GtkWidget *widget);
132
133 typedef enum {
134         MODEST_PROVIDER_SELECTOR_ID_PROVIDER,
135         MODEST_PROVIDER_SELECTOR_ID_OTHER,
136         MODEST_PROVIDER_SELECTOR_ID_PLUGIN_PROTOCOL
137 } ModestProviderSelectorIdType;
138
139
140 void
141 modest_provider_selector_fill (GtkWidget *widget, ModestPresets *presets, gint mcc);
142
143 gchar *
144 modest_provider_selector_get_active_provider_id (GtkWidget *widget);
145
146 gchar *
147 modest_provider_selector_get_active_provider_label (GtkWidget *widget);
148
149 ModestProviderSelectorIdType
150 modest_provider_selector_get_active_id_type (GtkWidget *widget);
151
152 void
153 modest_provider_selector_set_others_provider (GtkWidget *self);
154
155
156 #ifndef MODEST_TOOLKIT_HILDON2
157 #define USE_GTK_SPIN_BUTTON
158 #endif
159
160 #ifndef USE_GTK_SPIN_BUTTON
161 #define MODEST_NUMBER_ENTRY_SUPPORT_VALID_CHANGED
162 #endif
163
164 G_END_DECLS
165
166 #endif /* __MODEST_WP_TEXT_VIEW_H__ */