X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fwidgets%2Fmodest-combo-box.h;h=ee43edbcbfbede91682e9ae5c831428afee271f3;hp=9ce1349fc01f8d0a85c4e8f0663577ed5fa72d7a;hb=HEAD;hpb=bc7bfc2a42a7fb701a57365c8dfc4b6faa9a03a1;ds=sidebyside diff --git a/src/widgets/modest-combo-box.h b/src/widgets/modest-combo-box.h index 9ce1349..ee43edb 100644 --- a/src/widgets/modest-combo-box.h +++ b/src/widgets/modest-combo-box.h @@ -30,7 +30,7 @@ #ifndef __MODEST_COMBO_BOX_H__ #define __MODEST_COMBO_BOX_H__ -#include +#include #include G_BEGIN_DECLS @@ -63,26 +63,56 @@ GType modest_combo_box_get_type (void) G_GNUC_CONST; /** * modest_combo_box_new - * @hash: a ptr to a GSList; each element should be a ptr to - * a ModestPair + * @pairs: a #ModestPairList; each element should be a ptr to a #ModestPair, + * with the first item in the pair being an opaque ID, and the second item being + * a gchar* string for display. + * If the ID is a string or other non fundamental type, you must make sure that + * the instance remains allocated for the lifetime of this combo box. + * The simplest way to achieve this is to ensure that the ModestPairList exists + * for as long as the combo box. + * @cmp_id_func: a GEqualFunc to compare the ids (= the first elements of the pairs) + * For example, if the ids are strings, you can use g_str_equal. * + * (If you provide NULL for this parameter, the id ptr address will be compared) + * * create a new modest combo box * * Returns: a new GtkComboBox instance, or NULL in case of failure */ -GtkWidget* modest_combo_box_new (const GSList *hash); +GtkWidget* modest_combo_box_new (ModestPairList* pairs, + GEqualFunc id_equal_func); /** + * modest_combo_box_set_pair_list: + * @combo: a #ModestComboBox + * @pairs: a #ModestPairList + * + * sets the model of the combobox with a new pair list. + */ +void modest_combo_box_set_pair_list (ModestComboBox *combo, + ModestPairList *pairs); +/** * modest_combo_box_get_active_id * @self: a valid ModestComboBox instance * - * get the id for the currently active lemma, or NULL if there's nothing chosen + * get the id for the currently active item, or NULL if there's nothing chosen + * (ie., the id is the first element of the pair) * * Returns: the id or NULL if there's nothing chosen. */ gpointer modest_combo_box_get_active_id (ModestComboBox *self); /** + * modest_combo_box_set_active_id + * @self: a valid ModestComboBox instance + * @id: the id to make active + * + * set the active item + * + */ +void modest_combo_box_set_active_id (ModestComboBox *self, gpointer id); + +/** * modest_combo_box_get_active_display_name * @self: a valid ModestComboBox instance * @@ -91,7 +121,7 @@ gpointer modest_combo_box_get_active_id (ModestComboBox *self); * * Returns: the display name or NULL if there's nothing chosen. */ -gpointer modest_combo_box_get_active_display_name (ModestComboBox *self); +const gchar* modest_combo_box_get_active_display_name (ModestComboBox *self); G_END_DECLS