краткое описание#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
проверяет какие строки в соответствуют
модели текущемго содержимого ввода и
отображают список соответствий. по
умолчанию, соответствие выполняется
сравнивая текст ввода без учета регистра
с текстом графы модели (смотрите
когда пользователь выделяет завершение,
содержимое ввода обновляется. по
умолчанию, содержимое ввода заменяется
текстом графы модели, но это может быть
изменено подключением сигнала
::match-selected и обновлением ввода в обработчике
сигнала. помните, вы должны вернуть для добавления завершающей
функциональности ввода используйте
в дополнение к обычному соответствующему завершению, которое вставляется в вод когда происходит выделение, gtkentrycompletion также позволяет отображать "actions" во всплывающем окне. их внешний вид похож на пункты меню, для явного отличия от строк завершения. когда действие выбрано, издаётся сигнал ::action-activated. деталиgtkentrycompletiontypedef struct _gtkentrycompletion gtkentrycompletion; структура gtkentrycompletion содержит только закрытые данные. gtkentrycompletionmatchfunc ()gboolean (*gtkentrycompletionmatchfunc) (gtkentrycompletion *completion, const gchar *key, gtktreeiter *iter, gpointer user_data);
функция решает соответствует ли строка
указанная
gtk_entry_completion_new ()gtkentrycompletion* gtk_entry_completion_new (void); создаёт новый gtkentrycompletion объект.
начиная с версии 2.4 gtk_entry_completion_get_entry ()gtkwidget* gtk_entry_completion_get_entry (gtkentrycompletion *completion);
получает ввод к которому должно быть
прикреплено завершение
начиная с версии 2.4 gtk_entry_completion_set_model ()void gtk_entry_completion_set_model (gtkentrycompletion *completion, gtktreemodel *model);
устанавливает модель для gtkentrycompletion.
если
начиная с версии 2.4 gtk_entry_completion_get_model ()gtktreemodel* gtk_entry_completion_get_model (gtkentrycompletion *completion);
находит модель gtkentrycompletion
используемую как исходные данные.
возвращает
начиная с версии 2.4 gtk_entry_completion_set_match_func ()void gtk_entry_completion_set_match_func (gtkentrycompletion *completion, gtkentrycompletionmatchfunc func, gpointer func_data, gdestroynotify func_notify);
устанавливает функцию соответствия
для
начиная с версии 2.4. gtk_entry_completion_set_minimum_key_length ()void gtk_entry_completion_set_minimum_key_length (gtkentrycompletion *completion, gint length);
требует чтобы длина ключа поиска для
начиная с версии 2.4 gtk_entry_completion_get_minimum_key_length ()gint gtk_entry_completion_get_minimum_key_length (gtkentrycompletion *completion);
возвращает минимальную длину ключа
которая установлена для
начиная с версии 2.4 gtk_entry_completion_complete ()void gtk_entry_completion_complete (gtkentrycompletion *completion); запрашивает операцию завершения, или другими словами пере-фильтрацию текущемго списка с завершениями, используя текущий ключ. вид списка будет соответственно обновлён.
начиная с версии 2.4 gtk_entry_completion_insert_prefix ()void gtk_entry_completion_insert_prefix (gtkentrycompletion *completion); запрашивает префикс вставки.
начиная с версии 2.6 gtk_entry_completion_insert_action_text ()void gtk_entry_completion_insert_action_text (gtkentrycompletion *completion, gint index_, const gchar *text);
вставляет действие в список элементов
действий
начиная с версии 2.4 gtk_entry_completion_insert_action_markup ()void gtk_entry_completion_insert_action_markup (gtkentrycompletion *completion, gint index_, const gchar *markup);
вставляет действие в список элементов
действий
начиная с версии 2.4 gtk_entry_completion_delete_action ()void gtk_entry_completion_delete_action (gtkentrycompletion *completion, gint index_);
удаляет действие
начиная с версии 2.4 gtk_entry_completion_set_text_column ()void gtk_entry_completion_set_text_column (gtkentrycompletion *completion, gint column);
удобная функция для установки большинства
используемых аргументов в этом коде:
список завершений просто строка. эта
функция установит эта функция создаёт и добавляет
gtkcellrenderertext
для выбранного столбца. если вы хотите
установить текст в столбец, но не хотите
перерисовывать ячейку, используйте
начиная с версии 2.4 gtk_entry_completion_get_text_column ()gint gtk_entry_completion_get_text_column (gtkentrycompletion *completion);
возвращает столбец в модели
начиная с версии 2.6 gtk_entry_completion_set_inline_completion ()void gtk_entry_completion_set_inline_completion (gtkentrycompletion *completion, gboolean inline_completion); устанавливает должен ли обычный префикс возможного завершения автоматически вставляться во ввод.
начиная с версии 2.6 gtk_entry_completion_get_inline_completion ()gboolean gtk_entry_completion_get_inline_completion (gtkentrycompletion *completion); возвращает должен ли обычный префикс возможного завершения автоматически вставляться во ввод.
начиная с версии 2.6 gtk_entry_completion_set_popup_completion ()void gtk_entry_completion_set_popup_completion (gtkentrycompletion *completion, gboolean popup_completion); устанавливает должно ли завершение представляться во всплывающем окне.
начиная с версии 2.6 gtk_entry_completion_get_popup_completion ()gboolean gtk_entry_completion_get_popup_completion (gtkentrycompletion *completion); возвращает должно ли завершение представляться во всплывающем окне.
начиная с версии 2.6 gtk_entry_completion_set_popup_set_width ()void gtk_entry_completion_set_popup_set_width (gtkentrycompletion *completion, gboolean popup_set_width); устанавливает должно ли окно всплывающих завершений соответствовать ширине ввода.
начиная с версии 2.8 gtk_entry_completion_get_popup_set_width ()gboolean gtk_entry_completion_get_popup_set_width (gtkentrycompletion *completion); возвращает должно ли окно всплывающих завершений соответствовать ширине ввода.
начиная с версии 2.8 gtk_entry_completion_set_popup_single_match ()void gtk_entry_completion_set_popup_single_match (gtkentrycompletion *completion, gboolean popup_single_match);
устанавливает должно ли появляться
единственное завершение во всплывающем
окне. вы можете установить в
начиная с версии 2.8 gtk_entry_completion_get_popup_single_match ()gboolean gtk_entry_completion_get_popup_single_match (gtkentrycompletion *completion); возвращает должно ли появляться единственное завершение во всплывающем окне.
начиная с версии 2.8 детали свойствсвойство "
|
|
объект получающий сигнал. |
|
позиция активизированного действия. |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
начиная с версии 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