| |
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 содержит только закрытые данные.
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-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |