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 | Чтение |
Сигналы
Типы и значения
| struct | 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 означает, что эта функция отключена.
С: 2.12
gtk_tree_view_get_show_expanders ()
gboolean
gtk_tree_view_get_show_expanders (GtkTreeView *tree_view); Возвращает, отображаются ли раскрывающие значки в tree_view.
Параметры
tree_view | a GtkTreeView. |
С: 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 | величина дополнительного отступа в |
С: 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(). Для списков это не имеет видимого эффекта.
Параметры
С: 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 |
Возвращаемое значение
Виджет GtkTreeModel, или NULL, если модель не используется.
[transfer none][nullable]
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 | A GtkTreeView. | |
headers_visible |
|
gtk_tree_view_columns_autosize ()
void
gtk_tree_view_columns_autosize (GtkTreeView *tree_view); Изменяет ширину всех столбцов на оптимальную. Работает только после отрисовки виджета.
Параметры
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», то у нового столбца свойство sizing будет установлено как 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», то у нового столбца свойство «sizing» будет установлено как 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
С: 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. |
Возвращаемое значение
The 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 | Перемещаемый 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, или | [allow-none] |
focus_cell | A GtkCellRenderer, или | [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_window (см. 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_window. То есть, 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 | GtkTreePath для строки, или | [allow-none] |
column | 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);
Заполняет прямоугольник границ в координатах окна ячейки для строки, указанной path, и столбца, указанного column. Если path равен NULL или указывает на узел, не найденный в дереве, поля y и height прямоугольника будут заполнены 0. Если column равен NULL, поля x и width будут заполнены 0. Возвращаемый прямоугольник эквивалентен background_area, переданному в gtk_cell_renderer_render(). Эти области фона заполняют всё окно ячейки. В отличие от 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 текущей видимой областью буфера в координатах дерева. Преобразуйте в координаты окна ячейки с помощью 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);
Преобразует координаты окна ячейки в координаты дерева (полной прокручиваемой области дерева).
Параметры
tree_view | ||
bx | Координата X относительно окна ячейки | |
by | Координата Y относительно окна ячейки | |
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 в целевой элемент для автоматического перетаскивания (DND). Вызов этого метода устанавливает “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 | объект GtkTreeView |
Возвращаемое значение
текущая функция разделителя строк.
С версии: 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, разделители не выводятся. Это значение по умолчанию.
Параметры
tree_view | объект GtkTreeView | |
func | функция GtkTreeViewRowSeparatorFunc. | [allow-none] |
data | данные пользователя для передачи в | [allow-none] |
destroy | указатель для уничтожения | [allow-none] |
С версии: 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 | объект GtkTreeView |
Возвращаемое значение
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 | объект GtkTreeView | |
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 | объект GtkTreeView |
Возвращаемое значение
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 | объект GtkTreeView. |
С версии: 2.10
gtk_tree_view_set_enable_tree_lines ()
void gtk_tree_view_set_enable_tree_lines (GtkTreeView *tree_view,gboolean enabled);
Устанавливает, отображать ли линии, соединяющие раскрывающие элементы в tree_view. Для списков это не имеет видимого эффекта.
Параметры
tree_view | объект GtkTreeView | |
enabled |
|
С версии: 2.10
gtk_tree_view_get_grid_lines ()
GtkTreeViewGridLines
gtk_tree_view_get_grid_lines (GtkTreeView *tree_view); Возвращает, какие линии сетки включены в tree_view.
Параметры
tree_view | объект GtkTreeView |
Возвращаемое значение
значение 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`s bin_window, если 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 . Режим раскрытия при наведении делает строки раскрывающимися или сворачивающимися, когда курсор перемещается по ним.
Этот режим предназначен в основном для treeviews в всплывающих окнах, например, в GtkComboBox или GtkEntryCompletion.
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С версии: 2.6
Свойство “hover-selection”
“hover-selection” gboolean
Включает или отключает режим выбора при наведении курсора для tree_view . Режим выбора при наведении курсора перемещает выделенную строку вслед за курсором. В настоящее время это работает только для режимов выбора GTK_SELECTION_SINGLE и GTK_SELECTION_BROWSE.
Этот режим предназначен в основном для treeviews в всплывающих окнах, например, в 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
Свойство стиля “even-row-color”
“even-row-color” GdkColor *
Цвет для использования для чётных строк.
Флаги: Только чтение
Свойство стиля “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
Свойство стиля “odd-row-color”
“odd-row-color” GdkColor *
Цвет для использования для нечётных строк.
Флаги: Только чтение
Свойство стиля “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)
Количество столбцов виджета GtkTreeView изменилось.
Параметры
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)
Флаги: Action
Сигнал “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 | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Action
Сигнал “row-activated”
void user_function (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data)
Сигнал "row-activated" испускается, когда вызывается метод gtk_tree_view_row_activated(), когда пользователь дважды щелкает строку в GtkTreeView с установленным свойством "activate-on-single-click" в FALSE, или когда пользователь один раз щелкает строку, когда свойство "activate-on-single-click" установлено в TRUE. Также он испускается, когда нередактируемая строка выделена, и нажата одна из клавиш: Пробел, Shift+Пробел, Возврат или Enter.
Для обработки выделения обратитесь к обзорной статье по виджетам дерева а также к GtkTreeSelection.
Параметры
tree_view | объект, на котором испускается сигнал | |
path | GtkTreePath для активированной строки | |
column | GtkTreeViewColumn, в котором произошло активация | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Action
Сигнал “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)
Флаги: Action
Сигнал “select-cursor-parent”
gboolean user_function (GtkTreeView *treeview, gpointer user_data)
Флаги: Action
Сигнал “select-cursor-row”
gboolean user_function (GtkTreeView *treeview, gboolean arg1, gpointer user_data)
Флаги: Action
Сигнал “start-interactive-search”
gboolean user_function (GtkTreeView *treeview, gpointer user_data)
Флаги: Action
Сигнал “test-collapse-row”
gboolean user_function (GtkTreeView *tree_view, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data)
Данная строка собирается для сворачивания (скрытия дочерних узлов). Используйте этот сигнал, если вам нужно контролировать возможность сворачивания отдельных строк.
Параметры
tree_view | объект, на котором генерируется сигнал | |
iter | итератор дерева для строки, которую нужно свернуть | |
path | путь в дереве, указывающий на строку | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Выполнить последним
Сигнал “test-expand-row”
gboolean user_function (GtkTreeView *tree_view, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data)
Данная строка собирается для разворачивания (отображение её дочерних узлов). Используйте этот сигнал, если вам нужно контролировать возможность разворачивания отдельных строк.
Параметры
tree_view | объект, на котором генерируется сигнал | |
iter | итератор дерева для строки, которую нужно развернуть | |
path | путь в дереве, указывающий на строку | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Выполнить последним
Сигнал “toggle-cursor-row”
gboolean user_function (GtkTreeView *treeview, gpointer user_data)
Флаги: Действие
Сигнал “unselect-all”
gboolean user_function (GtkTreeView *treeview, gpointer user_data)
Флаги: Действие
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.22/GtkTreeView.html