GtkTreeView
GtkTreeView — Виджет для отображения деревьев и списков
Функции
Свойства
| gboolean | активировать-при-одиночном-щелчке | Чтение / Запись |
| GtkTreeViewGridLines | включить-линии-сетки | Чтение / Запись |
| gboolean | включить-поиск | Чтение / Запись |
| gboolean | включить-линии-дерева | Чтение / Запись |
| GtkTreeViewColumn * | столбец-расширителя | Чтение / Запись |
| gboolean | фиксированный-режим-высоты | Чтение / Запись |
| gboolean | заголовки-нажимаемы | Чтение / Запись |
| gboolean | заголовки-видимые | Чтение / Запись |
| gboolean | развернуть-при-наведении | Чтение / Запись |
| gboolean | выделение-при-наведении | Чтение / Запись |
| gint | отступ-уровня | Чтение / Запись |
| GtkTreeModel * | модель | Чтение / Запись |
| gboolean | переупорядочиваемый | Чтение / Запись |
| gboolean | резиновая-полоса | Чтение / Запись |
| gboolean | подсказка-линий | Чтение / Запись |
| gint | столбец-поиска | Чтение / Запись |
| gboolean | отображать-расширители | Чтение / Запись |
| gint | столбец-подсказки | Чтение / Запись |
Свойства стиля
| gboolean | allow-rules | Чтение |
| GdkColor * | even-row-color | Чтение |
| gint | expander-size | Чтение |
| gchar * | grid-line-pattern | Чтение |
| gint | grid-line-width | Чтение |
| gint | horizontal-separator | Чтение |
| gboolean | indent-expanders | Чтение |
| GdkColor * | odd-row-color | Чтение |
| gchar * | tree-line-pattern | Чтение |
| gint | tree-line-width | Чтение |
| gint | vertical-separator | Чтение |
Сигналы
Типы и значения
| структура | GtkTreeView |
| перечисление | GtkTreeViewDropPosition |
| GtkTreeViewPrivate | |
| перечисление | GtkTreeViewGridLines |
Иерархия объектов
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── GtkTreeView
Реализованные интерфейсы
GtkTreeView реализует интерфейсы AtkImplementorIface, GtkBuildable и GtkScrollable.
Файлы
#include <gtk/gtk.h>
Описание
Виджет, отображающий любой объект, реализующий интерфейс GtkTreeModel.
Для общего обзора объектов и типов данных, связанных с деревом, и способов их взаимодействия, обратитесь к общему обзору виджетов дерева и списка.
В API GtkTreeView доступны несколько различных систем координат. Это:
Системы координат в API GtkTreeView:
Координаты виджета: Координаты относительно виджета (обычно
widget->window).Координаты окна контейнера: Координаты относительно окна, в которое GtkTreeView отрисовывается.
Координаты дерева: Координаты относительно всей области прокрутки GtkTreeView. Эти координаты начинаются с (0, 0) для строки 0 дерева.
Для преобразования между различными системами координат доступны несколько функций. Наиболее распространённые преобразования – между координатами виджета и окна контейнера, а также между координатами окна контейнера и дерева. Для первого случая можно использовать gtk_tree_view_convert_widget_to_bin_window_coords() (и наоборот), для второго – gtk_tree_view_convert_bin_window_to_tree_coords() (и наоборот).
GtkTreeView как GtkBuildable
Реализация GtkTreeView интерфейса GtkBuildable принимает объекты GtkTreeViewColumn в качестве элементов <child> и предоставляет доступ к внутреннему GtkTreeSelection в определениях пользовательского интерфейса.
Пример фрагмента определения пользовательского интерфейса с GtkTreeView:
Узлы CSS
<object class="GtkTreeView" id="treeview">
<property name="model">liststore1</property>
<child>
<object class="GtkTreeViewColumn" id="test-column">
<property name="title">Test</property>
<child>
<object class="GtkCellRendererText" id="test-renderer"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
<child internal-child="selection">
<object class="GtkTreeSelection" id="selection">
<signal name="changed" handler="on_treeview_selection_changed"/>
</object>
</child>
</object>GtkTreeView имеет главный узел CSS с именем treeview и классом стиля .view. Он имеет поднод с именем header, который является родителем для всех узлов CSS виджетов заголовков столбцов. Для выделения резиновым прямоугольником используется поднод с именем rubberband.
Функции
GtkTreeViewColumnDropFunc ()
gboolean (*GtkTreeViewColumnDropFunc) (GtkTreeView *tree_view,GtkTreeViewColumn *column,GtkTreeViewColumn *prev_column,GtkTreeViewColumn *next_column,gpointer data);
Тип функции для определения, можно ли column опустить в определённую точку (как определяется prev_column и next_column ). В локалях слева направо prev_column находится слева от потенциальной точки опускания, а next_column — справа. В режиме справа налево это меняется. Эта функция должна возвращать TRUE, если место является допустимой точкой опускания. Обратите внимание, что возвращение TRUE не означает, что опускание столбца действительно произошло, а только указывает пользователю на возможную точку опускания.
Параметры
tree_view | ||
column | Перетаскиваемый GtkTreeViewColumn | |
prev_column | GtkTreeViewColumn с одной стороны от | |
next_column | GtkTreeViewColumn с другой стороны от | |
data | пользовательские данные. | [closure] |
Возвращаемое значение
TRUE, если column можно опустить в это место
GtkTreeViewMappingFunc ()
void (*GtkTreeViewMappingFunc) (GtkTreeView *tree_view,GtkTreePath *path,gpointer user_data);
Функция, используемая для gtk_tree_view_map_expanded_rows().
Параметры
tree_view | ||
path | Путь, который развернут | |
user_data | пользовательские данные |
GtkTreeViewSearchEqualFunc ()
gboolean (*GtkTreeViewSearchEqualFunc) (GtkTreeModel *model,gint column,const gchar *key,GtkTreeIter *iter,gpointer search_data);
Функция для проверки, соответствует ли строка в model строке поиска, введённой пользователем. Обратите внимание, что возвращаемое значение инвертировано по сравнению с тем, что вы обычно ожидаете, хотя оно имеет некоторое сходство с strcmp() возвращающим 0 для равных строк.
Параметры
model | Используемая модель GtkTreeModel | |
column | Столбец поиска, заданный | |
key | Строка ключа для сравнения | |
iter | GtkTreeIter , указывающий на строку | |
search_data | пользовательские данные из | [closure] |
gtk_tree_view_new ()
GtkWidget *
gtk_tree_view_new (void); Создаёт новый виджет GtkTreeView.
Возвращаемое значение
Созданный виджет GtkTreeView.
gtk_tree_view_get_level_indentation ()
gint
gtk_tree_view_get_level_indentation (GtkTreeView *tree_view); Возвращает количество пикселей дополнительного отступа для дочерних уровней в tree_view.
Параметры
tree_view | a GtkTreeView. |
Возвращаемое значение
Количество дополнительного отступа для дочерних уровней в tree_view. Значение 0 означает, что эта функция отключена.
Since: 2.12
gtk_tree_view_get_show_expanders ()
gboolean
gtk_tree_view_get_show_expanders (GtkTreeView *tree_view); Возвращает, отображаются ли раскрывающие значки в tree_view.
Параметры
tree_view | a GtkTreeView. |
Возвращаемое значение
TRUE, если раскрывающие значки отображаются в tree_view, FALSE в противном случае.
Since: 2.12
gtk_tree_view_set_level_indentation ()
void gtk_tree_view_set_level_indentation (GtkTreeView *tree_view,gint indentation);
Устанавливает количество дополнительного отступа для дочерних уровней, используемых в tree_view, помимо стандартного отступа. Значение должно быть указано в пикселях, значение 0 отключает эту функцию, и в этом случае используется только стандартный отступ. Это не имеет никакого визуального эффекта для списков.
Параметры
tree_view | ||
indentation | Количество пикселей дополнительного отступа в |
Since: 2.12
gtk_tree_view_set_show_expanders ()
void gtk_tree_view_set_show_expanders (GtkTreeView *tree_view,gboolean enabled);
Устанавливает, следует ли рисовать и активировать раскрывающие значки и отступы дочерних строк в tree_view. При отключении раскрывающие значки не будут отображаться в деревьях, и по умолчанию не будет возможности раскрывать и сворачивать строки. Также обратите внимание, что скрытие раскрывающих значков отключит стандартный отступ. В этом случае вы можете задать пользовательский отступ с помощью gtk_tree_view_set_level_indentation(). Это не имеет никакого визуального эффекта для списков.
Параметры
Since: 2.12
gtk_tree_view_new_with_model ()
GtkWidget *
gtk_tree_view_new_with_model (GtkTreeModel *model); Создаёт новый виджет GtkTreeView с моделью, инициализированной значением model .
Параметры
model | модель. |
Возвращаемое значение
Новый созданный виджет GtkTreeView.
gtk_tree_view_get_model ()
GtkTreeModel *
gtk_tree_view_get_model (GtkTreeView *tree_view); Возвращает модель, на которой основан виджет GtkTreeView. Возвращает NULL, если модель не установлена.
Параметры
tree_view | виджет GtkTreeView |
gtk_tree_view_set_model ()
void gtk_tree_view_set_model (GtkTreeView *tree_view,GtkTreeModel *model);
Устанавливает модель для виджета GtkTreeView. Если у tree_view уже есть модель, она будет удалена перед установкой новой модели. Если model имеет значение NULL, то старая модель будет удалена.
Параметры
tree_view | Виджет GtkTreeView. | |
model | Модель. | [allow-none] |
gtk_tree_view_get_selection ()
GtkTreeSelection *
gtk_tree_view_get_selection (GtkTreeView *tree_view); Возвращает GtkTreeSelection, связанную с tree_view .
Параметры
tree_view | Виджет GtkTreeView. |
gtk_tree_view_get_hadjustment ()
GtkAdjustment *
gtk_tree_view_get_hadjustment (GtkTreeView *tree_view); gtk_tree_view_get_hadjustment устарело с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_scrollable_get_hadjustment()
Возвращает GtkAdjustment для горизонтальной области.
Параметры
tree_view | Виджет GtkTreeView |
gtk_tree_view_set_hadjustment ()
void gtk_tree_view_set_hadjustment (GtkTreeView *tree_view,GtkAdjustment *adjustment);
gtk_tree_view_set_hadjustment устарело с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_scrollable_set_hadjustment()
Устанавливает GtkAdjustment для горизонтальной области.
Параметры
tree_view | Виджет GtkTreeView | |
adjustment | Устанавливаемый GtkAdjustment, или | [allow-none] |
gtk_tree_view_get_vadjustment ()
GtkAdjustment *
gtk_tree_view_get_vadjustment (GtkTreeView *tree_view); gtk_tree_view_get_vadjustment устарело с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_scrollable_get_vadjustment()
Возвращает GtkAdjustment для вертикальной области.
Параметры
tree_view | Виджет GtkTreeView |
gtk_tree_view_set_vadjustment ()
void gtk_tree_view_set_vadjustment (GtkTreeView *tree_view,GtkAdjustment *adjustment);
gtk_tree_view_set_vadjustment устарело с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_scrollable_set_vadjustment()
Устанавливает GtkAdjustment для вертикальной области.
Параметры
tree_view | Виджет GtkTreeView | |
adjustment | Устанавливаемый GtkAdjustment, или | [allow-none] |
gtk_tree_view_get_headers_visible ()
gboolean
gtk_tree_view_get_headers_visible (GtkTreeView *tree_view); Возвращает TRUE, если заголовки виджета tree_view видимы.
Параметры
tree_view | Виджет GtkTreeView. |
Возвращаемое значение
Признак видимости заголовков.
gtk_tree_view_set_headers_visible ()
void gtk_tree_view_set_headers_visible (GtkTreeView *tree_view,gboolean headers_visible);
Устанавливает видимость заголовков.
Параметры
tree_view | Виджет GtkTreeView. | |
headers_visible |
|
gtk_tree_view_columns_autosize ()
void
gtk_tree_view_columns_autosize (GtkTreeView *tree_view); Изменяет размер всех столбцов на оптимальную ширину. Работает только после того, как виджет treeview был реализован.
Параметры
tree_view | A GtkTreeView. |
gtk_tree_view_get_headers_clickable ()
gboolean
gtk_tree_view_get_headers_clickable (GtkTreeView *tree_view); Возвращает значение, указывающее, можно ли кликать по всем заголовкам столбцов.
Параметры
tree_view | A GtkTreeView. |
С версии: 2.10
gtk_tree_view_set_headers_clickable ()
void gtk_tree_view_set_headers_clickable (GtkTreeView *tree_view,gboolean setting);
Разрешает кликать по кнопкам заголовков столбцов.
Параметры
tree_view | A GtkTreeView. | |
setting |
|
gtk_tree_view_set_rules_hint ()
void gtk_tree_view_set_rules_hint (GtkTreeView *tree_view,gboolean setting);
gtk_tree_view_set_rules_hint устарело с версии 3.14 и не должно использоваться в новом коде.
Устанавливает подсказку для темы, чтобы рисовать строки с чётными/нечётными номерами в tree_view в разных цветах, также известная как "зебровое разбиение".
Эта функция сообщает теме GTK+, что пользовательский интерфейс вашего приложения требует, чтобы пользователи читали строки дерева слева направо и связывали ячейки друг с другом.
Не используйте её только потому, что вам нравится вид таблицы с линиями; это вопрос к теме. Некоторые темы будут рисовать строки дерева в чередующихся цветах даже при выключенных линиях, и пользователи, которые предпочитают такой вид всегда, могут выбрать эти темы. Вы должны вызывать эту функцию только как семантическую подсказку для движка темы, что ваше дерево делает чередующиеся цвета полезными с функциональной точки зрения (поскольку оно обычно имеет много столбцов).
Параметры
tree_view | ||
setting |
|
gtk_tree_view_get_rules_hint ()
gboolean
gtk_tree_view_get_rules_hint (GtkTreeView *tree_view); gtk_tree_view_get_rules_hint устарело с версии 3.14 и не должно использоваться в новом коде.
Получает значение, установленное функцией gtk_tree_view_set_rules_hint().
Параметры
tree_view |
Возвращаемое значение
TRUE, если подсказка установлена
gtk_tree_view_set_activate-on-single-click ()
void gtk_tree_view_set_activate_on_single_click (GtkTreeView *tree_view,gboolean single);
Заставляет сигнал “row-activated” срабатывать при одиночном щелчке вместо двойного.
Параметры
tree_view | ||
single |
|
С версии: 3.8
gtk_tree_view_get-activate-on-single-click ()
gboolean
gtk_tree_view_get_activate_on_single_click
(GtkTreeView *tree_view); Получает значение, установленное функцией gtk_tree_view_set_activate_on_single_click().
Параметры
tree_view |
Возвращаемое значение
TRUE, если row-activated будет срабатывать при одиночном щелчке
С версии: 3.8
gtk_tree_view_append-column ()
gint gtk_tree_view_append_column (GtkTreeView *tree_view,GtkTreeViewColumn *column);
Добавляет column в список столбцов. Если для tree_view включён режим “fixed_height”, то у column свойство “sizing” должно быть установлено как GTK_TREE_VIEW_COLUMN_FIXED.
Параметры
tree_view | A GtkTreeView. | |
column | The GtkTreeViewColumn для добавления. |
Возвращаемое значение
Количество столбцов в tree_view после добавления.
gtk_tree_view_remove-column ()
gint gtk_tree_view_remove_column (GtkTreeView *tree_view,GtkTreeViewColumn *column);
Удаляет column из tree_view.
Параметры
tree_view | A GtkTreeView. | |
column | The GtkTreeViewColumn для удаления. |
Возвращаемое значение
Количество столбцов в tree_view после удаления.
gtk_tree_view_insert-column ()
gint gtk_tree_view_insert_column (GtkTreeView *tree_view,GtkTreeViewColumn *column,gint position);
Вставляет column в tree_view на позиции position. Если position равно -1, столбец вставляется в конец. Если для tree_view включён режим “fixed_height”, то у column свойство “sizing” должно быть установлено как GTK_TREE_VIEW_COLUMN_FIXED.
Параметры
tree_view | A GtkTreeView. | |
column | The GtkTreeViewColumn для вставки. | |
position | Позиция для вставки |
Возвращаемое значение
Количество столбцов в tree_view после вставки.
gtk_tree_view_insert_column_with_attributes ()
gint gtk_tree_view_insert_column_with_attributes (GtkTreeView *tree_view,gint position,const gchar *title,GtkCellRenderer *cell,...);
Создаёт новый GtkTreeViewColumn и вставляет его в tree_view по позиции position . Если position равно -1, новый столбец вставляется в конец. Столбец инициализируется заданными атрибутами. Если у tree_view включён режим «fixed_height», то свойство размера нового столбца будет установлено в GTK_TREE_VIEW_COLUMN_FIXED.
Параметры
tree_view | ||
position | Позиция вставки нового столбца | |
title | Заголовок, который нужно установить | |
cell | The GtkCellRenderer | |
... | Список атрибутов, завершаемый |
Возвращаемое значение
Количество столбцов в tree_view после вставки.
gtk_tree_view_insert_column_with_data_func ()
gint gtk_tree_view_insert_column_with_data_func (GtkTreeView *tree_view,gint position,const gchar *title,GtkCellRenderer *cell,GtkTreeCellDataFunc func,gpointer data,GDestroyNotify dnotify);
Функция-обёртка, которая вставляет новый столбец в GtkTreeView с данным рендерером ячейки и функцией GtkTreeCellDataFunc для установки атрибутов рендера ячейки (обычно используя данные из модели). Смотрите также gtk_tree_view_column_set_cell_data_func(), gtk_tree_view_column_pack_start(). Если у tree_view включён режим «fixed_height», то свойство размера нового столбца будет установлено в GTK_TREE_VIEW_COLUMN_FIXED.
Параметры
tree_view | ||
position | Позиция вставки, -1 для добавления в конец | |
title | Заголовок столбца | |
cell | рендерер ячейки для столбца | |
func | функция установки атрибутов рендера ячейки | |
data | данные для | |
dnotify | уведомление о удалении для |
Возвращаемое значение
количество столбцов в дереве после вставки
gtk_tree_view_get_n_columns ()
guint
gtk_tree_view_get_n_columns (GtkTreeView *tree_view); Возвращает количество столбцов в заданном tree_view .
Параметры
tree_view |
Возвращаемое значение
Количество столбцов в tree_view
Since: 3.4
gtk_tree_view_get_column ()
GtkTreeViewColumn * gtk_tree_view_get_column (GtkTreeView *tree_view,gint n);
Возвращает GtkTreeViewColumn по заданной позиции в tree_view.
Параметры
tree_view | A GtkTreeView. | |
n | Позиция столбца, отсчитывается с 0. |
Возвращаемое значение
GtkTreeViewColumn, или NULL, если позиция вне диапазона столбцов.
[nullable][transfer none]
gtk_tree_view_get_columns ()
GList *
gtk_tree_view_get_columns (GtkTreeView *tree_view); Возвращает GList всех GtkTreeViewColumn в tree_view . Возвращённый список необходимо освободить с помощью g_list_free().
Параметры
tree_view |
Возвращаемое значение
Список GtkTreeViewColumn .
[element-type GtkTreeViewColumn][transfer container]
gtk_tree_view_move_column_after ()
void gtk_tree_view_move_column_after (GtkTreeView *tree_view,GtkTreeViewColumn *column,GtkTreeViewColumn *base_column);
Перемещает column после base_column . Если base_column равен NULL, то column помещается в первую позицию.
Параметры
tree_view | ||
column | The GtkTreeViewColumn для перемещения. | |
base_column | GtkTreeViewColumn относительно которого будет перемещение, или | [allow-none] |
gtk_tree_view_set_expander_column ()
void gtk_tree_view_set_expander_column (GtkTreeView *tree_view,GtkTreeViewColumn *column);
Устанавливает столбец, в котором будет отображаться стрелка раскрытия. Он должен быть в tree_view . Если column равен NULL, то стрелка раскрытия всегда будет в первом видимом столбце.
Если вы не хотите, чтобы стрелка раскрытия отображалась в дереве, установите столбец раскрытия в скрытый столбец.
Параметры
tree_view | ||
column |
|
gtk_tree_view_get_expander_column ()
GtkTreeViewColumn *
gtk_tree_view_get_expander_column (GtkTreeView *tree_view); Возвращает колонку, которая является текущей колонкой раскрывателя. В этой колонке изображена стрелка раскрывателя.
Параметры
tree_view |
Возвращаемое значение
Колонку раскрывателя.
[transfer none]
gtk_tree_view_set_column_drag_function ()
void gtk_tree_view_set_column_drag_function (GtkTreeView *tree_view,GtkTreeViewColumnDropFunc func,gpointer user_data,GDestroyNotify destroy);
Устанавливает пользовательскую функцию для определения места, куда можно переместить колонку при перетаскивании. Эта функция вызывается для каждой пары столбцов по очереди в начале перетаскивания столбца, чтобы определить, где можно выполнить перемещение. Аргументы, передаваемые в func, следующие: tree_view , перетаскиваемый GtkTreeViewColumn, два GtkTreeViewColumn, определяющие место для перемещения, и user_data . Если какой-либо из аргументов GtkTreeViewColumn для места перемещения равен NULL, это означает край. Если func задано как NULL, то tree_view возвращается к стандартному поведению, позволяющему перетаскивать любые колонки в любое место.
Параметры
tree_view | A GtkTreeView. | |
func | Функция для определения, какие колонки можно переупорядочить, или | [allow-none] |
user_data | Пользовательские данные, которые будут переданы в | [allow-none] |
destroy | Функция уведомления об уничтожении | [allow-none] |
gtk_tree_view_scroll-to-point ()
void gtk_tree_view_scroll_to_point (GtkTreeView *tree_view,gint tree_x,gint tree_y);
Прокручивает представление дерева так, чтобы верхний левый угол видимой области был в координатах дерева tree_x, tree_y, где tree_x и tree_y указаны в координатах дерева. tree_view должно быть реализовано перед вызовом этой функции. Если этого не произошло, вам, вероятно, следует использовать gtk_tree_view_scroll_to_cell().
Если tree_x или tree_y равны -1, то прокрутка в этом направлении не выполняется.
Параметры
tree_view | ||
tree_x | Координата X нового верхнего левого пикселя видимой области или -1 | |
tree_y | Координата Y нового верхнего левого пикселя видимой области или -1 |
gtk_tree_view_scroll_to_cell ()
void gtk_tree_view_scroll_to_cell (GtkTreeView *tree_view,GtkTreePath *path,GtkTreeViewColumn *column,gboolean use_align,gfloat row_align,gfloat col_align);
Перемещает выравнивание tree_view в позицию, указанную column и path . Если column равно NULL, горизонтальная прокрутка не выполняется. Аналогично, если path равно NULL, вертикальная прокрутка не выполняется. По меньшей мере, одно из column или path должно быть отличным от NULL. row_align определяет расположение строки, а col_align определяет расположение column . Оба значения должны находиться в диапазоне от 0,0 до 1,0. 0,0 соответствует выравниванию по левому/верхнему краю, 1,0 — по правому/нижнему краю, 0,5 — по центру.
Если use_align равно FALSE, то аргументы выравнивания игнорируются, и дерево выполняет минимальную работу по прокрутке ячейки на экран. Это означает, что ячейка будет прокручена к ближайшему краю от ее текущего положения. Если ячейка в данный момент видна на экране, ничего не делается.
Эта функция работает только в том случае, если модель установлена, и path является допустимой строкой в модели. Если модель изменяется до того, как tree_view реализуется, центр пути будет изменён в соответствии с этим изменением.
Параметры
tree_view | A GtkTreeView. | |
path | Путь к строке, которую нужно переместить, или | [allow-none] |
column | GtkTreeViewColumn для горизонтального перемещения, или | [allow-none] |
use_align | использовать ли аргументы выравнивания или | |
row_align | Вертикальное выравнивание строки, указанной в | |
col_align | Горизонтальное выравнивание столбца, указанного в |
gtk_tree_view_set_cursor ()
void gtk_tree_view_set_cursor (GtkTreeView *tree_view,GtkTreePath *path,GtkTreeViewColumn *focus_column,gboolean start_editing);
Устанавливает текущий фокус клавиатуры на path и выбирает его. Это полезно, когда нужно привлечь внимание пользователя к определённой строке. Если focus_column не NULL, фокус устанавливается на столбец, указанный им. Кроме того, если указан focus_column, и start_editing равен TRUE, то редактирование должно начаться в указанной ячейке. Эта функция часто используется вместе с gtk_widget_grab_focus (tree_view ), чтобы установить фокус клавиатуры на виджет. Обратите внимание, что редактирование может происходить только при отрисовке виджета.
Если path некорректен для model, текущий курсор (если он есть) будет сброшен, и функция вернётся без ошибки.
Параметры
tree_view | ||
path | ||
focus_column | A GtkTreeViewColumn, или | [allow-none] |
start_editing |
|
gtk_tree_view_set_cursor_on_cell ()
void gtk_tree_view_set_cursor_on_cell (GtkTreeView *tree_view,GtkTreePath *path,GtkTreeViewColumn *focus_column,GtkCellRenderer *focus_cell,gboolean start_editing);
Устанавливает текущий фокус клавиатуры на path и выбирает его. Это полезно, когда нужно привлечь внимание пользователя к определённой строке. Если focus_column не NULL, фокус устанавливается на столбец, указанный им. Если focus_column и focus_cell не NULL, и focus_column содержит 2 или более редактируемых или активируемых ячеек, фокус устанавливается на ячейку, указанную focus_cell. Кроме того, если focus_column указано и start_editing равно TRUE, то редактирование должно начаться в указанной ячейке. Эта функция часто используется вместе с gtk_widget_grab_focus (tree_view ), чтобы установить фокус клавиатуры на виджет. Обратите внимание, что редактирование может происходить только при отрисовке виджета.
Если path некорректно для model, текущий курсор (если он есть) будет сброшен, и функция вернётся без ошибки.
Параметры
tree_view | ||
path | ||
focus_column | A GtkTreeViewColumn, or | [allow-none] |
focus_cell | A GtkCellRenderer, or | [allow-none] |
start_editing |
|
Since: 2.2
gtk_tree_view_get_cursor ()
void gtk_tree_view_get_cursor (GtkTreeView *tree_view,GtkTreePath **path,GtkTreeViewColumn **focus_column);
Заполняет path и focus_column текущим путем и столбцом фокуса. Если курсор не установлен, то *path будет NULL. Если ни один столбец не имеет фокуса, то *focus_column будет NULL.
Возвращённый GtkTreePath должен быть освобождён с помощью gtk_tree_path_free() после использования.
gtk_tree_view_row_activated ()
void gtk_tree_view_row_activated (GtkTreeView *tree_view,GtkTreePath *path,GtkTreeViewColumn *column);
Активирует ячейку, определяемую path и column .
Параметры
tree_view | ||
path | The GtkTreePath для активации. | |
column | The GtkTreeViewColumn для активации. |
gtk_tree_view_expand_all ()
void
gtk_tree_view_expand_all (GtkTreeView *tree_view); Рекурсивно раскрывает все узлы в tree_view.
Параметры
tree_view | A GtkTreeView. |
gtk_tree_view_collapse_all ()
void
gtk_tree_view_collapse_all (GtkTreeView *tree_view); Рекурсивно сворачивает все видимые, развёрнутые узлы в tree_view.
Параметры
tree_view | A GtkTreeView. |
gtk_tree_view_expand_to_path ()
void gtk_tree_view_expand_to_path (GtkTreeView *tree_view,GtkTreePath *path);
Развертывает строку по адресу path. Это также развернёт все родительские строки path по мере необходимости.
Параметры
tree_view | A GtkTreeView. | |
path | путь к строке. |
Since: 2.2
gtk_tree_view_expand_row ()
gboolean gtk_tree_view_expand_row (GtkTreeView *tree_view,GtkTreePath *path,gboolean open_all);
Открывает строку, чтобы её дочерние элементы были видны.
Параметры
tree_view | ||
path | путь к строке | |
open_all | развертывать рекурсивно или только непосредственных потомков |
Возвращаемое значение
TRUE если строка существовала и имела потомков
gtk_tree_view_collapse_row ()
gboolean gtk_tree_view_collapse_row (GtkTreeView *tree_view,GtkTreePath *path);
Сворачивает строку (скрывает её дочерние строки, если они существуют).
Параметры
tree_view | ||
path | путь к строке в |
Возвращаемое значение
TRUE если строка была свёрнута.
gtk_tree_view_map_expanded_rows ()
void gtk_tree_view_map_expanded_rows (GtkTreeView *tree_view,GtkTreeViewMappingFunc func,gpointer data);
Вызывает func для всех развернутых строк.
Параметры
tree_view | ||
func | Функция, которая должна быть вызвана. | [scope call] |
data | Данные пользователя, которые должны быть переданы функции. |
gtk_tree_view_row_expanded ()
gboolean gtk_tree_view_row_expanded (GtkTreeView *tree_view,GtkTreePath *path);
Возвращает TRUE, если узел, на который указывает path, развернут в tree_view.
Параметры
tree_view | A GtkTreeView. | |
path | A GtkTreePath для проверки состояния развертывания. |
Возвращаемое значение
TRUE если path развернут.
gtk_tree_view_set_reorderable ()
void gtk_tree_view_set_reorderable (GtkTreeView *tree_view,gboolean reorderable);
Эта функция — вспомогательная функция, которая позволяет переупорядочивать модели, которые поддерживают GtkTreeDragSourceIface и GtkTreeDragDestIface. Обе GtkTreeStore и GtkListStore поддерживают эти интерфейсы. Если reorderable имеет значение TRUE, то пользователь может переупорядочивать модель путём перетаскивания строк. Разработчик может отслеживать эти изменения, подключившись к сигналам модели “row-inserted” и “row-deleted”. Переупорядочивание реализуется путём настройки представления дерева в качестве источника и цели перетаскивания. Поэтому перетаскивание не может использоваться в переупорядочиваемом представлении для других целей.
Эта функция не даёт вам никакого контроля над порядком — любое переупорядочивание допускается. Если требуется больший контроль, вам, вероятно, следует обработать перетаскивание вручную.
Параметры
tree_view | A GtkTreeView. | |
reorderable |
|
gtk_tree_view_get_reorderable ()
gboolean
gtk_tree_view_get_reorderable (GtkTreeView *tree_view); Получает, может ли пользователь переупорядочить дерево с помощью перетаскивания. См. gtk_tree_view_set_reorderable().
Параметры
tree_view |
Возвращаемое значение
TRUE если дерево может быть переупорядочено.
gtk_tree_view_get_path_at_pos ()
gboolean gtk_tree_view_get_path_at_pos (GtkTreeView *tree_view,gint x,gint y,GtkTreePath **path,GtkTreeViewColumn **column,gint *cell_x,gint *cell_y);
Находит путь в точке (x , y ), относительно координат окна bin (см. gtk_tree_view_get_bin_window()). То есть, x и y относятся к координатам события. x и y должны исходить из события в окне tree_view только там, где event->window ==
. Это в основном для таких вещей, как всплывающие меню. Если gtk_tree_view_get_bin_window()path не равно NULL, то в нём будет заполнен GtkTreePath в этой точке. Этот путь необходимо освободить с помощью gtk_tree_path_free(). Если column не равно NULL, то в нём будет указана колонка в этой точке. cell_x и cell_y возвращают координаты, относительные к фону ячейки (т.е. background_area, переданному в gtk_cell_renderer_render()). Эта функция имеет смысл только если tree_view реализован. Поэтому эта функция всегда вернёт FALSE, если tree_view не реализован или не имеет модели.
Для преобразования координат виджета (например, тех, которые вы получаете из GtkWidget::query-tooltip), см. gtk_tree_view_convert_widget_to_bin_window_coords().
Параметры
tree_view | A GtkTreeView. | |
x | Координата x для определения (относительно bin_window). | |
y | Координата y для определения (относительно bin_window). | |
path | Указатель на GtkTreePath для заполнения, или | [out][optional][nullable] |
column | Указатель на GtkTreeViewColumn для заполнения, или | [out][transfer none][optional][nullable] |
cell_x | Указатель, куда можно поместить координату X, относительную к ячейке, или | [out][optional] |
cell_y | Указатель, куда можно поместить координату Y, относительную к ячейке, или | [out][optional] |
Возвращаемое значение
TRUE, если в этих координатах существует строка.
gtk_tree_view_is_blank_at_pos ()
gboolean gtk_tree_view_is_blank_at_pos (GtkTreeView *tree_view,gint x,gint y,GtkTreePath **path,GtkTreeViewColumn **column,gint *cell_x,gint *cell_y);
Определяет, является ли точка (x, y) в tree_view пустой, то есть нет содержимого ячейки ни стрелки разворачивания в указанном месте. В таком случае местоположение можно рассматривать как фон. Возможно, вы захотите выполнить особые действия при щелчке по фону, такие как очистка текущего выделения, отображение пользовательского контекстного меню или начало резинового выделения.
Координаты x и y, которые предоставляются, должны быть относительными к координатам окна bin. То есть x и y должны быть получены из события на tree_view, где event->window == . gtk_tree_view_get_bin_window()
Для преобразования координат виджета (например, тех, которые вы получаете из GtkWidget::query-tooltip), см. gtk_tree_view_convert_widget_to_bin_window_coords().
Аргументы path, column, cell_x и cell_y будут заполнены аналогично gtk_tree_view_get_path_at_pos(). Дополнительную информацию см. в gtk_tree_view_get_path_at_pos().
Параметры
tree_view | ||
x | Положение по оси X для идентификации (относительно окна bin_window) | |
y | Положение по оси Y для идентификации (относительно окна bin_window) | |
path | Указатель на GtkTreePath для заполнения или | [out][allow-none] |
column | Указатель на GtkTreeViewColumn для заполнения или | [out][allow-none] |
cell_x | Указатель, куда можно поместить координату X, относительную к ячейке, или | [out][allow-none] |
cell_y | Указатель, куда можно поместить координату Y, относительную к ячейке, или | [out][allow-none] |
Начиная с: 3.0
gtk_tree_view_get_cell_area ()
void gtk_tree_view_get_cell_area (GtkTreeView *tree_view,GtkTreePath *path,GtkTreeViewColumn *column,GdkRectangle *rect);
Заполняет прямоугольник, определяющий границы ячейки в координатах bin_window для строки, заданной параметром path, и столбца, заданного параметром column. Если path равен NULL или указывает на путь, который в данный момент не отображается, поля y и height прямоугольника будут заполнены нулями. Если column равен NULL, поля x и width будут заполнены нулями. Суммарная площадь всех прямоугольников ячеек не покрывает весь древовидный список; например, между строками есть дополнительные пиксели.
Возвращаемый прямоугольник эквивалентен прямоугольнику cell_area, переданному в gtk_cell_renderer_render(). Эта функция допустима только если tree_view реализовано.
Параметры
tree_view | ||
path | a GtkTreePath для строки или | [allow-none] |
column | a GtkTreeViewColumn для столбца или | [allow-none] |
rect | прямоугольник, который нужно заполнить прямоугольником ячейки. | [out] |
gtk_tree_view_get_background_area ()
void gtk_tree_view_get_background_area (GtkTreeView *tree_view,GtkTreePath *path,GtkTreeViewColumn *column,GdkRectangle *rect);
Заполняет прямоугольник границ в координатах bin_window для ячейки в строке, указанной параметром path, и столбце, указанном параметром column. Если path равен NULL или указывает на узел, отсутствующий в дереве, поля y и height прямоугольника будут заполнены 0. Если column равен NULL, поля x и width будут заполнены 0. Возвращаемый прямоугольник эквивалентен прямоугольнику background_area, переданному в функцию gtk_cell_renderer_render(). Эти области фона заполняют всё окно bin. В отличие от cell_area, возвращаемого функцией gtk_tree_view_get_cell_area(), которая возвращает только саму ячейку, исключая окружающие границы и область разворачивания дерева.
Параметры
tree_view | ||
path | a GtkTreePath для строки, или | [allow-none] |
column | a GtkTreeViewColumn для столбца, или | [allow-none] |
rect | прямоугольник для заполнения прямоугольника фона ячейки. | [out] |
gtk_tree_view_get_visible_rect ()
void gtk_tree_view_get_visible_rect (GtkTreeView *tree_view,GdkRectangle *visible_rect);
Заполняет visible_rect текущей видимой областью буфера в координатах дерева. Преобразуйте в координаты bin_window с помощью gtk_tree_view_convert_tree_to_bin_window_coords(). Координаты дерева начинаются с 0,0 для 0-й строки дерева и охватывают всю область прокрутки дерева.
Параметры
tree_view | ||
visible_rect | прямоугольник для заполнения. | [out] |
gtk_tree_view_get_visible_range ()
gboolean gtk_tree_view_get_visible_range (GtkTreeView *tree_view,GtkTreePath **start_path,GtkTreePath **end_path);
Устанавливает start_path и end_path в первую и последнюю видимые строки. Обратите внимание, что между ними могут быть невидимые строки.
Пути должны быть освобождены с помощью gtk_tree_path_free() после использования.
Параметры
Возвращает
TRUE, если в start_path и end_path были помещены корректные пути.
С: 2.8
gtk_tree_view_get_bin_window ()
GdkWindow *
gtk_tree_view_get_bin_window (GtkTreeView *tree_view); Возвращает окно, в которое tree_view отрисовывает. Это используется в первую очередь для сравнения с event->window для подтверждения того, что событие на tree_view находится в нужном окне.
Параметры
tree_view |
gtk_tree_view_convert_bin_window_to_tree_coords ()
void gtk_tree_view_convert_bin_window_to_tree_coords (GtkTreeView *tree_view,gint bx,gint by,gint *tx,gint *ty);
Преобразует координаты bin_window в координаты дерева (полная область прокрутки дерева).
Параметры
tree_view | ||
bx | Координата X, относящаяся к bin_window | |
by | Координата Y, относящаяся к bin_window | |
tx | Место возврата координаты X дерева. | [out] |
ty | Место возврата координаты Y дерева. | [out] |
С: 2.12
gtk_tree_view_convert_bin_window_to_widget_coords ()
void gtk_tree_view_convert_bin_window_to_widget_coords (GtkTreeView *tree_view,gint bx,gint by,gint *wx,gint *wy);
Преобразует координаты bin_window (см. gtk_tree_view_get_bin_window()) в координаты, относительные к виджету.
Параметры
tree_view | ||
bx | координата X в окне bin_window | |
by | координата Y в окне bin_window | |
wx | место для возвращаемой координаты X, относительной к виджету. | [out] |
wy | место для возвращаемой координаты Y, относительной к виджету. | [out] |
С: 2.12
gtk_tree_view_convert_tree_to_bin_window_coords ()
void gtk_tree_view_convert_tree_to_bin_window_coords (GtkTreeView *tree_view,gint tx,gint ty,gint *bx,gint *by);
Преобразует координаты дерева (координаты в полностью прокручиваемой области дерева) в координаты bin_window.
Параметры
tree_view | ||
tx | координата X в дереве | |
ty | координата Y в дереве | |
bx | место для возвращаемой координаты X, относительной к bin_window. | [out] |
by | место для возвращаемой координаты Y, относительной к bin_window. | [out] |
С: 2.12
gtk_tree_view_convert_tree_to_widget_coords ()
void gtk_tree_view_convert_tree_to_widget_coords (GtkTreeView *tree_view,gint tx,gint ty,gint *wx,gint *wy);
Преобразует координаты дерева (координаты в полностью прокручиваемой области дерева) в координаты виджета.
Параметры
tree_view | ||
tx | координата X относительно дерева | |
ty | координата Y относительно дерева | |
wx | место для возвращаемой координаты X виджета. | [out] |
wy | место для возвращаемой координаты Y виджета. | [out] |
С: 2.12
gtk_tree_view_convert_widget_to_bin_window_coords ()
void gtk_tree_view_convert_widget_to_bin_window_coords (GtkTreeView *tree_view,gint wx,gint wy,gint *bx,gint *by);
Преобразует координаты виджета в координаты bin_window (см. gtk_tree_view_get_bin_window()).
Параметры
tree_view | ||
wx | координата X, относительная к виджету | |
wy | координата Y, относительная к виджету | |
bx | место для возвращаемой координаты X bin_window. | [out] |
by | место для возвращаемой координаты Y bin_window. | [out] |
С: 2.12
gtk_tree_view_convert_widget_to_tree_coords ()
void gtk_tree_view_convert_widget_to_tree_coords (GtkTreeView *tree_view,gint wx,gint wy,gint *tx,gint *ty);
Преобразует координаты виджета в координаты дерева (полностью прокручиваемая область дерева).
Параметры
tree_view | ||
wx | координата X, относительная к виджету | |
wy | координата Y, относительная к виджету | |
tx | место для возвращаемой координаты X дерева. | [out] |
ty | место для возвращаемой координаты Y дерева. | [out] |
С: 2.12
gtk_tree_view_enable_model_drag_dest ()
void gtk_tree_view_enable_model_drag_dest (GtkTreeView *tree_view,const GtkTargetEntry *targets,gint n_targets,GdkDragAction actions);
Превращает tree_view в целевую область для автоматического перетаскивания. Вызов этого метода устанавливает “reorderable” в значение FALSE.
Параметры
tree_view | ||
targets | таблица целевых типов, которые будет поддерживать перетаскивание. | [array length=n_targets] |
n_targets | количество элементов в | |
actions | маска возможных действий для перетаскивания из этого виджета |
gtk_tree_view_enable_model_drag_source ()
void gtk_tree_view_enable_model_drag_source (GtkTreeView *tree_view,GdkModifierType start_button_mask,const GtkTargetEntry *targets,gint n_targets,GdkDragAction actions);
Превращает tree_view в источник перетаскивания для автоматического DND. Вызов этого метода устанавливает “reorderable” в FALSE.
Параметры
tree_view | ||
start_button_mask | Маска разрешенных кнопок для начала перетаскивания | |
targets | таблица целей, которые будет поддерживать перетаскивание. | [array length=n_targets] |
n_targets | количество элементов в | |
actions | маска возможных действий для перетаскивания из этого виджета |
gtk_tree_view_unset_rows_drag_source ()
void
gtk_tree_view_unset_rows_drag_source (GtkTreeView *tree_view); Отменяет эффект gtk_tree_view_enable_model_drag_source(). Вызов этого метода устанавливает “reorderable” в FALSE.
Параметры
tree_view |
gtk_tree_view_unset_rows_drag_dest ()
void
gtk_tree_view_unset_rows_drag_dest (GtkTreeView *tree_view); Отменяет эффект gtk_tree_view_enable_model_drag_dest(). Вызов этого метода устанавливает “reorderable” в FALSE.
Параметры
tree_view |
gtk_tree_view_set_drag-dest-row ()
void gtk_tree_view_set_drag_dest_row (GtkTreeView *tree_view,GtkTreePath *path,GtkTreeViewDropPosition pos);
Устанавливает строку, которая выделяется для обратной связи. Если path равна NULL, существующее выделение удаляется.
Параметры
tree_view | ||
path | Путь к строке для выделения или | [allow-none] |
pos | Указывает, вставлять ли перед, после или внутри строки |
gtk_tree_view_get_drag-dest-row ()
void gtk_tree_view_get_drag_dest_row (GtkTreeView *tree_view,GtkTreePath **path,GtkTreeViewDropPosition *pos);
Получает информацию о строке, которая выделена для обратной связи.
gtk_tree_view_get_dest_row_at-pos ()
gboolean gtk_tree_view_get_dest_row_at_pos (GtkTreeView *tree_view,gint drag_x,gint drag_y,GtkTreePath **path,GtkTreeViewDropPosition *pos);
Определяет целевую строку для заданной позиции. drag_x и drag_y ожидаются в координатах виджета. Эта функция имеет смысл только если tree_view реализован. Поэтому эта функция всегда вернет FALSE, если tree_view не реализован или не имеет модели.
Параметры
Возвращаемое значение
является ли в данном положении строка, TRUE, если это так.
gtk_tree_view_create_row_drag_icon ()
cairo_surface_t * gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view,GtkTreePath *path);
Создаёт представление строки в path как cairo_surface_t. Этот образ используется для значка перетаскивания.
Параметры
tree_view | ||
path | a GtkTreePath в |
Возвращаемое значение
Новый выделенный образ значка перетаскивания.
[transfer full]
gtk_tree_view_set_enable_search ()
void gtk_tree_view_set_enable_search (GtkTreeView *tree_view,gboolean enable_search);
Если enable_search установлено, пользователь может вводить текст для интерактивного поиска по дереву (иногда это называется «поиск с автодополнением»).
Обратите внимание, что даже если это FALSE, пользователь всё ещё может инициировать поиск с помощью сочетания клавиш «начало интерактивного поиска».
Параметры
tree_view | ||
enable_search |
|
gtk_tree_view_get_enable_search ()
gboolean
gtk_tree_view_get_enable_search (GtkTreeView *tree_view); Возвращает, разрешено ли дереву начать интерактивный поиск, вводя текст.
Параметры
tree_view |
Возвращаемое значение
разрешено ли пользователю проводить интерактивный поиск
gtk_tree_view_get_search_column ()
gint
gtk_tree_view_get_search_column (GtkTreeView *tree_view); Возвращает столбец, по которому ищут интерактивные механизмы поиска.
Параметры
tree_view |
Возвращаемое значение
столбец, в котором ищут интерактивные механизмы поиска.
gtk_tree_view_set_search_column ()
void gtk_tree_view_set_search_column (GtkTreeView *tree_view,gint column);
Устанавливает column как столбец, в котором интерактивные механизмы поиска должны искать в текущей модели.
Если столбец поиска установлен, пользователи могут использовать сочетание клавиш «начало интерактивного поиска», чтобы открыть всплывающее окно поиска. Свойство enable-search определяет, будет ли интерактивный поиск запускаться при простом вводе текста.
Обратите внимание, что column относится к столбцу текущей модели. Столбец поиска сбрасывается до -1 при изменении модели.
Параметры
tree_view | ||
column | номер столбца модели для поиска или -1 для отключения поиска |
gtk_tree-view_get_search_equal_func ()
GtkTreeViewSearchEqualFunc
gtk_tree_view_get_search_equal_func (GtkTreeView *tree_view); Возвращает функцию сравнения, используемую в данный момент.
[skip]
Параметры
tree_view |
Возвращаемое значение
функция сравнения, используемая в данный момент для поиска.
gtk_tree_view_set-search-equal-func ()
void gtk_tree_view_set_search_equal_func (GtkTreeView *tree_view,GtkTreeViewSearchEqualFunc search_equal_func,gpointer search_user_data,GDestroyNotify search_destroy);
Устанавливает функцию сравнения для интерактивных возможностей поиска; обратите внимание, что, так же как и strcmp(), возвращающая 0 при равенстве, GtkTreeViewSearchEqualFunc возвращает FALSE при совпадении.
gtk_tree_view_get_search-entry ()
GtkEntry *
gtk_tree_view_get_search_entry (GtkTreeView *tree_view); Возвращает GtkEntry, который используется в данный момент в качестве поля ввода для интерактивного поиска tree_view. В случае использования встроенного поля, будет возвращено NULL.
Параметры
tree_view |
Возвращаемое значение
поле ввода, используемое в данный момент для поиска.
[transfer none]
С: 2.10
gtk_tree_view_set_search_entry ()
void gtk_tree_view_set_search_entry (GtkTreeView *tree_view,GtkEntry *entry);
Устанавливает поле ввода, которое будет использоваться интерактивным механизмом поиска для tree_view. Это полезно, если вы хотите предоставить поле поиска в интерфейсе в любое время в фиксированном положении. Передача NULL для entry вернёт интерактивный механизм поиска к использованию встроенного всплывающего поля ввода.
Параметры
tree_view | ||
entry | поле ввода, которое интерактивный механизм поиска | [allow-none] |
С: 2.10
GtkTreeViewSearchPositionFunc ()
void (*GtkTreeViewSearchPositionFunc) (GtkTreeView *tree_view,GtkWidget *search_dialog,gpointer user_data);
gtk_tree_view_get_search_position_func ()
GtkTreeViewSearchPositionFunc
gtk_tree_view_get_search_position_func
(GtkTreeView *tree_view); Возвращает функцию позиционирования, используемую в данный момент.
[skip]
Параметры
tree_view |
Возвращаемое значение
текущая функция позиционирования диалога поиска.
С: 2.10
gtk_tree_view_set_search_position_func ()
void gtk_tree_view_set_search_position_func (GtkTreeView *tree_view,GtkTreeViewSearchPositionFunc func,gpointer data,GDestroyNotify destroy);
Устанавливает функцию для позиционирования диалога поиска.
Параметры
С: 2.10
gtk_tree_view_get_fixed_height_mode ()
gboolean
gtk_tree_view_get_fixed_height_mode (GtkTreeView *tree_view); Возвращает, включен ли режим фиксированной высоты для tree_view .
Параметры
tree_view |
Возвращаемое значение
TRUE, если tree_view находится в режиме фиксированной высоты.
С: 2.6
gtk_tree_view_set_fixed_height_mode ()
void gtk_tree_view_set_fixed_height_mode (GtkTreeView *tree_view,gboolean enable);
Включает или выключает режим фиксированной высоты для tree_view. Режим фиксированной высоты ускоряет GtkTreeView, предполагая, что все строки имеют одинаковую высоту. Включайте этот параметр только если все строки имеют одинаковую высоту, а все столбцы имеют тип GTK_TREE_VIEW_COLUMN_FIXED.
Параметры
tree_view | ||
enable |
|
С: 2.6
gtk_tree_view_get_hover-selection ()
gboolean
gtk_tree_view_get_hover_selection (GtkTreeView *tree_view); Возвращает, включен ли режим выделения при наведении для tree_view .
Параметры
tree_view |
Возвращаемое значение
TRUE, если tree_view находится в режиме выделения при наведении.
С: 2.6
gtk_tree_view_set_hover-selection ()
void gtk_tree_view_set_hover_selection (GtkTreeView *tree_view,gboolean hover);
Включает или выключает режим выделения при наведении для tree_view. Режим выделения при наведении позволяет выделенной строке следовать за указателем. В настоящее время это работает только для режимов выделения GTK_SELECTION_SINGLE и GTK_SELECTION_BROWSE.
Параметры
tree_view | ||
hover |
|
С: 2.6
gtk_tree_view_get_hover-expand ()
gboolean
gtk_tree_view_get_hover_expand (GtkTreeView *tree_view); Возвращает, включен ли режим раскрытия при наведении для tree_view .
Параметры
tree_view |
Возвращаемое значение
TRUE, если tree_view находится в режиме раскрытия при наведении.
С: 2.6
gtk_tree_view_set_hover-expand ()
void gtk_tree_view_set_hover_expand (GtkTreeView *tree_view,gboolean expand);
Включает или выключает режим раскрытия при наведении для tree_view. Режим раскрытия при наведении позволяет строкам раскрываться или сворачиваться при перемещении указателя по ним.
Параметры
tree_view | ||
expand |
|
С: 2.6
GtkTreeDestroyCountFunc ()
void (*GtkTreeDestroyCountFunc) (GtkTreeView *tree_view,GtkTreePath *path,gint children,gpointer user_data);
gtk_tree_view_set_destroy_count_func ()
void gtk_tree_view_set_destroy_count_func (GtkTreeView *tree_view,GtkTreeDestroyCountFunc func,gpointer data,GDestroyNotify destroy);
gtk_tree_view_set_destroy_count_func устарел начиная с версии 3.4 и не должен использоваться в новых кодах.
Доступность больше не нуждается в этой функции.
Эту функцию почти никогда не следует использовать. Она предназначена для внутреннего использования ATK для определения количества видимых дочерних элементов, которые удаляются, когда пользователь сворачивает строку или строка удаляется.
GtkTreeViewRowSeparatorFunc ()
gboolean (*GtkTreeViewRowSeparatorFunc) (GtkTreeModel *model,GtkTreeIter *iter,gpointer data);
Тип функции для определения, следует ли отображать строку, на которую указывает iter, как разделитель. Общий способ реализации — наличие логического столбца в модели, значения которого функция GtkTreeViewRowSeparatorFunc возвращает.
Параметры
model | модель GtkTreeModel | |
iter | GtkTreeIter, указывающий на строку в | |
data | данные пользователя. | [closure] |
Возвращаемое значение
TRUE, если строка является разделителем
gtk_tree_view_get_row_separator_func ()
GtkTreeViewRowSeparatorFunc
gtk_tree_view_get_row_separator_func (GtkTreeView *tree_view); Возвращает текущую функцию разделения строк.
[skip]
Параметры
tree_view |
Возвращаемое значение
текущая функция разделения строк.
С версии: 2.6
gtk_tree_view_set_row_separator_func ()
void gtk_tree_view_set_row_separator_func (GtkTreeView *tree_view,GtkTreeViewRowSeparatorFunc func,gpointer data,GDestroyNotify destroy);
Устанавливает функцию разделения строк, используемую для определения, должна ли строка отображаться как разделитель. Если функция разделения строк равна NULL, разделители не выводятся. Это значение по умолчанию.
Параметры
С версии: 2.6
gtk_tree_view_get_rubber_banding ()
gboolean
gtk_tree_view_get_rubber_banding (GtkTreeView *tree_view); Возвращает, включена ли резиновая полоса для tree_view. Если режим выбора — GTK_SELECTION_MULTIPLE, резиновая полоса позволит пользователю выделять несколько строк, перетаскивая мышь.
Параметры
tree_view |
Возвращаемое значение
TRUE, если резиновая полоса в tree_view включена.
С версии: 2.10
gtk_tree_view_set_rubber_banding ()
void gtk_tree_view_set_rubber_banding (GtkTreeView *tree_view,gboolean enable);
Включает или отключает резиновую полосу в tree_view. Если режим выбора — GTK_SELECTION_MULTIPLE, резиновая полоса позволит пользователю выделять несколько строк, перетаскивая мышь.
Параметры
tree_view | ||
enable |
|
С версии: 2.10
gtk_tree_view_is_rubber_banding_active ()
gboolean
gtk_tree_view_is_rubber_banding_active
(GtkTreeView *tree_view); Возвращает, выполняется ли в данный момент операция резиновой полосы в tree_view.
Параметры
tree_view |
Возвращаемое значение
TRUE, если в tree_view в данный момент выполняется операция резиновой полосы.
С версии: 2.12
gtk_tree_view_get_enable_tree_lines ()
gboolean
gtk_tree_view_get_enable_tree_lines (GtkTreeView *tree_view); Возвращает, включены ли линии дерева в tree_view.
Параметры
tree_view |
С версии: 2.10
gtk_tree_view_set_enable_tree_lines ()
void gtk_tree_view_set_enable_tree_lines (GtkTreeView *tree_view,gboolean enabled);
Устанавливает, нужно ли рисовать линии, соединяющие раскрывающие значки в tree_view. Для списков это не оказывает видимого эффекта.
С версии: 2.10
gtk_tree_view_get_grid_lines ()
GtkTreeViewGridLines
gtk_tree_view_get_grid_lines (GtkTreeView *tree_view); Возвращает, какие линии сетки включены в tree_view.
Параметры
tree_view |
Возвращаемое значение
значение GtkTreeViewGridLines, указывающее, какие линии сетки включены.
С версии: 2.10
gtk_tree_view_set_grid_lines ()
void gtk_tree_view_set_grid_lines (GtkTreeView *tree_view,GtkTreeViewGridLines grid_lines);
Устанавливает, какие линии сетки рисовать в tree_view.
Параметры
tree_view | ||
grid_lines | значение GtkTreeViewGridLines, указывающее, какие линии сетки включить. |
С: 2.10
gtk_tree_view_set_tooltip_row ()
void gtk_tree_view_set_tooltip_row (GtkTreeView *tree_view,GtkTooltip *tooltip,GtkTreePath *path);
Устанавливает область подсказки для tooltip в область, занимаемую строкой по адресу path. См. также gtk_tree_view_set_tooltip_column() для более простого варианта. См. также gtk_tooltip_set_tip_area().
Параметры
tree_view | ||
tooltip | ||
path |
С: 2.12
gtk_tree_view_set_tooltip_cell ()
void gtk_tree_view_set_tooltip_cell (GtkTreeView *tree_view,GtkTooltip *tooltip,GtkTreePath *path,GtkTreeViewColumn *column,GtkCellRenderer *cell);
Устанавливает область подсказки для tooltip в область пересечения path, column и cell. Например, если path равно NULL, а column задано, область подсказки будет установлена в полную область, занимаемую column. См. также gtk_tooltip_set_tip_area().
Обратите внимание, что если path не указано, а cell задано и является частью столбца, содержащего раскрывающийся элемент, подсказка может не отображаться или скрываться в правильном положении. В таких случаях path должно быть установлено на текущий узел под курсором мыши, чтобы эта функция работала правильно.
См. также gtk_tree_view_set_tooltip_column() для более простого варианта.
Параметры
tree_view | ||
tooltip | ||
path | a GtkTreePath или | [allow-none] |
column | a GtkTreeViewColumn или | [allow-none] |
cell | a GtkCellRenderer или | [allow-none] |
С: 2.12
gtk_tree_view_get_tooltip_context ()
gboolean gtk_tree_view_get_tooltip_context (GtkTreeView *tree_view,gint *x,gint *y,gboolean keyboard_tip,GtkTreeModel **model,GtkTreePath **path,GtkTreeIter *iter);
Эта функция должна использоваться в обработчике сигнала “query-tooltip” для GtkTreeView. Значения x, y и keyboard_tip, полученные в обработчике сигнала, должны быть переданы в эту функцию без изменений.
Возвращаемое значение указывает, существует ли строка в дереве по заданным координатам (TRUE) или нет (FALSE) для всплывающих подсказок мыши. Для всплывающих подсказок клавиатуры возвращаемая строка будет строкой курсора. Если TRUE, любые из model, path и iter, которые были предоставлены, будут установлены для указания на эту строку и соответствующую модель. x и y всегда будут преобразованы в относительные значения к области вывода tree_view, если keyboard_tooltip равно FALSE.
Параметры
tree_view | ||
x | координата x (относительно координат виджета). | [inout] |
y | координата y (относительно координат виджета). | [inout] |
keyboard_tip | является ли это всплывающей подсказкой клавиатуры | |
model | указатель для получения GtkTreeModel или | [out][optional][nullable][transfer none] |
path | указатель для получения GtkTreePath или | [out][optional] |
iter | указатель для получения GtkTreeIter или | [out][optional] |
Возвращает
указывает, указывает ли данный контекст подсказки на строку.
С: 2.12
gtk_tree_view_get_tooltip_column ()
gint
gtk_tree_view_get_tooltip_column (GtkTreeView *tree_view); Возвращает столбец модели tree_view, используемый для отображения всплывающих подсказок для строк tree_view.
Параметры
tree_view |
Возвращаемое значение
индекс столбца подсказки, который используется в данный момент, или -1, если эта функция отключена.
С версии: 2.12
gtk_tree_view_set_tooltip_column ()
void gtk_tree_view_set_tooltip_column (GtkTreeView *tree_view,gint column);
Если вы планируете использовать простые (только текст) всплывающие подсказки для целых строк, вы можете использовать эту функцию, чтобы GtkTreeView обрабатывал их автоматически. column должен быть установлен на столбец в модели tree_view, содержащий текст подсказок, или -1 для отключения этой функции.
При включении, “has-tooltip” будет установлен в значение TRUE, и tree_view будет подключен обработчик сигнала “query-tooltip”.
Обратите внимание, что обработчик сигнала устанавливает текст с помощью gtk_tooltip_set_markup(), поэтому символы &, < и т.д. необходимо экранировать в тексте.
Параметры
tree_view | ||
column | целое число, представляющее допустимый номер столбца для модели |
С версии: 2.12
Типы и значения
struct GtkTreeView
struct GtkTreeView;
перечисление GtkTreeViewDropPosition
Перечисление для определения места вставки перемещаемой строки.
Члены
GTK_TREE_VIEW_DROP_BEFORE | строка вставляется перед существующей | |
GTK_TREE_VIEW_DROP_AFTER | строка вставляется после существующей | |
GTK_TREE_VIEW_DROP_INTO_OR_BEFORE | строка становится дочерней или вставляется перед существующей | |
GTK_TREE_VIEW_DROP_INTO_OR_AFTER | строка становится дочерней или вставляется после существующей |
GtkTreeViewPrivate
typedef struct _GtkTreeViewPrivate GtkTreeViewPrivate;
перечисление GtkTreeViewGridLines
Используется для указания отображаемых линий сетки в представлении дерева.
Члены
GTK_TREE_VIEW_GRID_LINES_NONE | Линии сетки не отображаются. | |
GTK_TREE_VIEW_GRID_LINES_HORIZONTAL | Горизонтальные линии сетки. | |
GTK_TREE_VIEW_GRID_LINES_VERTICAL | Вертикальные линии сетки. | |
GTK_TREE_VIEW_GRID_LINES_BOTH | Горизонтальные и вертикальные линии сетки. |
Подробное описание свойств
Свойство “activate-on-single-click”
“activate-on-single-click” gboolean
Свойство activate-on-single-click указывает, будет ли генерироваться сигнал "row-activated" после одного щелчка.
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С версии: 3.8
Свойство “enable-grid-lines”
“enable-grid-lines” GtkTreeViewGridLines
Определяет, будут ли отображаться линии сетки в дереве.
Флаги: Чтение / Запись
Значение по умолчанию: GTK_TREE_VIEW_GRID_LINES_NONE
Свойство “enable-search”
“enable-search” gboolean
Просмотр позволяет пользователю выполнять поиск по столбцам интерактивно.
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “enable-tree-lines”
“enable-tree-lines” gboolean
Определяет, будут ли отображаться линии дерева в представлении дерева.
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “expander-column”
“expander-column” GtkTreeViewColumn *
Устанавливает столбец для столбца расширения.
Флаги: Чтение / Запись
Свойство “fixed-height-mode”
“fixed-height-mode” gboolean
Установка свойства ::fixed-height-mode в TRUE ускоряет GtkTreeView, предполагая, что все строки имеют одинаковую высоту. Включайте этот параметр только если все строки имеют одинаковую высоту. Дополнительную информацию об этом параметре см. в gtk_tree_view_set_fixed_height_mode().
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С версии: 2.4
Свойство “headers-clickable”
“headers-clickable” gboolean
Заголовки столбцов реагируют на события щелчка.
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “headers-visible”
“headers-visible” gboolean
Отобразить кнопки заголовка столбца.
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “hover-expand”
“hover-expand” gboolean
Включает или выключает режим расширения при наведении на tree_view . При расширении при наведении строки расширяются или сворачиваются при перемещении указателя мыши по ним.
Этот режим предназначен в первую очередь для treeview в всплывающих окнах, например, в GtkComboBox или GtkEntryCompletion.
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С версии: 2.6
Свойство “hover-selection”
“hover-selection” gboolean
Включает или выключает режим выделения при наведении на tree_view . При выделении при наведении выделенная строка следует за указателем. В настоящее время это работает только для режимов выделения GTK_SELECTION_SINGLE и GTK_SELECTION_BROWSE.
Этот режим предназначен в первую очередь для treeview в всплывающих окнах, например, в GtkComboBox или GtkEntryCompletion.
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С версии: 2.6
Свойство “level-indentation”
“level-indentation” gint
Дополнительный отступ для каждого уровня.
Флаги: Чтение / Запись
Допустимые значения: >= 0
Значение по умолчанию: 0
С версии: 2.12
Свойство “reorderable”
“reorderable” gboolean
Представление можно переупорядочивать.
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “rubber-banding”
“rubber-banding” gboolean
Включить или выключить выделение нескольких элементов при перетаскивании указателя мыши.
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “rules-hint”
“rules-hint” gboolean
Устанавливает подсказку для темы, чтобы рисовать строки в чередующихся цветах.
GtkTreeView:rules-hint устарело с версии 3.14 и не должно использоваться в новом коде.
Тема отвечает за отрисовку строк с использованием чередования цветов
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “search-column”
“search-column” gint
Столбец модели, по которому выполняется поиск во время интерактивного поиска.
Флаги: Чтение / Запись
Допустимые значения: >= -1
Значение по умолчанию: -1
Свойство “show-expanders”
“show-expanders” gboolean
TRUE если представление содержит расширители.
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
С версии: 2.12
Свойство “tooltip-column”
“tooltip-column” gint
Столбец в модели, содержащий тексты подсказок для строк.
Флаги: Чтение / Запись
Допустимые значения: >= -1
Значение по умолчанию: -1
Подробное описание свойств стиля
Свойство стиля “allow-rules”
“allow-rules” gboolean
Разрешить рисование строк в чередующихся цветах.
Флаги: Чтение
Значение по умолчанию: TRUE
Свойство стиля “expander-size”
“expander-size” gint
Размер стрелки расширителя.
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 14
Свойство стиля “grid-line-pattern”
“grid-line-pattern” gchar *
Шаблон штриховки, используемый для отрисовки линий сетки.
Флаги: Чтение
Значение по умолчанию: "\001\001"
Свойство стиля “grid-line-width”
“grid-line-width” gint
Ширина, в пикселях, линий сетки.
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 1
Свойство стиля “horizontal-separator”
“horizontal-separator” gint
Горизонтальное пространство между ячейками. Должно быть чётным числом.
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 2
Свойство стиля “indent-expanders”
“indent-expanders” gboolean
Вставить расширители.
Флаги: Чтение
Значение по умолчанию: TRUE
Свойство стиля “tree-line-pattern”
“tree-line-pattern” gchar *
Шаблон штриховки, используемый для отрисовки линий дерева.
Флаги: Чтение
Значение по умолчанию: "\001\001"
Свойство стиля “tree-line-width”
“tree-line-width” gint
Ширина, в пикселях, линий дерева.
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 1
Свойство стиля “vertical-separator”
“vertical-separator” gint
Вертикальное пространство между ячейками. Должно быть чётным числом.
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 2
Подробности сигналов
Сигнал “columns-changed”
void user_function (GtkTreeView *tree_view, gpointer user_data)
Изменилось количество столбцов в таблице.
Параметры
tree_view | объект, на котором генерируется сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Run Last
Сигнал “cursor-changed”
void user_function (GtkTreeView *tree_view, gpointer user_data)
Изменилось положение курсора (выделенной ячейки).
Параметры
tree_view | объект, на котором генерируется сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Run Last
Сигнал “expand-collapse-cursor-row”
gboolean user_function (GtkTreeView *treeview, gboolean arg1, gboolean arg2, gboolean arg3, gpointer user_data)
Флаги: Действие
Сигнал “move-cursor”
gboolean user_function (GtkTreeView *tree_view, GtkMovementStep step, gint direction, gpointer user_data)
Сигнал “move-cursor” — это сигнал для привязки клавиш, который генерируется при нажатии пользователем клавиш управления курсором.
Приложения не должны подключаться к нему, но могут генерировать его с помощью g_signal_emit_by_name(), если им нужно программно управлять курсором. В отличие от gtk_tree_view_set_cursor() и gtk_tree_view_set_cursor_on_cell(), при горизонтальном перемещении сигнала “move-cursor” не сбрасывает текущий выбор.
Параметры
tree_view | объект, на котором генерируется сигнал. | |
step | размер шага перемещения, как GtkMovementStep. | |
direction | направление перемещения: +1 для перемещения вперед; -1 для перемещения назад. Результат перемещения неопределен для всех остальных значений. | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “row-activated”
void user_function (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data)
Сигнал "row-activated" генерируется, когда вызывается метод gtk_tree_view_row_activated(), когда пользователь дважды щелкает строку в дереве с установленным свойством "activate-on-single-click" в FALSE, или когда пользователь один раз щелкает строку, когда свойство "activate-on-single-click" установлено в TRUE. Также он генерируется при выборе нередактируемой строки и нажатии одной из клавиш: пробел, Shift+пробел, Enter или Return.
Для обработки выбора см. концептуальный обзор виджетов дерева, а также GtkTreeSelection.
Параметры
tree_view | объект, на котором генерируется сигнал | |
path | путь GtkTreePath для активированной строки | |
column | GtkTreeViewColumn, в котором произошла активация | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “row-collapsed”
void user_function (GtkTreeView *tree_view, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data)
Данная строка была свернута (подчиненные узлы скрыты).
Параметры
tree_view | объект, на котором генерируется сигнал | |
iter | итератор дерева свернутой строки | |
path | путь к строке в дереве | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Run Last
Сигнал “row-expanded”
void user_function (GtkTreeView *tree_view, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data)
Данная строка была развернута (подчиненные узлы отображены).
Параметры
tree_view | объект, на котором генерируется сигнал | |
iter | итератор дерева развернутой строки | |
path | путь к строке в дереве | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Run Last
Сигнал “select-all”
gboolean user_function (GtkTreeView *treeview, gpointer user_data)
Флаги: Действие
Сигнал “select-cursor-parent”
gboolean user_function (GtkTreeView *treeview, gpointer user_data)
Флаги: Действие
Сигнал “select-cursor-row”
gboolean user_function (GtkTreeView *treeview, gboolean arg1, gpointer user_data)
Флаги: Действие
Сигнал “start-interactive-search”
gboolean user_function (GtkTreeView *treeview, gpointer user_data)
Флаги: Действие
Сигнал “test-collapse-row”
gboolean user_function (GtkTreeView *tree_view, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data)
Данная строка собирается для сворачивания (скрыть её дочерние узлы). Используйте этот сигнал, если вам нужно контролировать возможность сворачивания отдельных строк.
Параметры
tree_view | объект, на котором генерируется сигнал | |
iter | итератор дерева для строки, которую нужно свернуть | |
path | путь в дереве, указывающий на строку | |
user_data | пользовательские данные, заданные при подключении обработчика сигнала. |
Флаги: Run Last
Сигнал “test-expand-row”
gboolean user_function (GtkTreeView *tree_view, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data)
Данная строка собирается для раскрытия (отобразить её дочерние узлы). Используйте этот сигнал, если вам нужно контролировать возможность раскрытия отдельных строк.
Параметры
tree_view | объект, на котором генерируется сигнал | |
iter | итератор дерева для строки, которую нужно раскрыть | |
path | путь в дереве, указывающий на строку | |
user_data | пользовательские данные, заданные при подключении обработчика сигнала. |
Флаги: Run Last
Сигнал “toggle-cursor-row”
gboolean user_function (GtkTreeView *treeview, gpointer user_data)
Флаги: Action
Сигнал “unselect-all”
gboolean user_function (GtkTreeView *treeview, gpointer user_data)
Флаги: Action
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.20/GtkTreeView.html