X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fwidgets%2Fmodest-combo-box.h;h=ee43edbcbfbede91682e9ae5c831428afee271f3;hp=3a6ab75f15558a71f04ec224b515418f27cdb1cb;hb=HEAD;hpb=9ad90e9053e1e0cc87885f714f513061ac734632 diff --git a/src/widgets/modest-combo-box.h b/src/widgets/modest-combo-box.h index 3a6ab75..ee43edb 100644 --- a/src/widgets/modest-combo-box.h +++ b/src/widgets/modest-combo-box.h @@ -47,12 +47,12 @@ typedef struct _ModestComboBox ModestComboBox; typedef struct _ModestComboBoxClass ModestComboBoxClass; struct _ModestComboBox { - GObject parent; + GtkComboBox parent; /* insert public members, if any */ }; struct _ModestComboBoxClass { - GObjectClass parent_class; + GtkComboBoxClass parent_class; /* insert signal callback declarations, eg. */ /* void (* my_event) (ModestComboBox* obj); */ }; @@ -63,25 +63,66 @@ 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 + * + * get the display name for the currently active lemma, or NULL if + * there's nothing chosen + * + * Returns: the display name or NULL if there's nothing chosen. + */ +const gchar* modest_combo_box_get_active_display_name (ModestComboBox *self); + G_END_DECLS #endif /* __MODEST_COMBO_BOX_H__ */