/* * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client * Copyright (C) 1999-2012 Andrej Kacian and the Claws Mail team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __COMBOBOX_H__ #define __COMBOBOX_H__ #include #include enum { COMBOBOX_TEXT, COMBOBOX_DATA, COMBOBOX_SENS }; #define COMBOBOX_ADD(menu, label, data) \ { \ gtk_list_store_append(menu, &iter); \ gtk_list_store_set(menu, &iter, \ COMBOBOX_TEXT, label, \ COMBOBOX_DATA, data, \ COMBOBOX_SENS, TRUE, \ -1); \ } #define COMBOBOX_ADD_ESCAPED(menu, label, data) \ { \ gchar *tmp_esc = g_markup_printf_escaped("%s", label); \ gtk_list_store_append(menu, &iter); \ gtk_list_store_set(menu, &iter, \ COMBOBOX_TEXT, (tmp_esc ? tmp_esc : ""), \ COMBOBOX_DATA, data, \ COMBOBOX_SENS, TRUE, \ -1); \ g_free(tmp_esc); \ } GtkWidget *combobox_text_new(const gboolean with_entry, const gchar *text, ...); void combobox_select_by_data (GtkComboBox *combobox, gint data); void combobox_select_by_text (GtkComboBox *combobox, const gchar *data); gint combobox_get_active_data (GtkComboBox *combobox); /* these two functions require a GtkComboBoxText, so let the compiler warn */ void combobox_unset_popdown_strings(GtkComboBoxText *combobox); void combobox_set_popdown_strings(GtkComboBoxText *combobox, GList *list); gboolean combobox_set_value_from_arrow_key(GtkComboBox *combobox, guint keyval); void combobox_set_sensitive (GtkComboBox *combobox, const guint index, const gboolean sensitive); #endif /* __COMBOBOX_H__ */