Spec-Zone.ru › GTK 4.0

GtkTreeListModel

GtkTreeListModel — Список моделей, которые могут создавать дочерние модели по запросу

Функции

GListModel * (*GtkTreeListModelCreateModelFunc) ()
GtkTreeListModel * gtk_tree_list_model_new ()
GListModel * gtk_tree_list_model_get_model ()
gboolean gtk_tree_list_model_get_passthrough ()
void gtk_tree_list_model_set_autoexpand ()
gboolean gtk_tree_list_model_get_autoexpand ()
GtkTreeListRow * gtk_tree_list_model_get_child_row ()
GtkTreeListRow * gtk_tree_list_model_get_row ()

Свойства

gboolean autoexpand Чтение / Запись
GListModel * model Чтение
gboolean passthrough Чтение / Запись / Только для создания
GListModel * children Чтение
guint глубина Чтение
gboolean расширяемый Чтение
gboolean расширенный Чтение / Запись
GObject * элемент Чтение

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

GtkTreeListModel
GtkTreeListRow

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

    GObject
    ├── GtkTreeListModel
    ╰── GtkTreeListRow

Реализованные интерфейсы

GtkTreeListModel реализует GListModel.

Файлы заголовков

#include <gtk/gtk.h>

Описание

GtkTreeListModel — это реализация GListModel, которая может расширять строки, создавая новые дочерние модели списков по запросу.

Функции

GtkTreeListModelCreateModelFunc ()

GListModel *
(*GtkTreeListModelCreateModelFunc) (gpointer item,
                                    gpointer user_data);

Прототип функции, вызываемой для создания новых дочерних моделей, когда вызывается gtk_tree_list_row_set_expanded().

Эта функция может возвращать NULL для указания, что item гарантированно является узлом листа и никогда не будет иметь дочерних элементов. Если у него нет дочерних элементов, но они могут появиться позже, он должен вернуть пустую модель, которая заполняется, когда появятся дочерние элементы.

Параметры

item

Элемент, который расширяется.

[type GObject]

user_data

Данные пользователя, переданные при регистрации функции

Возвращаемое значение

Модель, отслеживающая дочерние элементы item, или NULL, если item никогда не может иметь дочерних элементов.

[nullable][transfer full]

gtk_tree_list_model_new ()

GtkTreeListModel *
gtk_tree_list_model_new (GListModel *root,
                         gboolean passthrough,
                         gboolean autoexpand,
                         GtkTreeListModelCreateModelFunc create_func,
                         gpointer user_data,
                         GDestroyNotify user_destroy);

Создаёт новую пустую GtkTreeListModel, отображающую root со всеми строками свёрнутыми.

Параметры

root

Используемая GListModel в качестве корня.

[transfer full]

passthrough

TRUE для передачи элементов из моделей

autoexpand

TRUE для установки свойства autoexpand и расширения root модели

create_func

Функция для вызова создания GListModel для дочерних элементов элемента

user_data

Данные, передаваемые в create_func.

[closure]

user_destroy

Функция для вызова освобождения user_data

Возвращаемое значение

новосозданная GtkTreeListModel.

gtk_tree_list_model_get_model ()

GListModel *
gtk_tree_list_model_get_model (GtkTreeListModel *self);

Возвращает корневую модель, с которой была создана self.

Параметры

self

объект GtkTreeListModel

Возвращаемое значение

корневая модель.

[transfer none]

gtk_tree_list_model_get_passthrough ()

gboolean
gtk_tree_list_model_get_passthrough (GtkTreeListModel *self);

Если эта функция возвращает FALSE, функции GListModel для self возвращают пользовательские объекты GtkTreeListRow. Вам нужно вызвать gtk_tree_list_row_get_item() для этих объектов, чтобы получить исходный элемент.

Если TRUE, значения дочерних моделей передаются в их исходном состоянии. Затем вам нужно вызвать gtk_tree_list_model_get_row() для получения пользовательских GtkTreeListRows.

Параметры

self

объект GtkTreeListModel

Возвращаемое значение

TRUE, если модель пропускает оригинальные элементы строк

gtk_tree_list_model_set_autoexpand ()

void
gtk_tree_list_model_set_autoexpand (GtkTreeListModel *self,
                                    gboolean autoexpand);

Если установлено значение TRUE, модель будет рекурсивно расширять все строки, которые добавляются в модель. Это могут быть строки, добавленные изменением базовых моделей, или с помощью gtk_tree_list_row_set_expanded().

Параметры

self

объект GtkTreeListModel

autoexpand

TRUE для настройки модели на автоматическое расширение строк

gtk_tree_list_model_get_autoexpand ()

gboolean
gtk_tree_list_model_get_autoexpand (GtkTreeListModel *self);

Получает, установлено ли для модели автоматическое расширение новых строк, которые добавляются. Это могут быть строки, добавленные изменением базовых моделей, или с помощью gtk_tree_list_row_set_expanded().

Параметры

self

объект GtkTreeListModel

Возвращаемое значение

TRUE если модель настроена на автоматическое расширение

gtk_tree_list_model_get_child_row ()

GtkTreeListRow *
gtk_tree_list_model_get_child_row (GtkTreeListModel *self,
                                   guint position);

Возвращает элемент строки, соответствующий дочернему элементу с индексом position для корневой модели self.

Если position больше, чем количество дочерних элементов в корневой модели, возвращается NULL.

Не путайте эту функцию с gtk_tree_list_model_get_row().

Параметры

self

объект GtkTreeListModel

position

позиция дочернего элемента для получения

Возвращаемое значение

дочерний элемент в position.

[nullable][transfer full]

gtk_tree_list_model_get_row ()

GtkTreeListRow *
gtk_tree_list_model_get_row (GtkTreeListModel *self,
                             guint position);

Возвращает объект строки для данной строки. Если position больше, чем количество элементов в self, возвращается NULL.

Объект строки можно использовать для расширения и сворачивания строк, а также для проверки его позиции в дереве. Подробности см. в документации к нему.

Этот объект строки сохраняется и будет ссылаться на текущий элемент до тех пор, пока строка присутствует в self, независимо от добавления или удаления других строк.

Если self не настроен на проброс, эта функция эквивалентна вызову g_list_model_get_item().

Не путайте эту функцию с gtk_tree_list_model_get_child_row().

Параметры

self

объект GtkTreeListModel

position

позиция строки, которую нужно получить

Возвращаемое значение

Элемент строки.

[nullable][transfer full]

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

GtkTreeListModel

typedef struct _GtkTreeListModel GtkTreeListModel;

GtkTreeListRow

typedef struct _GtkTreeListRow GtkTreeListRow;

Подробные сведения о свойствах

Свойство “autoexpand”

  “autoexpand”               gboolean

Если все строки должны быть развернуты по умолчанию

Владелец: GtkTreeListModel

Флаги: Чтение / Запись

Значение по умолчанию: FALSE

Свойство “model”

  “model”                    GListModel *

Корневая модель, отображаемая

Владелец: GtkTreeListModel

Флаги: Чтение

Свойство “passthrough”

  “passthrough”              gboolean

Если FALSE, функции GListModel для этого объекта возвращают пользовательские объекты GtkTreeListRow. Если TRUE, значения дочерних моделей передаются без изменений.

Владелец: GtkTreeListModel

Флаги: Чтение / Запись / Только для создания

Значение по умолчанию: FALSE

Свойство “children”

  “children”                 GListModel *

Модель, содержащая дочерние элементы строки.

Владелец: GtkTreeListRow

Флаги: Чтение

Свойство “depth”

  “depth”                    guint

Глубина в дереве этой строки

Владелец: GtkTreeListRow

Флаги: Чтение

Значение по умолчанию: 0

Свойство “expandable”

  “expandable”               gboolean

Можно ли развернуть эту строку

Владелец: GtkTreeListRow

Флаги: Чтение

Значение по умолчанию: FALSE

Свойство “expanded”

  “expanded”                 gboolean

В настоящее время эта строка развернута

Владелец: GtkTreeListRow

Флаги: Чтение / Запись

Значение по умолчанию: FALSE

Свойство “item”

  “item”                     GObject *

Элемент, содержащийся в этой строке

Владелец: GtkTreeListRow

Флаги: Чтение

См. также

GListModel

© 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/GtkTreeListModel.html

Spec-Zone.ru

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