GtkColumnView
GtkColumnView — Виджет для отображения списков в нескольких столбцах
Функции
| GtkWidget * | gtk_column_view_new () |
| void | gtk_column_view_append_column () |
| void | gtk_column_view_insert_column () |
| void | gtk_column_view_remove_column () |
| GListModel * | gtk_column_view_get_columns () |
| GtkSelectionModel * | gtk_column_view_get_model () |
| void | gtk_column_view_set_model () |
| GtkSorter * | gtk_column_view_get_sorter () |
| gboolean | gtk_column_view_get_show_row_separators () |
| void | gtk_column_view_set_show_row_separators () |
| gboolean | gtk_column_view_get_show_column_separators () |
| void | gtk_column_view_set_show_column_separators () |
| void | gtk_column_view_sort_by_column () |
| void | gtk_column_view_set_single_click_activate () |
| gboolean | gtk_column_view_get_single_click_activate () |
| void | gtk_column_view_set_reorderable () |
| gboolean | gtk_column_view_get_reorderable () |
| void | gtk_column_view_set_enable_rubberband () |
| gboolean | gtk_column_view_get_enable_rubberband () |
Свойства
| GListModel * | columns | Чтение |
| gboolean | enable-rubberband | Чтение / Запись |
| GtkSelectionModel * | model | Чтение / Запись |
| gboolean | reorderable | Чтение / Запись |
| gboolean | show-column-separators | Чтение / Запись |
| gboolean | show-row-separators | Чтение / Запись |
| gboolean | single-click-activate | Чтение / Запись |
| GtkSorter * | sorter | Чтение |
Сигналы
| void | activate | Выполняется последним |
Типы и значения
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkColumnView
Реализованные интерфейсы
GtkColumnView реализует GtkAccessible, GtkBuildable, GtkConstraintTarget и GtkScrollable.
Файлы заголовков
#include <gtk/gtk.h>
Описание
GtkColumnView — это виджет для отображения большого динамического списка элементов с помощью нескольких столбцов и заголовков.
GtkColumnView использует фабрики своих столбцов для генерации виджета ячейки для каждого столбца, для каждого видимого элемента и отображает их вместе как строку для этого элемента. Свойства “show-row-separators” и “show-column-separators” предлагают простой способ отображения разделителей между строками или столбцами.
GtkColumnView позволяет пользователю выбирать элементы в соответствии с характеристиками выбора модели. Для моделей, которые допускают выбор нескольких элементов, можно включить *резиновый выбор*, используя “enable-rubberband”.
Просмотр столбцов поддерживает сортировку, которую пользователь может настроить, щелкнув заголовки столбцов. Для этого GtkSorter, возвращаемый gtk_column_view_get_sorter(), должен быть присоединен к модели сортировки данных, отображаемых в представлении, а столбцы должны иметь сортировщики, присоединенные к ним с помощью вызова gtk_column_view_column_set_sorter(). Начальный порядок сортировки можно установить с помощью gtk_column_view_sort_by_column().
Просмотр столбцов также поддерживает интерактивное изменение размера и переупорядочивание столбцов с помощью перетаскивания заголовков столбцов. Это можно включить или отключить с помощью свойств “reorderable” и “resizable”.
Чтобы узнать больше о фреймворке виджета списка, см. обзор.
Узлы CSS
GtkColumnView использует единственный узел CSS с именем columnview. Он может содержать класс стиля .column-separators, когда свойство “show-column-separators” установлено. Виджеты заголовка появляются под узлом с именем header. Строки содержатся в виджете GtkListView, поэтому существует узел listview со структурой, аналогичной структуре автономного виджета GtkListView. Если свойство “show-row-separators” установлено, оно будет передано в представление списка, что приведет к тому, что его узел CSS будет содержать класс стиля .separators. Для резинового выбора используется узел с именем rubberband.
Основной узел columnview также может содержать классы стилей для выбора стиля представления списка: .rich-list, .navigation-sidebar или .data-table.
Доступность
GtkColumnView использует роль GTK_ACCESSIBLE_ROLE_TREE_GRID, виджеты заголовков используют роль GTK_ACCESSIBLE_ROLE_COLUMN_HEADER. Виджеты строк используют роль GTK_ACCESSIBLE_ROLE_ROW, а отдельные ячейки используют роль GTK_ACCESSIBLE_ROLE_GRID_CELL
Функции
gtk_column_view_new ()
GtkWidget *
gtk_column_view_new (GtkSelectionModel *model); Создаёт новый GtkColumnView.
Скорее всего, вам понадобится вызвать gtk_column_view_append_column(), чтобы добавить столбцы.
Параметры
model | используемая модель списка, или | [allow-none][transfer full] |
Возвращает
новый GtkColumnView
gtk_column_view_append_column ()
void gtk_column_view_append_column (GtkColumnView *self,GtkColumnViewColumn *column);
Добавляет column в конец столбцов в self.
Параметры
self | объект GtkColumnView | |
column | GtkColumnViewColumn, который ещё не был добавлен в GtkColumnView |
gtk_column_view_insert_column ()
void gtk_column_view_insert_column (GtkColumnView *self,guint position,GtkColumnViewColumn *column);
Вставляет столбец в заданную позицию в столбцах self.
Если column уже является столбцом в self, он будет перемещён.
Параметры
self | объект GtkColumnView | |
position | позиция для вставки | |
column | GtkColumnViewColumn для вставки |
gtk_column_view_remove_column ()
void gtk_column_view_remove_column (GtkColumnView *self,GtkColumnViewColumn *column);
Удаляет column из списка столбцов self.
Параметры
self | объект GtkColumnView | |
column | GtkColumnViewColumn, который является частью |
gtk_column_view_get_columns ()
GListModel *
gtk_column_view_get_columns (GtkColumnView *self); Получает список столбцов в этом представлении столбцов. Этот список является постоянным на протяжении всего жизненного цикла self и может использоваться для отслеживания изменений в столбцах self путём подключения к сигналу “items-changed”.
Параметры
self | объект GtkColumnView |
Возвращает
Управляющий список столбцами.
[transfer none]
gtk_column_view_get_model ()
GtkSelectionModel *
gtk_column_view_get_model (GtkColumnView *self); Получает модель, которая в настоящее время используется для чтения отображаемых элементов.
Параметры
self | объект GtkColumnView |
Возвращает
Используемая модель.
[nullable][transfer none]
gtk_column_view_set_model ()
void gtk_column_view_set_model (GtkColumnView *self,GtkSelectionModel *model);
Устанавливает используемую GtkSelectionModel.
Параметры
self | объект GtkColumnView | |
model | используемая модель или | [allow-none][transfer none] |
gtk_column_view_get_sorter ()
GtkSorter *
gtk_column_view_get_sorter (GtkColumnView *self); Возвращает специальный сортировщик, который отражает варианты сортировки, выбранные пользователем в представлении столбцов.
Чтобы позволить пользователю настраивать сортировку, нажимая на заголовки столбцов, этот сортировщик необходимо установить на модели сортировки под моделью, отображаемой представлением.
См. gtk_column_view_column_set_sorter() для настройки сортировки по каждому столбцу.
Вот пример:
columnview[.column-separators][.rich-list][.navigation-sidebar][.data-table] ├── header │ ├── <column header> ┊ ┊ │ ╰── <column header> │ ├── listview │ ┊ ╰── [rubberband]
Параметры
self | объект GtkColumnView |
gtk_column_view_get_show_row_separators ()
gboolean
gtk_column_view_get_show_row_separators
(GtkColumnView *self); Возвращает, следует ли списку отображать разделители между строками.
Параметры
self | объект GtkColumnView |
Возвращает
TRUE, если список отображает разделители
gtk_column_view_set_show_row_separators ()
void gtk_column_view_set_show_row_separators (GtkColumnView *self,gboolean show_row_separators);
Устанавливает, следует ли списку отображать разделители между строками.
Параметры
self | объект GtkColumnView | |
show_row_separators |
|
gtk_column_view_get_show_column_separators ()
gboolean
gtk_column_view_get_show_column_separators
(GtkColumnView *self); Возвращает, следует ли списку отображать разделители между столбцами.
Параметры
self | объект GtkColumnView |
Возвращает
TRUE, если список отображает разделители столбцов
gtk_column_view_set_show_column_separators ()
void gtk_column_view_set_show_column_separators (GtkColumnView *self,gboolean show_column_separators);
Устанавливает, должны ли отображаться разделители между колонками.
Параметры
self | ||
show_column_separators |
|
gtk_column_view_sort_by_column ()
void gtk_column_view_sort_by_column (GtkColumnView *self,GtkColumnViewColumn *column,GtkSortType direction);
Устанавливает сортировку представления.
Эта функция должна использоваться для настройки начальной сортировки. Во время работы пользователи могут изменять сортировку колонки, нажимая на заголовки списка.
Этот вызов имеет эффект только если сортировщик, возвращаемый gtk_column_view_get_sorter(), установлен на модели сортировки, и gtk_column_view_column_set_sorter() был вызван для column, чтобы связать сортировщик с колонкой.
Если column равно NULL, представление будет не отсортировано.
Параметры
self | ||
column | the GtkColumnViewColumn для сортировки, или | [allow-none] |
direction | направление сортировки |
gtk_column_view_set_single_click_activate ()
void gtk_column_view_set_single_click_activate (GtkColumnView *self,gboolean single_click_activate);
Устанавливает, должны ли строки активироваться при однократном нажатии и выбираться при наведении.
Параметры
self | ||
single_click_activate |
|
gtk_column_view_get_single_click_activate ()
gboolean
gtk_column_view_get_single_click_activate
(GtkColumnView *self); Возвращает, будут ли строки активироваться при однократном нажатии и выбираться при наведении.
Параметры
self |
Возвращает
TRUE если строки активируются при однократном нажатии
gtk_column_view_set_reorderable ()
void gtk_column_view_set_reorderable (GtkColumnView *self,gboolean reorderable);
Устанавливает, можно ли переупорядочивать колонки, перетаскивая их.
Параметры
self | ||
reorderable | можно ли переупорядочивать колонки |
gtk_column_view_get_reorderable ()
gboolean
gtk_column_view_get_reorderable (GtkColumnView *self); Возвращает, можно ли переупорядочивать колонки.
Параметры
self |
Возвращает
TRUE если колонки можно переупорядочивать
gtk_column_view_set_enable_rubberband ()
void gtk_column_view_set_enable_rubberband (GtkColumnView *self,gboolean enable_rubberband);
Устанавливает, можно ли изменять выбор, перетаскивая мышкой.
Параметры
self | ||
enable_rubberband |
|
gtk_column_view_get_enable_rubberband ()
gboolean
gtk_column_view_get_enable_rubberband (GtkColumnView *self); Возвращает, можно ли выбирать строки, перетаскивая мышкой.
Параметры
self |
Возвращает
TRUE если выбор резиновой полосой включён
Типы и значения
GtkColumnView
typedef struct _GtkColumnView GtkColumnView;
GtkColumnView — это простое реализация списка для виджетов списка GTK.
Подробное описание свойств
Свойство “columns”
“columns” GListModel *
Список колонок
Владелец: GtkColumnView
Флаги: Чтение
Свойство “enable-rubberband”
“enable-rubberband” gboolean
Разрешить выбор резиновой полосой
Владелец: GtkColumnView
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “model”
“model” GtkSelectionModel *
Модель для отображаемых элементов
Владелец: GtkColumnView
Флаги: Чтение / Запись
Свойство “reorderable”
“reorderable” gboolean
Можно ли переупорядочивать колонки
Владелец: GtkColumnView
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “show-column-separators”
“show-column-separators” gboolean
Показывать разделители между колонками
Владелец: GtkColumnView
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “show-row-separators”
“show-row-separators” gboolean
Показывать разделители между строками
Владелец: GtkColumnView
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “single-click-activate”
“single-click-activate” gboolean
Активировать строки при однократном нажатии и выделять при наведении
Владелец: GtkColumnView
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “sorter”
“sorter” GtkSorter *
Сортировщик с выбором сортировки пользователем
Владелец: GtkColumnView
Флаги: Чтение
Подробное описание сигналов
Сигнал “activate”
void user_function (GtkColumnView *self, guint position, gpointer user_data)
Сигнал ::activate генерируется, когда пользователь активировал строку, обычно через действие GtkListBase|list.activate-item.
Это обеспечивает удобный способ обработки активации в columnview. Подробнее о том, как использовать этот сигнал, см. gtk_list_item_set_activatable().
Параметры
self | The GtkColumnView | |
position | позиция активируемого элемента | |
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/GtkColumnView.html