Spec-Zone.ru › GTK 4.0

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 Выполняется последним

Типы и значения

GtkColumnView

Иерархия объектов

    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

используемая модель списка, или NULL.

[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

column

GtkColumnViewColumn для вставки

gtk_column_view_remove_column ()

void
gtk_column_view_remove_column (GtkColumnView *self,
                               GtkColumnViewColumn *column);

Удаляет column из списка столбцов self.

Параметры

self

объект GtkColumnView

column

GtkColumnViewColumn, который является частью self

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

используемая модель или NULL для отсутствия.

[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

Возвращает

сортировщик GtkSorter self .

[nullable][transfer none]

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

TRUE, чтобы отобразить разделители строк

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

a GtkColumnView

show_column_separators

TRUE для отображения разделителей колонок

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

a GtkColumnView

column

the GtkColumnViewColumn для сортировки, или NULL.

[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

a GtkColumnView

single_click_activate

TRUE для активации элементов при однократном нажатии

gtk_column_view_get_single_click_activate ()

gboolean
gtk_column_view_get_single_click_activate
                               (GtkColumnView *self);

Возвращает, будут ли строки активироваться при однократном нажатии и выбираться при наведении.

Параметры

self

a GtkColumnView

Возвращает

TRUE если строки активируются при однократном нажатии

gtk_column_view_set_reorderable ()

void
gtk_column_view_set_reorderable (GtkColumnView *self,
                                 gboolean reorderable);

Устанавливает, можно ли переупорядочивать колонки, перетаскивая их.

Параметры

self

a GtkColumnView

reorderable

можно ли переупорядочивать колонки

gtk_column_view_get_reorderable ()

gboolean
gtk_column_view_get_reorderable (GtkColumnView *self);

Возвращает, можно ли переупорядочивать колонки.

Параметры

self

a GtkColumnView

Возвращает

TRUE если колонки можно переупорядочивать

gtk_column_view_set_enable_rubberband ()

void
gtk_column_view_set_enable_rubberband (GtkColumnView *self,
                                       gboolean enable_rubberband);

Устанавливает, можно ли изменять выбор, перетаскивая мышкой.

Параметры

self

a GtkColumnView

enable_rubberband

TRUE для включения выбора резиновой полосой

gtk_column_view_get_enable_rubberband ()

gboolean
gtk_column_view_get_enable_rubberband (GtkColumnView *self);

Возвращает, можно ли выбирать строки, перетаскивая мышкой.

Параметры

self

a GtkColumnView

Возвращает

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

данные пользователя, заданные при подключении обработчика сигнала.

Флаги: Выполняется в конце

См. также

GtkColumnViewColumn, GtkTreeView

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API