GtkTreeView
GtkTreeView — Виджет для отображения деревьев и списков
Функции
| void | gtk_tree_view_set_tooltip_cell () |
| gboolean | gtk_tree_view_get_tooltip_context () |
| int | gtk_tree_view_get_tooltip_column () |
| void | gtk_tree_view_set_tooltip_column () |
Свойства
| gboolean | activate-on-single-click | Чтение / Запись |
| GtkTreeViewGridLines | enable-grid-lines | Чтение / Запись |
| gboolean | enable-search | Чтение / Запись |
| gboolean | enable-tree-lines | Чтение / Запись |
| GtkTreeViewColumn * | expander-column | Чтение / Запись |
| gboolean | fixed-height-mode | Чтение / Запись |
| gboolean | headers-clickable | Чтение / Запись |
| gboolean | headers-visible | Чтение / Запись |
| gboolean | hover-expand | Чтение / Запись |
| gboolean | hover-selection | Чтение / Запись |
| int | level-indentation | Чтение / Запись |
| GtkTreeModel * | model | Чтение / Запись |
| gboolean | reorderable | Чтение / Запись |
| gboolean | rubber-banding | Чтение / Запись |
| int | search-column | Чтение / Запись |
| gboolean | show-expanders | Чтение / Запись |
| int | tooltip-column | Чтение / Запись |
Сигналы
| void | columns-changed | Выполнить последним |
| void | cursor-changed | Выполнить последним |
| gboolean | expand-collapse-cursor-row | Действие |
| gboolean | move-cursor | Действие |
| void | row-activated | Действие |
| void | row-collapsed | Выполнить последним |
| void | row-expanded | Выполнить последним |
| gboolean | select-all | Действие |
| gboolean | select-cursor-parent | Действие |
| gboolean | select-cursor-row | Действие |
| gboolean | start-interactive-search | Действие |
| gboolean | test-collapse-row | Выполнить последним |
| gboolean | test-expand-row | Выполнить последним |
| gboolean | toggle-cursor-row | Действие |
| gboolean | unselect-all | Действие |
Типы и Значения
| struct | GtkTreeView |
| enum | GtkTreeViewDropPosition |
| enum | GtkTreeViewGridLines |
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkTreeView
Реализованные интерфейсы
GtkTreeView реализует GtkAccessible, GtkBuildable, GtkConstraintTarget и 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.
Для определения позиции целевого объекта при перетаскивании используется поднод с именем dndtarget.
Функции
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,int column,const char *key,GtkTreeIter *iter,gpointer search_data);
Функция для проверки, соответствует ли строка в model строке поиска, введённой пользователем. Обратите внимание, что возвращаемое значение инвертировано по сравнению с ожидаемым, хотя оно имеет некоторое сходство с strcmp() , возвращающим 0 для равных строк.
Параметры
model | используемая GtkTreeModel | |
column | столбец поиска, установленный с помощью | |
key | строка ключа для сравнения | |
iter | a GtkTreeIter указывающий на строку | |
search_data | данные пользователя из | [closure] |
Возвращаемое значение
FALSE , если строка соответствует, TRUE в противном случае.
gtk_tree_view_new ()
GtkWidget *
gtk_tree_view_new (void); Создаёт новый виджет GtkTreeView.
Возвращаемое значение
Созданный виджет GtkTreeView.
gtk_tree_view_get_level_indentation ()
int
gtk_tree_view_get_level_indentation (GtkTreeView *tree_view); Возвращает величину, в пикселях, дополнительного отступа для дочерних уровней в tree_view .
Параметры
tree_view | a GtkTreeView. |
Возвращаемое значение
Величину дополнительного отступа для дочерних уровней в tree_view . Значение 0 означает, что эта функция отключена.
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 в противном случае.
gtk_tree_view_set_level_indentation ()
void gtk_tree_view_set_level_indentation (GtkTreeView *tree_view,int indentation);
Устанавливает величину дополнительного отступа для дочерних уровней для использования в tree_view в дополнение к стандартному отступу. Значение должно быть указано в пикселях; значение 0 отключает эту функцию и используется только стандартный отступ. Для списков это не имеет видимого эффекта.
Параметры
tree_view | ||
indentation | величина, в пикселях, дополнительного отступа в |
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(). Для списков это не имеет видимого эффекта.
Параметры
tree_view | ||
enabled |
|
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 |
Возвращаемое значение
A 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 | A GtkTreeView. | |
model | Модель. | [allow-none] |
gtk_tree_view_get_selection ()
GtkTreeSelection *
gtk_tree_view_get_selection (GtkTreeView *tree_view); Получает связанный с tree_view GtkTreeSelection.
Параметры
tree_view | A GtkTreeView. |
gtk_tree_view_get_headers_visible ()
gboolean
gtk_tree_view_get_headers_visible (GtkTreeView *tree_view); Возвращает TRUE, если заголовки на tree_view видны.
Параметры
tree_view | A 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); Изменяет ширину всех столбцов на оптимальную. Работает только после реализации виджета 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. |
Возвращаемое значение
TRUE если все столбцы заголовков кликабельны, иначе FALSE
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_activate_on_single-click ()
void gtk_tree_view_set_activate_on_single_click (GtkTreeView *tree_view,gboolean single);
Приводит к тому, что сигнал “row-activated” будет испускаться при одном нажатии, а не двойном.
Параметры
tree_view | ||
single |
|
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 будет испускаться при одном клике
gtk_tree_view_append_column ()
int 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 ()
int 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 ()
int gtk_tree_view_insert_column (GtkTreeView *tree_view,GtkTreeViewColumn *column,int 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 ()
int gtk_tree_view_insert_column_with_attributes (GtkTreeView *tree_view,int position,const char *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 ()
int gtk_tree_view_insert_column_with_data_func (GtkTreeView *tree_view,int position,const char *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
gtk_tree_view_get_column ()
GtkTreeViewColumn * gtk_tree_view_get_column (GtkTreeView *tree_view,int 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 s.
[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 | The 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 |
| [nullable] |
gtk_tree_view_get_expander_column ()
GtkTreeViewColumn *
gtk_tree_view_get_expander_column (GtkTreeView *tree_view); Возвращает столбец, являющийся текущим столбцом раскрытия, или NULL , если он не был установлен. В этом столбце отображается стрелка раскрытия.
Параметры
tree_view |
Возвращаемое значение
Столбец раскрытия.
[transfer none][nullable]
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 | Данные пользователя, передаваемые в | [closure] |
destroy | Уведомление об уничтожении для | [allow-none] |
gtk_tree_view_scroll_to_point ()
void gtk_tree_view_scroll_to_point (GtkTreeView *tree_view,int tree_x,int 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,float row_align,float 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 |
|
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(), когда вы закончите с ним.
Параметры
tree_view | ||
path | Указатель, который будет заполнен текущим путём курсора, или | [out][transfer full][optional][nullable] |
focus_column | Указатель, который будет заполнен текущим столбцом фокуса, или | [out][transfer none][optional][nullable] |
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 | путь к строке. |
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,int x,int y,GtkTreePath **path,GtkTreeViewColumn **column,int *cell_x,int *cell_y);
Находит путь в точке (x , y ), относительно координат окна bin_window. То есть, x и y относятся к координатам событий. Координаты, относительные к виджету, необходимо преобразовать с помощью gtk_tree_view_convert_widget_to_bin_window_coords(). Это в основном используется для всплывающих меню. Если 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,int x,int y,GtkTreePath **path,GtkTreeViewColumn **column,int *cell_x,int *cell_y);
Определяет, пуста ли точка (x , y ) в tree_view, т. е. в данной позиции нет содержимого ячейки и стрелки разворачивания. В этом случае позицию можно считать фоном. Возможно, вам захочется принять особые меры при нажатии на фон, например, очистить текущий выбор, иметь пользовательское контекстное меню или начать резиновое растягивание.
Координаты x и y должны быть относительными к координатам окна bin_window. Координаты, относительные к виджету, необходимо преобразовать с помощью gtk_tree_view_convert_widget_to_bin_window_coords().
Для преобразования координат виджета (например, тех, которые вы получаете из 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][optional][nullable] |
column | Указатель на GtkTreeViewColumn указатель для заполнения, или | [out][transfer none][optional][nullable] |
cell_x | Указатель, куда можно поместить координату X, относительную к ячейке, или | [out][optional] |
cell_y | Указатель, куда можно поместить координату Y, относительную к ячейке, или | [out][optional] |
Возвращаемое значение
TRUE если область в заданных координатах пустая, FALSE в противном случае.
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 прямоугольника будут заполнены значением 0. Если column имеет значение NULL, поля x и width будут заполнены значением 0. Сумма всех прямоугольников ячеек не покрывает весь дерево; между строками есть дополнительные пиксели, например. Возвращаемый прямоугольник эквивалентен прямоугольнику cell_area, переданному в функцию gtk_cell_renderer_render(). Эта функция допустима только если tree_view реализовано.
Параметры
tree_view | объект GtkTreeView | |
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);
Заполняет прямоугольник ограничивающей рамки в координатах bin_window для ячейки в строке, указанной параметром path, и столбце, указанном параметром column. Если path имеет значение NULL, или указывает на узел, который не найден в дереве, поля y и height прямоугольника будут заполнены значением 0. Если column имеет значение NULL, поля x и width будут заполнены значением 0. Возвращаемый прямоугольник эквивалентен прямоугольнику background_area, переданному в функцию gtk_cell_renderer_render(). Эти области фона заполняют всю область bin_window. В отличие от cell_area, возвращаемого функцией gtk_tree_view_get_cell_area(), которая возвращает только саму ячейку, исключая окружающие границы и область расширения дерева.
Параметры
tree_view | объект GtkTreeView | |
path | объект GtkTreePath для строки, или | [allow-none] |
column | объект 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 | объект GtkTreeView | |
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() после использования.
Параметры
tree_view | Объект GtkTreeView | |
start_path | Место возврата начала области, или | [out][allow-none] |
end_path | Место возврата конца области, или | [out][allow-none] |
Возвращаемое значение
TRUE, если в start_path и end_path были размещены корректные пути.
gtk_tree_view_convert_bin_window_to_tree_coords ()
void gtk_tree_view_convert_bin_window_to_tree_coords (GtkTreeView *tree_view,int bx,int by,int *tx,int *ty);
Преобразует координаты bin_window в координаты дерева (полной области прокрутки дерева).
Параметры
tree_view | объект GtkTreeView | |
bx | Координата X относительно bin_window | |
by | Координата Y относительно bin_window | |
tx | место хранения координаты X дерева. | [out] |
ty | место хранения координаты Y дерева. | [out] |
gtk_tree_view_convert_bin_window_to_widget_coords ()
void gtk_tree_view_convert_bin_window_to_widget_coords (GtkTreeView *tree_view,int bx,int by,int *wx,int *wy);
Преобразует координаты окна bin_window в относительные координаты виджета.
Параметры
tree_view | ||
bx | координата X окна bin_window | |
by | координата Y окна bin_window | |
wx | место для возвращаемой координаты X виджета. | [out] |
wy | место для возвращаемой координаты Y виджета. | [out] |
gtk_tree_view_convert_tree_to_bin_window_coords ()
void gtk_tree_view_convert_tree_to_bin_window_coords (GtkTreeView *tree_view,int tx,int ty,int *bx,int *by);
Преобразует координаты дерева (координаты в полностью прокручиваемой области дерева) в координаты bin_window.
Параметры
tree_view | ||
tx | координата X дерева | |
ty | координата Y дерева | |
bx | место для возвращаемой координаты X относительно bin_window. | [out] |
by | место для возвращаемой координаты Y относительно bin_window. | [out] |
gtk_tree_view_convert_tree_to_widget_coords ()
void gtk_tree_view_convert_tree_to_widget_coords (GtkTreeView *tree_view,int tx,int ty,int *wx,int *wy);
Преобразует координаты дерева (координаты в полностью прокручиваемой области дерева) в координаты виджета.
Параметры
tree_view | ||
tx | координата X относительно дерева | |
ty | координата Y относительно дерева | |
wx | место для возвращаемой координаты X виджета. | [out] |
wy | место для возвращаемой координаты Y виджета. | [out] |
gtk_tree_view_convert_widget_to_bin_window_coords ()
void gtk_tree_view_convert_widget_to_bin_window_coords (GtkTreeView *tree_view,int wx,int wy,int *bx,int *by);
Преобразует координаты виджета в координаты bin_window.
Параметры
tree_view | ||
wx | координата X относительно виджета | |
wy | координата Y относительно виджета | |
bx | место для возвращаемой координаты X bin_window. | [out] |
by | место для возвращаемой координаты Y bin_window. | [out] |
gtk_tree_view_convert_widget_to_tree_coords ()
void gtk_tree_view_convert_widget_to_tree_coords (GtkTreeView *tree_view,int wx,int wy,int *tx,int *ty);
Преобразует координаты виджета в координаты дерева (полностью прокручиваемой области дерева).
Параметры
tree_view | ||
wx | координата X относительно виджета | |
wy | координата Y относительно виджета | |
tx | место для возвращаемой координаты X дерева. | [out] |
ty | место для возвращаемой координаты Y дерева. | [out] |
gtk_tree_view_enable_model_drag_dest ()
void gtk_tree_view_enable_model_drag_dest (GtkTreeView *tree_view,GdkContentFormats *formats,GdkDragAction actions);
Превращает tree_view в пункт назначения перетаскивания для автоматического DND. Вызов этого метода устанавливает “reorderable” в FALSE.
Параметры
tree_view | ||
formats | форматы целевых данных, которые будет поддерживать перетаскивание | |
actions | маска возможных действий для перетаскивания из этого виджета |
gtk_tree_view_enable_model_drag_source ()
void gtk_tree_view_enable_model_drag_source (GtkTreeView *tree_view,GdkModifierType start_button_mask,GdkContentFormats *formats,GdkDragAction actions);
Превращает tree_view в источник перетаскивания для автоматического DND. Вызов этого метода устанавливает “reorderable” в FALSE.
Параметры
tree_view | ||
start_button_mask | Маска разрешённых кнопок для начала перетаскивания | |
formats | форматы целевых данных, которые будет поддерживать перетаскивание | |
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);
Получает информацию о выделенной для обратной связи строке.
Параметры
tree_view | ||
path | Место для возврата пути выделенной строки, или | [out][optional][nullable] |
pos | Место для возврата позиции размещения, или | [out][optional] |
gtk_tree_view_get_dest_row_at_pos ()
gboolean gtk_tree_view_get_dest_row_at_pos (GtkTreeView *tree_view,int drag_x,int drag_y,GtkTreePath **path,GtkTreeViewDropPosition *pos);
Определяет целевую строку для заданной позиции. drag_x и drag_y ожидаются в координатах виджета. Эта функция имеет смысл только если tree_view реализована. Поэтому эта функция всегда вернёт FALSE если tree_view не реализована или не имеет модели.
Параметры
tree_view | ||
drag_x | позиция для определения целевой строки | |
drag_y | позиция для определения целевой строки | |
path | Место для возврата пути выделенной строки, или | [out][optional][nullable] |
pos | Место для возврата позиции размещения, или | [out][optional] |
Возвращаемое значение
будет ли строка в данной позиции, TRUE если это так.
gtk_tree_view_create_row_drag_icon ()
GdkPaintable * gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view,GtkTreePath *path);
Создаёт представление строки в path в виде cairo_surface_t. Этот образ используется в виде иконки перетаскивания.
Параметры
tree_view | ||
path | a GtkTreePath в |
Возвращаемое значение
новый выделенный образ иконки перетаскивания.
[transfer full][nullable]
gtk_tree_view_set_enable_search ()
void gtk_tree_view_set_enable_search (GtkTreeView *tree_view,gboolean enable_search);
Если enable_search установлено, то пользователь может ввести текст для поиска в дереве интерактивно (это иногда называется "поиск с автодополнением").
Обратите внимание, что даже если это FALSE, пользователь по-прежнему может инициировать поиск с помощью сочетания клавиш “start-interactive-search”.
Параметры
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 ()
int
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,int column);
Устанавливает column в качестве столбца, в котором код интерактивного поиска должен искать в текущей модели.
Если столбец поиска установлен, пользователи могут использовать сочетание клавиш “start-interactive-search” для вызова всплывающего окна поиска. Свойство 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 при совпадении.
Параметры
tree_view | ||
search_equal_func | функция сравнения для использования во время поиска | |
search_user_data | данные пользователя для передачи в | [allow-none] |
search_destroy | Уведомление о уничтожении для | [allow-none] |
gtk_tree_view_get_search_entry ()
GtkEditable *
gtk_tree_view_get_search_entry (GtkTreeView *tree_view); Возвращает GtkEntry, который в настоящее время используется в качестве интерактивной строки поиска для tree_view. В случае использования встроенной строки, будет возвращено NULL.
Параметры
tree_view |
Возвращаемое значение
вход, который в настоящее время используется в качестве строки поиска.
[transfer none][nullable]
gtk_tree_view_set_search_entry ()
void gtk_tree_view_set_search_entry (GtkTreeView *tree_view,GtkEditable *entry);
Устанавливает строку, которую код интерактивного поиска будет использовать для этого tree_view. Это полезно, когда вы хотите предоставить строку поиска в нашем интерфейсе в любое время в фиксированном положении. Передача NULL для entry заставит код интерактивного поиска снова использовать встроенную всплывающую строку.
Параметры
tree_view | ||
entry | вход, который должен использовать код интерактивного поиска | [allow-none] |
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 находится в режиме фиксированной высоты
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 |
|
gtk_tree_view_get_hover-selection ()
gboolean
gtk_tree_view_get_hover_selection (GtkTreeView *tree_view); Возвращает, включен ли режим выбора наведением для tree_view.
Параметры
tree_view |
Возвращаемое значение
TRUE если tree_view находится в режиме выбора наведением
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 |
|
gtk_tree_view_get_hover-expand ()
gboolean
gtk_tree_view_get_hover_expand (GtkTreeView *tree_view); Возвращает, включен ли режим расширения наведением для tree_view.
Параметры
tree_view |
Возвращаемое значение
TRUE если tree_view находится в режиме расширения наведением
gtk_tree_view_set_hover-expand ()
void gtk_tree_view_set_hover_expand (GtkTreeView *tree_view,gboolean expand);
Включает или отключает режим расширения наведением для tree_view. Режим расширения наведением вызывает расширение или сворачивание строк, если указатель перемещается по ним.
Параметры
tree_view | ||
expand |
|
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 |
Возвращает
текущую функцию разделителя строк.
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 | ||
func | [allow-none] | |
data | данные пользователя, передаваемые в | [allow-none] |
destroy | обработчик уничтожения для | [allow-none] |
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 включено.
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 |
|
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 .
gtk_tree_view_get_enable_tree_lines ()
gboolean
gtk_tree_view_get_enable_tree_lines (GtkTreeView *tree_view); Возвращает, включены ли линии дерева в tree_view .
Параметры
tree_view |
Возвращает
TRUE , если линии дерева отображаются в tree_view , FALSE в противном случае.
gtk_tree_view_set_enable_tree_lines ()
void gtk_tree_view_set_enable_tree_lines (GtkTreeView *tree_view,gboolean enabled);
Устанавливает, следует ли рисовать линии, соединяющие раскрывающие элементы в tree_view. Для списков это не оказывает никакого визуального эффекта.
Параметры
tree_view | ||
enabled |
|
gtk_tree_view_get_grid_lines ()
GtkTreeViewGridLines
gtk_tree_view_get_grid_lines (GtkTreeView *tree_view); Возвращает, какие линии сетки включены в tree_view .
Параметры
tree_view |
Возвращает
значение GtkTreeViewGridLines, указывающее, какие линии сетки включены.
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, указывающее, какие линии сетки включить. |
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 | объект GtkTreeView | |
tooltip | объект GtkTooltip | |
path | объект GtkTreePath |
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 | объект GtkTreeView | |
tooltip | объект GtkTooltip | |
path | объект GtkTreePath или | [allow-none] |
column | объект GtkTreeViewColumn или | [allow-none] |
cell | объект GtkCellRenderer или | [allow-none] |
gtk_tree_view_get_tooltip_context ()
gboolean gtk_tree_view_get_tooltip_context (GtkTreeView *tree_view,int x,int 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 bin_window, если keyboard_tooltip равно FALSE.
Параметры
tree_view | объект GtkTreeView | |
x | координата x (относительно координат виджета) | |
y | координата y (относительно координат виджета) | |
keyboard_tip | признак того, является ли это подсказкой при нажатии клавиши | |
model | указатель для получения GtkTreeModel или | [out][optional][nullable][transfer none] |
path | указатель для получения GtkTreePath или | [out][optional] |
iter | указатель для получения GtkTreeIter или | [out][optional] |
Возвращаемое значение
true, если указанный контекст подсказки указывает на строку, иначе false.
gtk_tree_view_get_tooltip_column ()
int
gtk_tree_view_get_tooltip_column (GtkTreeView *tree_view); Возвращает столбец модели tree_view, используемый для отображения подсказок строк tree_view.
Параметры
tree_view | объект GtkTreeView |
Возвращаемое значение
индекс используемого столбца подсказок или -1, если эта функция отключена.
gtk_tree_view_set_tooltip_column ()
void gtk_tree_view_set_tooltip_column (GtkTreeView *tree_view,int column);
Если планируется использовать простые (только текст) подсказки для целых строк, вы можете использовать эту функцию для автоматического обработки GtkTreeView. column должен быть установлен на столбец в модели tree_view, содержащий текст подсказки, или -1 для отключения этой функции.
При включении “has-tooltip” будет установлено в значение TRUE, и tree_view подключит обработчик сигнала “query-tooltip”.
Обратите внимание, что обработчик сигнала устанавливает текст с помощью gtk_tooltip_set_markup(), поэтому символы &, < и т.д. необходимо экранировать в тексте.
Параметры
tree_view | объект GtkTreeView | |
column | целое число, являющееся допустимым номером столбца для модели |
Типы и значения
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 | строка становится дочерней или вставляется после текущей |
перечисление 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» после одного щелчка.
Владелец: GtkTreeView
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “enable-grid-lines”
“enable-grid-lines” GtkTreeViewGridLines
Определяет, будут ли отображаться линии сетки в представлении дерева.
Владелец: GtkTreeView
Флаги: Чтение / Запись
Значение по умолчанию: GTK_TREE_VIEW_GRID_LINES_NONE
Свойство “enable-search”
“enable-search” gboolean
Представление позволяет пользователю взаимодействовать с поиском по столбцам.
Владелец: GtkTreeView
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “enable-tree-lines”
“enable-tree-lines” gboolean
Определяет, будут ли отображаться линии дерева в представлении дерева.
Владелец: GtkTreeView
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “expander-column”
“expander-column” GtkTreeViewColumn *
Устанавливает столбец для столбца раскрытия.
Владелец: GtkTreeView
Флаги: Чтение / Запись
Свойство “fixed-height-mode”
“fixed-height-mode” gboolean
Установка свойства ::fixed-height-mode на TRUE ускоряет GtkTreeView, предполагая, что все строки имеют одинаковую высоту. Включайте этот параметр только если все строки имеют одинаковую высоту. Для получения дополнительной информации об этом параметре см. gtk_tree_view_set_fixed_height_mode().
Владелец: GtkTreeView
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “headers-clickable”
“headers-clickable” gboolean
Заголовки столбцов реагируют на щелчки.
Владелец: GtkTreeView
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “headers-visible”
“headers-visible” gboolean
Отображать кнопки заголовков столбцов.
Владелец: GtkTreeView
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “hover-expand”
“hover-expand” gboolean
Включает или отключает режим раскрытия при наведении на tree_view. Режим раскрытия при наведении позволяет раскрывать или сворачивать строки при перемещении указателя мыши.
Этот режим предназначен в основном для представлений дерева в всплывающих окнах, например, в GtkComboBox или GtkEntryCompletion.
Владелец: GtkTreeView
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “hover-selection”
“hover-selection” gboolean
Включает или отключает режим выбора при наведении на tree_view. Режим выбора при наведении перемещает выделенную строку вместе с указателем мыши. В настоящее время это работает только для режимов выбора GTK_SELECTION_SINGLE и GTK_SELECTION_SINGLE.
Этот режим предназначен в основном для представлений дерева в всплывающих окнах, например, в GtkComboBox или GtkEntryCompletion.
Владелец: GtkTreeView
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “level-indentation”
“level-indentation” int
Дополнительный отступ для каждого уровня.
Владелец: GtkTreeView
Флаги: Чтение / Запись
Разрешенные значения: >= 0
Значение по умолчанию: 0
Свойство “model”
“model” GtkTreeModel *
Модель для представления дерева.
Владелец: GtkTreeView
Флаги: Чтение / Запись
Свойство “reorderable”
“reorderable” gboolean
Представление можно переупорядочивать.
Владелец: GtkTreeView
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “rubber-banding”
“rubber-banding” gboolean
Включает или отключает выделение нескольких элементов путем перетаскивания указателя мыши.
Владелец: GtkTreeView
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “search-column”
“search-column” int
Столбец модели для поиска при интерактивном поиске.
Владелец: GtkTreeView
Флаги: Чтение / Запись
Разрешенные значения: >= -1
Значение по умолчанию: -1
Свойство “show-expanders”
“show-expanders” gboolean
TRUE если в представлении есть элементы раскрытия.
Владелец: GtkTreeView
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “tooltip-column”
“tooltip-column” int
Столбец в модели, содержащий тексты всплывающих подсказок для строк.
Владелец: GtkTreeView
Флаги: Чтение / Запись
Разрешенные значения: >= -1
Значение по умолчанию: -1
Подробности сигналов
Сигнал “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)
Флаги: Действие
Сигнал “move-cursor”
gboolean user_function (GtkTreeView *tree_view, GtkMovementStep step, int direction, gboolean extend, gboolean modify, 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 для перемещения назад. Результат перемещения не определен для других значений. | |
extend | расширять ли выбор | |
modify | изменять ли выбор | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Возвращаемое значение
TRUE если поддерживается step, FALSE в противном случае.
Флаги: Действие
Сигнал “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+Пробел, Возврат или Ввод.
Для обработки выбора см. концептуальный обзор виджета дерева здесь и 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 | данные пользователя, установленные при подключении обработчика сигнала. |
Возвращаемое значение
FALSE для разрешения сворачивания, TRUE для отклонения
Флаги: Run Last
Сигнал “test-expand-row”
gboolean user_function (GtkTreeView *tree_view, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data)
Данная строка собирается для раскрытия (отображения дочерних узлов). Используйте этот сигнал, если вам нужно управлять раскрываемостью отдельных строк.
Параметры
tree_view | объект, на котором испускается сигнал | |
iter | итератор дерева для строки, которую нужно раскрыть | |
path | путь дерева, указывающий на строку | |
user_data | пользовательские данные, установленные при подключении обработчика сигнала. |
Возвращаемое значение
FALSE для разрешения раскрытия, TRUE для отклонения
Флаги: 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
См. также
GtkTreeViewColumn, GtkTreeSelection, GtkTreeModel, Перетаскивание GtkTreeView, GtkTreeSortable, GtkTreeModelSort, GtkListStore, GtkTreeStore, GtkCellRenderer, GtkCellEditable, GtkCellRendererPixbuf, GtkCellRendererText, GtkCellRendererToggle
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkTreeView.html