| |
|
GTK+ Reference Manual |
||||
|---|---|---|---|---|
|
Top | Description | Object Hierarchy | Implemented Interfaces | Properties | Signals |
||||
GtkEntryCompletionGtkEntryCompletion Функциональные возможности завершения для GtkEntry |
#include <gtk/gtk.h>
GtkEntryCompletion;
gboolean (*GtkEntryCompletionMatchFunc) (GtkEntryCompletion *completion,
const gchar *key,
GtkTreeIter *iter,
gpointer user_data);
GtkEntryCompletion* gtk_entry_completion_new
(void);
GtkWidget* gtk_entry_completion_get_entry (GtkEntryCompletion *completion);
void gtk_entry_completion_set_model (GtkEntryCompletion *completion,
GtkTreeModel *model);
GtkTreeModel* gtk_entry_completion_get_model
(GtkEntryCompletion *completion);
void gtk_entry_completion_set_match_func
(GtkEntryCompletion *completion,
GtkEntryCompletionMatchFunc func,
gpointer func_data,
GDestroyNotify func_notify);
void gtk_entry_completion_set_minimum_key_length
(GtkEntryCompletion *completion,
gint length);
gint gtk_entry_completion_get_minimum_key_length
(GtkEntryCompletion *completion);
void gtk_entry_completion_complete (GtkEntryCompletion *completion);
void gtk_entry_completion_insert_prefix
(GtkEntryCompletion *completion);
void gtk_entry_completion_insert_action_text
(GtkEntryCompletion *completion,
gint index_,
const gchar *text);
void gtk_entry_completion_insert_action_markup
(GtkEntryCompletion *completion,
gint index_,
const gchar *markup);
void gtk_entry_completion_delete_action
(GtkEntryCompletion *completion,
gint index_);
void gtk_entry_completion_set_text_column
(GtkEntryCompletion *completion,
gint column);
gint gtk_entry_completion_get_text_column
(GtkEntryCompletion *completion);
void gtk_entry_completion_set_inline_completion
(GtkEntryCompletion *completion,
gboolean inline_completion);
gboolean gtk_entry_completion_get_inline_completion
(GtkEntryCompletion *completion);
void gtk_entry_completion_set_popup_completion
(GtkEntryCompletion *completion,
gboolean popup_completion);
gboolean gtk_entry_completion_get_popup_completion
(GtkEntryCompletion *completion);
void gtk_entry_completion_set_popup_set_width
(GtkEntryCompletion *completion,
gboolean popup_set_width);
gboolean gtk_entry_completion_get_popup_set_width
(GtkEntryCompletion *completion);
void gtk_entry_completion_set_popup_single_match
(GtkEntryCompletion *completion,
gboolean popup_single_match);
gboolean gtk_entry_completion_get_popup_single_match
(GtkEntryCompletion *completion);
GObject +----GtkEntryCompletion
GtkEntryCompletion осуществляет GtkCellLayout.
"inline-completion" gboolean : Read / Write "minimum-key-length" gint : Read / Write "model" GtkTreeModel : Read / Write "popup-completion" gboolean : Read / Write "popup-set-width" gboolean : Read / Write "popup-single-match" gboolean : Read / Write "text-column" gint : Read / Write
"action-activated"
void user_function (GtkEntryCompletion *widget,
gint index,
gpointer user_data) : Run last
"insert-prefix"
gboolean user_function (GtkEntryCompletion *widget,
gchar *prefix,
gpointer user_data) : Run last
"match-selected"
gboolean user_function (GtkEntryCompletion *widget,
GtkTreeModel *model,
GtkTreeIter *iter,
gpointer user_data) : Run lastGtkEntryCompletion это вспомогательный объект для использования в связке с GtkEntry для обеспечения функциональности завершения. Он осуществляет GtkCellLayout интерфейс, позволяя пользователю добавлять дополнительные ячейки для GtkTreeView с подходящим завершением.
"Completion functionality" означает что когда
пользователь изменяет текст ввода,
GtkEntryCompletion
проверяет какие строки в соответствуют
модели текущемго содержимого ввода и
отображают список соответствий. По
умолчанию, соответствие выполняется
сравнивая текст ввода без учета регистра
с текстом графы модели (смотрите
gtk_entry_completion_set_text_column()),
но это может быть отменено с помощью
настройки функции соответствия (смотрите
gtk_entry_completion_set_match_func()).
Когда пользователь выделяет завершение,
содержимое ввода обновляется. По
умолчанию, содержимое ввода заменяется
текстом графы модели, но это может быть
изменено подключением сигнала
::match-selected и обновлением ввода в обработчике
сигнала. Помните, вы должны вернуть TRUE
из обработчика сигнала чтобы подавить
поведение по умолчанию.
Для добавления завершающей
функциональности ввода используйте
gtk_entry_set_completion().
В дополнение к обычному соответствующему завершению, которое вставляется в вод когда происходит выделение, GtkEntryCompletion также позволяет отображать "actions" во всплывающем окне. Их внешний вид похож на пункты меню, для явного отличия от строк завершения. Когда действие выбрано, издаётся сигнал ::action-activated.
typedef struct _GtkEntryCompletion GtkEntryCompletion;
Структура GtkEntryCompletion содержит только закрытые данные.
gboolean (*GtkEntryCompletionMatchFunc) (GtkEntryCompletion *completion,
const gchar *key,
GtkTreeIter *iter,
gpointer user_data);
Функция решает соответствует ли строка
указанная iter полученному
key, и должна отобразить как
возможное завершение для key.
Помните, key нормализован и
свернут (смотрите g_utf8_normalize()
и g_utf8_casefold()).
Если это не является функциями соответствия
имеющими доступ к не-модифицированному
ключу через gtk_entry_get_text (GTK_ENTRY
(gtk_entry_completion_get_entry ())).
|
|
|
|
|
Строка для соответствия, нормализованная и свернутая |
|
|
GtkTreeIter указывает строку для соответствия |
|
|
Пользовательские данные полученные
для |
|
Возвращает: |
|
GtkEntryCompletion* gtk_entry_completion_new
(void);Создаёт новый GtkEntryCompletion объект.
|
Возвращает: |
Вновь созданный объект GtkEntryCompletion. |
Начиная с версии 2.4
GtkWidget* gtk_entry_completion_get_entry (GtkEntryCompletion *completion);
Получает ввод к которому должно быть
прикреплено завершение completion.
|
|
|
|
Возвращает: |
Получает ввод к которому должно быть
прикреплено завершение |
Начиная с версии 2.4
void gtk_entry_completion_set_model (GtkEntryCompletion *completion,
GtkTreeModel *model);
Устанавливает модель для GtkEntryCompletion.
Если completion уже имеет модель,
она будет удалена перед установкой
новой модели. Если модель NULL,
то когда просто удаляется существующая.
|
|
|
|
|
Начиная с версии 2.4
GtkTreeModel* gtk_entry_completion_get_model
(GtkEntryCompletion *completion);
Находит модель GtkEntryCompletion
используемую как исходные данные.
Возвращает NULL
если модель не установлена.
|
|
|
|
Возвращает: |
GtkTreeModel,
или |
Начиная с версии 2.4
void gtk_entry_completion_set_match_func
(GtkEntryCompletion *completion,
GtkEntryCompletionMatchFunc func,
gpointer func_data,
GDestroyNotify func_notify);
Устанавливает функцию соответствия
для completion в значение func.
Функция соответствия используется для
определения должна или не должна строка
быть в списке завершения.
|
|
|
|
|
GtkEntryCompletionMatchFunc для использования. |
|
|
Пользовательские данные для |
|
|
Разрушающее уведомление для |
Начиная с версии 2.4.
void gtk_entry_completion_set_minimum_key_length
(GtkEntryCompletion *completion,
gint length);
Требует чтобы длина ключа поиска для
completion была по крайней мере
length. Это полезно для длинных
списков, где полное использование
маленьких ключей занимает много времени
и выдаёт слишком много результатов (то
есть, слишком много данных).
|
|
|
|
|
Минимальная длина ключа чтобы начать завершение. |
Начиная с версии 2.4
gint gtk_entry_completion_get_minimum_key_length
(GtkEntryCompletion *completion);
Возвращает минимальную длину ключа
которая установлена для completion.
|
|
|
|
Возвращает: |
Текущая минимальная длина ключа. |
Начиная с версии 2.4
void gtk_entry_completion_complete (GtkEntryCompletion *completion);
Запрашивает операцию завершения, или другими словами пере-фильтрацию текущемго списка с завершениями, используя текущий ключ. Вид списка будет соответственно обновлён.
|
|
Начиная с версии 2.4
void gtk_entry_completion_insert_prefix
(GtkEntryCompletion *completion);Запрашивает префикс вставки.
|
|
Начиная с версии 2.6
void gtk_entry_completion_insert_action_text
(GtkEntryCompletion *completion,
gint index_,
const gchar *text);
Вставляет действие в список элементов
действий completion's в позицию
index_ с текстом text.
Если вы хотите отметить элемент действия,
используйте gtk_entry_completion_insert_action_markup().
|
|
|
|
|
Позиция элемента для вставки. |
|
|
Текст вставляемого элемента. |
Начиная с версии 2.4
void gtk_entry_completion_insert_action_markup
(GtkEntryCompletion *completion,
gint index_,
const gchar *markup);
Вставляет действие в список элементов
действий completion's в позицию
index_ с пометкой markup.
|
|
|
|
|
Позиция вставляемого элемента. |
|
|
Метка вставляемого элемента. |
Начиная с версии 2.4
void gtk_entry_completion_delete_action
(GtkEntryCompletion *completion,
gint index_);
Удаляет действие index_ из
списка действий completion's.
|
|
|
|
|
Позиция элемента для удаления. |
Начиная с версии 2.4
void gtk_entry_completion_set_text_column
(GtkEntryCompletion *completion,
gint column);
Удобная функция для установки большинства
используемых аргументов в этом коде:
список завершений просто строка. Эта
функция установит completion
для списка отображающего все (и только)
строки в списке завершения, а получит
эти строки из column в модели
completion.
Эта функция создаёт и добавляет
GtkCellRendererText
для выбранного столбца. Если вы хотите
установить текст в столбец, но не хотите
перерисовывать ячейку, используйте
g_object_set()
для установки непосредственно
::text_column свойство.
|
|
|
|
|
Столбец в модели |
Начиная с версии 2.4
gint gtk_entry_completion_get_text_column
(GtkEntryCompletion *completion);
Возвращает столбец в модели completion
для получения строк.
|
|
|
|
Возвращает: |
Столбец содержащий строки |
Начиная с версии 2.6
void gtk_entry_completion_set_inline_completion
(GtkEntryCompletion *completion,
gboolean inline_completion);Устанавливает должен ли обычный префикс возможного завершения автоматически вставляться во ввод.
|
|
|
|
|
|
Начиная с версии 2.6
gboolean gtk_entry_completion_get_inline_completion
(GtkEntryCompletion *completion);Возвращает должен ли обычный префикс возможного завершения автоматически вставляться во ввод.
|
|
|
|
Возвращает: |
|
Начиная с версии 2.6
void gtk_entry_completion_set_popup_completion
(GtkEntryCompletion *completion,
gboolean popup_completion);Устанавливает должно ли завершение представляться во всплывающем окне.
|
|
|
|
|
|
Начиная с версии 2.6
gboolean gtk_entry_completion_get_popup_completion
(GtkEntryCompletion *completion);Возвращает должно ли завершение представляться во всплывающем окне.
|
|
|
|
Возвращает: |
|
Начиная с версии 2.6
void gtk_entry_completion_set_popup_set_width
(GtkEntryCompletion *completion,
gboolean popup_set_width);Устанавливает должно ли окно всплывающих завершений соответствовать ширине ввода.
|
|
|
|
|
|
Начиная с версии 2.8
gboolean gtk_entry_completion_get_popup_set_width
(GtkEntryCompletion *completion);Возвращает должно ли окно всплывающих завершений соответствовать ширине ввода.
|
|
|
|
Возвращает: |
|
Начиная с версии 2.8
void gtk_entry_completion_set_popup_single_match
(GtkEntryCompletion *completion,
gboolean popup_single_match);
Устанавливает должно ли появляться
единственное завершение во всплывающем
окне. Вы можете установить в FALSE,
если вы используете inline
completion.
|
|
|
|
|
|
Начиная с версии 2.8
gboolean gtk_entry_completion_get_popup_single_match
(GtkEntryCompletion *completion);Возвращает должно ли появляться единственное завершение во всплывающем окне.
|
|
|
|
Возвращает: |
|
Начиная с версии 2.8
inline-completion""inline-completion" gboolean : Read / Write
Определяет должен ли обычный префикс возможного завершения появляться автоматически во вводе. Помните, требуется установка текста столбца (text-column), даже если вы используете функцию обычного соответствия.
Значение по умолчанию: FALSE
Начиная с версии 2.6
minimum-key-length""minimum-key-length" gint : Read / Write
Минимальная длина ключа поиска в списке соответсвий.
Допустимые значения: >= 0
Значение по умолчанию: 1
model""model" GtkTreeModel : Read / Write
Модель в которой происходит поиск соответствий.
popup-completion""popup-completion" gboolean : Read / Write
Определяет должно ли возможное соответствие появляться во всплывающем окне.
Значение по умолчанию: TRUE
Начиная с версии 2.6
popup-set-width""popup-set-width" gboolean : Read / Write
Определяет должно ли всплывающее окно с возможными завершениями быть одного размера по ширине с вводом.
Значение по умолчанию: TRUE
Начиная с версии 2.8
popup-single-match""popup-single-match" gboolean : Read / Write
Определяет должно ли всплывающее окно
завершений показывать единственное
возможное завершение. Вам возможно
понадобится установить это свойство в
FALSE
если вы используете inline
completion.
Значение по умолчанию: TRUE
Начиная с версии 2.8
text-column""text-column" gint : Read / Write
Столб модели которая содержит строки.
Допустимые значения: >= -1
Значение по умолчанию: -1
Начиная с версии 2.6
void user_function (GtkEntryCompletion *widget,
gint index,
gpointer user_data) : Run lastИздаётся при активации действия.
|
|
объект получающий сигнал. |
|
|
позиция активизированного действия. |
|
|
Пользовательские данные устанавливаемые при подключении обработчика сигнала. |
Начиная с версии 2.4
gboolean user_function (GtkEntryCompletion *widget,
gchar *prefix,
gpointer user_data) : Run lastИздаётся когда переключается авто дополнение ввода. По умолчанию создаётся ввод отображающий весь префикс и выделение вновь вставленной части.
Приложения могут подключать этот
сигнал чтобы вставить только меньшую
часть prefix во ввод например,
ввод используемый в GtkFileChooser
вставляет только часть префикса до
следующего '/'.
|
|
объект получающий сигнал. |
|
|
Основной префикс всех возможных завершений |
|
|
Пользовательские данные устанавливаемые при подключении обработчика сигнала. |
|
Возвращает: |
|
Начиная с версии 2.6
gboolean user_function (GtkEntryCompletion *widget,
GtkTreeModel *model,
GtkTreeIter *iter,
gpointer user_data) : Run last
Издаётся когда соответствие из списка
выбрано. По умолчанию переписывает
содержимое ввода содержимым строки
столбца на которую указывает iter.
|
|
объект получающий сигнал. |
|
|
GtkTreeModel содержащая соответствия |
|
|
GtkTreeIter позиционируемое выбранным соответствием |
|
|
Пользовательские данные устанавливаемые при подключении обработчика сигнала. |
|
Возвращает: |
|
Начиная с версии 2.4
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |