The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy  |  Implemented Interfaces  |  Properties  |  Signals

GtkEntryCompletion

GtkEntryCompletion Функциональные возможности завершения для 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.

Детали

GtkEntryCompletion

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 ())).

completion :

GtkEntryCompletion

key :

Строка для соответствия, нормализованная и свернутая

iter :

GtkTreeIter указывает строку для соответствия

user_data :

Пользовательские данные полученные для gtk_entry_completion_set_match_func()

Возвращает:

TRUE если iter должен отображаться как возможное завершение для key


gtk_entry_completion_new ()

GtkEntryCompletion* gtk_entry_completion_new
                                            (void);

Создаёт новый GtkEntryCompletion объект.

Возвращает:

Вновь созданный объект GtkEntryCompletion.

Начиная с версии 2.4


gtk_entry_completion_get_entry ()

GtkWidget*  gtk_entry_completion_get_entry  (GtkEntryCompletion *completion);

Получает ввод к которому должно быть прикреплено завершение completion.

completion :

GtkEntryCompletion.

Возвращает:

Получает ввод к которому должно быть прикреплено завершение completion.

Начиная с версии 2.4


gtk_entry_completion_set_model ()

void        gtk_entry_completion_set_model  (GtkEntryCompletion *completion,
                                             GtkTreeModel *model);

Устанавливает модель для GtkEntryCompletion. Если completion уже имеет модель, она будет удалена перед установкой новой модели. Если модель NULL, то когда просто удаляется существующая.

completion :

GtkEntryCompletion.

model :

GtkTreeModel.

Начиная с версии 2.4


gtk_entry_completion_get_model ()

GtkTreeModel* gtk_entry_completion_get_model
                                            (GtkEntryCompletion *completion);

Находит модель GtkEntryCompletion используемую как исходные данные. Возвращает NULL если модель не установлена.

completion :

GtkEntryCompletion.

Возвращает:

GtkTreeModel, или NULL если в текущий момент не используется.

Начиная с версии 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);

Устанавливает функцию соответствия для completion в значение func. Функция соответствия используется для определения должна или не должна строка быть в списке завершения.

completion :

GtkEntryCompletion.

func :

GtkEntryCompletionMatchFunc для использования.

func_data :

Пользовательские данные для func.

func_notify :

Разрушающее уведомление для func_data.

Начиная с версии 2.4.


gtk_entry_completion_set_minimum_key_length ()

void        gtk_entry_completion_set_minimum_key_length
                                            (GtkEntryCompletion *completion,
                                             gint length);

Требует чтобы длина ключа поиска для completion была по крайней мере length. Это полезно для длинных списков, где полное использование маленьких ключей занимает много времени и выдаёт слишком много результатов (то есть, слишком много данных).

completion :

GtkEntryCompletion.

length :

Минимальная длина ключа чтобы начать завершение.

Начиная с версии 2.4


gtk_entry_completion_get_minimum_key_length ()

gint        gtk_entry_completion_get_minimum_key_length
                                            (GtkEntryCompletion *completion);

Возвращает минимальную длину ключа которая установлена для completion.

completion :

GtkEntryCompletion.

Возвращает:

Текущая минимальная длина ключа.

Начиная с версии 2.4


gtk_entry_completion_complete ()

void        gtk_entry_completion_complete   (GtkEntryCompletion *completion);

Запрашивает операцию завершения, или другими словами пере-фильтрацию текущемго списка с завершениями, используя текущий ключ. Вид списка будет соответственно обновлён.

completion :

GtkEntryCompletion.

Начиная с версии 2.4


gtk_entry_completion_insert_prefix ()

void        gtk_entry_completion_insert_prefix
                                            (GtkEntryCompletion *completion);

Запрашивает префикс вставки.

completion :

GtkEntryCompletion

Начиная с версии 2.6


gtk_entry_completion_insert_action_text ()

void        gtk_entry_completion_insert_action_text
                                            (GtkEntryCompletion *completion,
                                             gint index_,
                                             const gchar *text);

Вставляет действие в список элементов действий completion's в позицию index_ с текстом text. Если вы хотите отметить элемент действия, используйте gtk_entry_completion_insert_action_markup().

completion :

GtkEntryCompletion.

index_ :

Позиция элемента для вставки.

text :

Текст вставляемого элемента.

Начиная с версии 2.4


gtk_entry_completion_insert_action_markup ()

void        gtk_entry_completion_insert_action_markup
                                            (GtkEntryCompletion *completion,
                                             gint index_,
                                             const gchar *markup);

Вставляет действие в список элементов действий completion's в позицию index_ с пометкой markup.

completion :

GtkEntryCompletion.

index_ :

Позиция вставляемого элемента.

markup :

Метка вставляемого элемента.

Начиная с версии 2.4


gtk_entry_completion_delete_action ()

void        gtk_entry_completion_delete_action
                                            (GtkEntryCompletion *completion,
                                             gint index_);

Удаляет действие index_ из списка действий completion's.

completion :

GtkEntryCompletion.

index_ :

Позиция элемента для удаления.

Начиная с версии 2.4


gtk_entry_completion_set_text_column ()

void        gtk_entry_completion_set_text_column
                                            (GtkEntryCompletion *completion,
                                             gint column);

Удобная функция для установки большинства используемых аргументов в этом коде: список завершений просто строка. Эта функция установит completion для списка отображающего все (и только) строки в списке завершения, а получит эти строки из column в модели completion.

Эта функция создаёт и добавляет GtkCellRendererText для выбранного столбца. Если вы хотите установить текст в столбец, но не хотите перерисовывать ячейку, используйте g_object_set() для установки непосредственно ::text_column свойство.

completion :

GtkEntryCompletion.

column :

Столбец в модели completion из которого брать строки.

Начиная с версии 2.4


gtk_entry_completion_get_text_column ()

gint        gtk_entry_completion_get_text_column
                                            (GtkEntryCompletion *completion);

Возвращает столбец в модели completion для получения строк.

completion :

GtkEntryCompletion

Возвращает:

Столбец содержащий строки

Начиная с версии 2.6


gtk_entry_completion_set_inline_completion ()

void        gtk_entry_completion_set_inline_completion
                                            (GtkEntryCompletion *completion,
                                             gboolean inline_completion);

Устанавливает должен ли обычный префикс возможного завершения автоматически вставляться во ввод.

completion :

GtkEntryCompletion

inline_completion :

TRUE выполняет встроенное завершение

Начиная с версии 2.6


gtk_entry_completion_get_inline_completion ()

gboolean    gtk_entry_completion_get_inline_completion
                                            (GtkEntryCompletion *completion);

Возвращает должен ли обычный префикс возможного завершения автоматически вставляться во ввод.

completion :

GtkEntryCompletion

Возвращает:

TRUE если встроенное завершение включено

Начиная с версии 2.6


gtk_entry_completion_set_popup_completion ()

void        gtk_entry_completion_set_popup_completion
                                            (GtkEntryCompletion *completion,
                                             gboolean popup_completion);

Устанавливает должно ли завершение представляться во всплывающем окне.

completion :

GtkEntryCompletion

popup_completion :

TRUE для всплывающего завершения

Начиная с версии 2.6


gtk_entry_completion_get_popup_completion ()

gboolean    gtk_entry_completion_get_popup_completion
                                            (GtkEntryCompletion *completion);

Возвращает должно ли завершение представляться во всплывающем окне.

completion :

GtkEntryCompletion

Возвращает:

TRUE если всплывающее завершение включено

Начиная с версии 2.6


gtk_entry_completion_set_popup_set_width ()

void        gtk_entry_completion_set_popup_set_width
                                            (GtkEntryCompletion *completion,
                                             gboolean popup_set_width);

Устанавливает должно ли окно всплывающих завершений соответствовать ширине ввода.

completion :

GtkEntryCompletion

popup_set_width :

TRUE делает ширину всплывающего окна такой же как у ввода

Начиная с версии 2.8


gtk_entry_completion_get_popup_set_width ()

gboolean    gtk_entry_completion_get_popup_set_width
                                            (GtkEntryCompletion *completion);

Возвращает должно ли окно всплывающих завершений соответствовать ширине ввода.

completion :

GtkEntryCompletion

Возвращает:

TRUE если окно всплывающих завершений соответствует ширине ввода.

Начиная с версии 2.8


gtk_entry_completion_set_popup_single_match ()

void        gtk_entry_completion_set_popup_single_match
                                            (GtkEntryCompletion *completion,
                                             gboolean popup_single_match);

Устанавливает должно ли появляться единственное завершение во всплывающем окне. Вы можете установить в FALSE, если вы используете inline completion.

completion :

GtkEntryCompletion

popup_single_match :

TRUE если всплывающее окно должно появляться для единственного соответствия

Начиная с версии 2.8


gtk_entry_completion_get_popup_single_match ()

gboolean    gtk_entry_completion_get_popup_single_match
                                            (GtkEntryCompletion *completion);

Возвращает должно ли появляться единственное завершение во всплывающем окне.

completion :

GtkEntryCompletion

Возвращает:

TRUE если всплывающее окно отображает единственное соответствие.

Начиная с версии 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

Издаётся при активации действия.

widget :

объект получающий сигнал.

index :

позиция активизированного действия.

user_data :

Пользовательские данные устанавливаемые при подключении обработчика сигнала.

Начиная с версии 2.4


Сигнал "insert-prefix"

gboolean    user_function                  (GtkEntryCompletion *widget,
                                            gchar              *prefix,
                                            gpointer            user_data)      : Run last

Издаётся когда переключается авто дополнение ввода. По умолчанию создаётся ввод отображающий весь префикс и выделение вновь вставленной части.

Приложения могут подключать этот сигнал чтобы вставить только меньшую часть prefix во ввод например, ввод используемый в GtkFileChooser вставляет только часть префикса до следующего '/'.

widget :

объект получающий сигнал.

prefix :

Основной префикс всех возможных завершений

user_data :

Пользовательские данные устанавливаемые при подключении обработчика сигнала.

Возвращает:

TRUE если сигнал был обработан

Начиная с версии 2.6


Сигнал "match-selected"

gboolean    user_function                  (GtkEntryCompletion *widget,
                                            GtkTreeModel       *model,
                                            GtkTreeIter        *iter,
                                            gpointer            user_data)      : Run last

Издаётся когда соответствие из списка выбрано. По умолчанию переписывает содержимое ввода содержимым строки столбца на которую указывает iter.

widget :

объект получающий сигнал.

model :

GtkTreeModel содержащая соответствия

iter :

GtkTreeIter позиционируемое выбранным соответствием

user_data :

Пользовательские данные устанавливаемые при подключении обработчика сигнала.

Возвращает:

TRUE если сигнал был обработан

Начиная с версии 2.4




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру