|
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
+----GtkEntryCompletionGtkEntryCompletion осуществляет 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 содержит только закрытые данные.
GtkEntryCompletionMatchFunc ()
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
Детали сигналов
Сигнал "action-activated"
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