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