Виджит CList представляет собой список, состоящий из нескольких колонок. Ячейки такого списка могут содержать текстовые значения. Мы можем обратиться отдельно к каждой ячейке списка. Создать список можно одной из функций:
Первая функция добавляет новый элемент в начало списка, а вторая — в его конец. Если вам необходимо вставить элемент в определенную позицию, вам нужно использовать функцию:
Она позволяет вставить новый элемент в строку row. Нумерация строк списка начинается с 0.
Для удаления элементов списка можно использовать одну из функций:
void gtk_clist_remove(GtkCList *clist, gint row);
void gtk_clist_clear(GtkCList *clist);
Первая удаляет строку row, а вторая очищает весь список.
Рассмотрим листинг 23.8, в котором демонстрируется работа со списком CList. Программа снабжена подробными комментариями, поэтому рекомендую внимательно читать исходный код.
Листинг 23.8. Применение виджита CList
#include <gtk/gtk.h>
/* Нужен для функции setlocale */
#include <locale.h>
/* Добавляет список - обработчик кнопки Добавить */