Text view access through factory
[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 #include <widgets/modest-security-options-view.h>
8
9 G_BEGIN_DECLS
10
11 #define                                         MODEST_TYPE_TOOLKIT_FACTORY \
12                                                 (modest_toolkit_factory_get_type())
13
14 #define                                         MODEST_TOOLKIT_FACTORY(obj) \
15                                                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
16                                                 MODEST_TYPE_TOOLKIT_FACTORY, ModestToolkitFactory))
17
18 #define                                         MODEST_TOOLKIT_FACTORY_CLASS(klass) \
19                                                 (G_TYPE_CHECK_CLASS_CAST ((klass), \
20                                                 MODEST_TYPE_TOOLKIT_FACTORY, ModestToolkitFactory))
21
22 #define                                         MODEST_IS_TOOLKIT_FACTORY(obj) \
23                                                 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEST_TYPE_TOOLKIT_FACTORY))
24
25 #define                                         MODEST_IS_TOOLKIT_FACTORY_CLASS(klass) \
26                                                 (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEST_TYPE_TOOLKIT_FACTORY))
27
28 #define                                         MODEST_TOOLKIT_FACTORY_GET_CLASS(obj) \
29                                                 (G_TYPE_INSTANCE_GET_CLASS ((obj), \
30                                                 MODEST_TYPE_TOOLKIT_FACTORY, ModestToolkitFactoryClass))
31
32 typedef struct                                  _ModestToolkitFactory ModestToolkitFactory;
33
34 typedef struct                                  _ModestToolkitFactoryClass ModestToolkitFactoryClass;
35
36 struct                                          _ModestToolkitFactoryClass
37 {
38         GObjectClass parent_class;
39
40         GtkWidget * (*create_scrollable) (ModestToolkitFactory *self);
41         GtkWidget * (*create_check_button) (ModestToolkitFactory *self, const gchar *label);
42         GtkWidget * (*create_check_menu) (ModestToolkitFactory *self, const gchar *label);
43         GtkWidget * (*create_isearch_toolbar) (ModestToolkitFactory *self, const gchar *label);
44         GtkWidget * (*create_entry) (ModestToolkitFactory *self);
45         GtkWidget * (*create_number_entry) (ModestToolkitFactory *self, gint min, gint max);
46         GtkWidget * (*create_file_chooser_dialog) (ModestToolkitFactory *self, const gchar *title,
47                                                    GtkWindow *parent, GtkFileChooserAction action);
48         GtkWidget * (*create_country_selector) (ModestToolkitFactory *self);
49         GtkWidget * (*create_provider_selector) (ModestToolkitFactory *self);
50         GtkWidget * (*create_servertype_selector) (ModestToolkitFactory *self, gboolean filter_providers);
51         GtkWidget * (*create_serversecurity_selector) (ModestToolkitFactory *self);
52         GtkWidget * (*create_secureauth_selector) (ModestToolkitFactory *self);
53         GtkWidget * (*create_security_options_view) (ModestToolkitFactory *self, ModestSecurityOptionsType type,
54                                                      gboolean full, GtkSizeGroup *title_size_group, GtkSizeGroup *value_size_group);
55         GtkWidget * (*create_text_view) (ModestToolkitFactory *self);
56 };
57
58 struct                                          _ModestToolkitFactory
59 {
60     GObject parent;
61 };
62
63
64 GType
65 modest_toolkit_factory_get_type                       (void) G_GNUC_CONST;
66
67 ModestToolkitFactory *
68 modest_toolkit_factory_get_instance                            (void);
69
70 GtkWidget *
71 modest_toolkit_factory_create_scrollable              (ModestToolkitFactory *self);
72
73 GtkWidget *
74 modest_toolkit_factory_create_check_button (ModestToolkitFactory *self, const gchar *label);
75
76 GtkWidget *
77 modest_toolkit_factory_create_check_menu (ModestToolkitFactory *self, const gchar *label);
78
79 GtkWidget *
80 modest_toolkit_factory_create_isearch_toolbar (ModestToolkitFactory *self, const gchar *label);
81
82 GtkWidget *
83 modest_toolkit_factory_create_entry (ModestToolkitFactory *self);
84
85 GtkWidget *
86 modest_toolkit_factory_create_number_entry (ModestToolkitFactory *self, gint min, gint max);
87
88 GtkWidget *
89 modest_toolkit_factory_create_file_chooser_dialog (ModestToolkitFactory *self, const gchar *title,
90                                                    GtkWindow *parent, GtkFileChooserAction action);
91
92 GtkWidget *
93 modest_toolkit_factory_create_country_selector (ModestToolkitFactory *self);
94
95 GtkWidget *
96 modest_toolkit_factory_create_provider_selector (ModestToolkitFactory *self);
97
98 GtkWidget *
99 modest_toolkit_factory_create_servertype_selector (ModestToolkitFactory *self, gboolean filter_providers);
100
101 GtkWidget *
102 modest_toolkit_factory_create_serversecurity_selector (ModestToolkitFactory *self);
103
104 GtkWidget *
105 modest_toolkit_factory_create_secureauth_selector (ModestToolkitFactory *self);
106
107 GtkWidget *
108 modest_toolkit_factory_create_security_options_view (ModestToolkitFactory *self, ModestSecurityOptionsType type,
109                                                      gboolean full, GtkSizeGroup *title_size_group, GtkSizeGroup *value_size_group);
110
111 GtkWidget *
112 modest_toolkit_factory_create_text_view (ModestToolkitFactory *self);
113
114 gboolean
115 modest_togglable_get_active (GtkWidget *widget);
116
117 void
118 modest_togglable_set_active (GtkWidget *widget, gboolean active);
119
120 gboolean
121 modest_is_togglable (GtkWidget *widget);
122
123 void
124 modest_entry_set_text (GtkWidget *widget, const gchar *text);
125
126 const gchar *
127 modest_entry_get_text (GtkWidget *widget);
128
129 void
130 modest_entry_set_hint (GtkWidget *widget, const gchar *hint);
131
132 gboolean 
133 modest_is_entry (GtkWidget *widget);
134
135 gint
136 modest_number_entry_get_value (GtkWidget *widget);
137
138 void
139 modest_number_entry_set_value (GtkWidget *widget, gint value);
140
141 gboolean
142 modest_number_entry_is_valid (GtkWidget *widget);
143
144 gboolean
145 modest_is_number_entry (GtkWidget *widget);
146
147 gint
148 modest_country_selector_get_active_country_mcc (GtkWidget *widget);
149
150 void
151 modest_country_selector_load_data (GtkWidget *widget);
152
153 gboolean
154 modest_country_selector_set_active_country_locale (GtkWidget *widget);
155
156 typedef enum {
157         MODEST_PROVIDER_SELECTOR_ID_PROVIDER,
158         MODEST_PROVIDER_SELECTOR_ID_OTHER,
159         MODEST_PROVIDER_SELECTOR_ID_PLUGIN_PROTOCOL
160 } ModestProviderSelectorIdType;
161
162
163 void
164 modest_provider_selector_fill (GtkWidget *widget, ModestPresets *presets, gint mcc);
165
166 gchar *
167 modest_provider_selector_get_active_provider_id (GtkWidget *widget);
168
169 gchar *
170 modest_provider_selector_get_active_provider_label (GtkWidget *widget);
171
172 ModestProviderSelectorIdType
173 modest_provider_selector_get_active_id_type (GtkWidget *widget);
174
175 void
176 modest_provider_selector_set_others_provider (GtkWidget *self);
177
178 ModestProtocolType
179 modest_servertype_selector_get_active_servertype (GtkWidget *self);
180
181 void
182 modest_servertype_selector_set_active_servertype (GtkWidget *self, ModestProtocolType protocol_type_id);
183
184 void modest_serversecurity_selector_fill (GtkWidget *combobox, ModestProtocolType protocol);
185
186 ModestProtocolType modest_serversecurity_selector_get_active_serversecurity (GtkWidget *combobox);
187
188 gboolean modest_serversecurity_selector_set_active_serversecurity (GtkWidget *combobox,
189                                                                    ModestProtocolType serversecurity);
190
191 gint modest_serversecurity_selector_get_active_serversecurity_port (GtkWidget *combobox);
192
193 ModestProtocolType
194 modest_secureauth_selector_get_active_secureauth (GtkWidget *widget);
195
196 gboolean
197 modest_secureauth_selector_set_active_secureauth (GtkWidget *widget,
198                                                   ModestProtocolType secureauth);
199
200 gboolean
201 modest_is_secureauth_selector (GtkWidget *widget);
202
203 GtkTextBuffer *
204 modest_text_view_get_buffer (GtkWidget *widget);
205
206 gboolean 
207 modest_is_text_view (GtkWidget *widget);
208
209
210
211 #ifndef MODEST_TOOLKIT_HILDON2
212 #define USE_PROVIDER_COMBOBOX
213 #define USE_SERVERTYPE_COMBOBOX
214 #endif
215
216 #ifndef USE_GTK_SPIN_BUTTON
217 #define MODEST_NUMBER_ENTRY_SUPPORT_VALID_CHANGED
218 #endif
219
220 #ifndef USE_PROVIDER_COMBOBOX
221 #include <hildon/hildon.h>
222 #endif
223 #ifndef USE_SERVERTYPE_COMBOBOX
224 #include <hildon/hildon.h>
225 #endif
226
227 G_END_DECLS
228
229 #endif /* __MODEST_WP_TEXT_VIEW_H__ */