краткое описание#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