GtkCellRendererCombo
GtkCellRendererCombo — Отображает раскрывающийся список в ячейке
Функции
Свойства
| gboolean | has-entry | Чтение/Запись |
| GtkTreeModel * | model | Чтение/Запись |
| gint | text-column | Чтение/Запись |
Сигналы
Типы и значения
| struct | GtkCellRendererCombo |
Иерархия объектов
GObject ╰── GInitiallyUnowned ╰── GtkCellRenderer ╰── GtkCellRendererText ╰── GtkCellRendererCombo
Включаемые файлы
#include <gtk/gtk.h>
Описание
GtkCellRendererCombo отображает текст в ячейке, подобно GtkCellRendererText, от которого он унаследован. Но в то время как GtkCellRendererText предоставляет простой вход для редактирования текста, GtkCellRendererCombo предоставляет виджет GtkComboBox для редактирования текста. Значения, которые будут отображаться в раскрывающемся списке, берутся из модели дерева, указанной в свойстве “model”.
Ячейка с раскрывающимся списком позаботится о добавлении ячейки с текстом в раскрывающееся меню и установит её для отображения столбца, указанного свойством “text-column”. Дополнительные свойства раскрывающегося списка могут быть установлены в обработчике сигнала “editing-started”.
Ячейка-компонент GtkCellRendererCombo была добавлена в GTK+ 2.6.
Функции
gtk_cell_renderer_combo_new ()
GtkCellRenderer *
gtk_cell_renderer_combo_new (void); Создаёт новую ячейку-компонент GtkCellRendererCombo. Настройка отображения текста с помощью свойств объекта. Свойства объекта можно устанавливать глобально (с помощью g_object_set()). Также, с помощью GtkTreeViewColumn, вы можете привязать свойство к значению в GtkTreeModel. Например, вы можете привязать свойство «text» в ячейке к строковому значению в модели, тем самым отображая различную строку в каждой строке GtkTreeView.
Возвращает
новую ячейку-компонент
С: 2.6
Типы и значения
struct GtkCellRendererCombo
struct GtkCellRendererCombo;
Подробности свойств
Свойство “has-entry”
“has-entry” gboolean
Если TRUE, ячейка-компонент будет включать поле ввода и позволит вводить значения, отличные от значений в раскрывающемся списке.
Флаги: Чтение/Запись
Значение по умолчанию: TRUE
С: 2.6
Свойство “model”
“model” GtkTreeModel *
Содержит модель дерева, которая содержит возможные значения для раскрывающегося списка. Используйте свойство text_column для указания столбца, содержащего значения.
Флаги: Чтение/Запись
С: 2.6
Свойство “text-column”
“text-column” gint
Указывает столбец модели, который содержит возможные значения для раскрывающегося списка.
Обратите внимание, что это относится к модели, указанной в свойстве model, а не к модели, лежащей в основе дерева, к которому прикреплена эта ячейка-компонент.
GtkCellRendererCombo автоматически добавляет ячейку-компонент с текстом для этого столбца в свой раскрывающийся список.
Флаги: Чтение/Запись
Допустимые значения: >= -1
Значение по умолчанию: -1
С: 2.6
Подробности сигнала
Сигнал “changed”
void user_function (GtkCellRendererCombo *combo, gchar *path_string, GtkTreeIter *new_iter, gpointer user_data)
Этот сигнал генерируется каждый раз после того, как пользователь выбрал элемент в раскрывающемся списке, используя мышь или клавиши со стрелками. В отличие от GtkComboBox, GtkCellRendererCombo::changed не генерируется при изменении выбранного элемента в поле ввода. Аргумент new_iter соответствует новому выбранному элементу в раскрывающемся списке, и он относится к GtkTreeModel, установленной через свойство model на GtkCellRendererCombo.
Обратите внимание, что как только вы измените модель, отображаемую в дереве, дерево немедленно прекратит операцию редактирования. Это означает, что вам, скорее всего, не следует изменять модель до тех пор, пока ячейка-компонент с раскрывающимся списком не сгенерирует сигнал edited или editing_canceled.
Параметры
combo | объект, на котором генерируется сигнал | |
path_string | строка пути, определяющая редактируемую ячейку (относительно модели дерева) | |
new_iter | новый итератор, выбранный в раскрывающемся списке (относительно модели раскрывающегося списка) | |
user_data | пользовательские данные, установленные при подключении обработчика сигнала. |
Флаги: Выполняется последним
С: 2.14
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.20/GtkCellRendererCombo.html