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 last
GtkEntryCompletion это вспомогательный объект для использования в связке с 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