| 
 | |
|  | 
| GTK+ Reference Manual | ||||
|---|---|---|---|---|
| GtkIMContextGtkIMContext Базовый класс для системы ввода контекста | 
#include <gtk/gtk.h>
            GtkIMContext;
void        gtk_im_context_set_client_window
                                            (GtkIMContext *context,
                                             GdkWindow *window);
void        gtk_im_context_get_preedit_string
                                            (GtkIMContext *context,
                                             gchar **str,
                                             PangoAttrList **attrs,
                                             gint *cursor_pos);
gboolean    gtk_im_context_filter_keypress  (GtkIMContext *context,
                                             GdkEventKey *event);
void        gtk_im_context_focus_in         (GtkIMContext *context);
void        gtk_im_context_focus_out        (GtkIMContext *context);
void        gtk_im_context_reset            (GtkIMContext *context);
void        gtk_im_context_set_cursor_location
                                            (GtkIMContext *context,
                                             GdkRectangle *area);
void        gtk_im_context_set_use_preedit  (GtkIMContext *context,
                                             gboolean use_preedit);
void        gtk_im_context_set_surrounding  (GtkIMContext *context,
                                             const gchar *text,
                                             gint len,
                                             gint cursor_index);
gboolean    gtk_im_context_get_surrounding  (GtkIMContext *context,
                                             gchar **text,
                                             gint *cursor_index);
gboolean    gtk_im_context_delete_surrounding
                                            (GtkIMContext *context,
                                             gint offset,
                                             gint n_chars);
  GObject
   +----GtkIMContext
         +----GtkIMContextSimple
         +----GtkIMMulticontext
"commit"    void        user_function      (GtkIMContext *imcontext,
                                            gchar        *arg1,
                                            gpointer      user_data)      : Run last
"delete-surrounding"
            gboolean    user_function      (GtkIMContext *imcontext,
                                            gint          arg1,
                                            gint          arg2,
                                            gpointer      user_data)      : Run last
"preedit-changed"
            void        user_function      (GtkIMContext *imcontext,
                                            gpointer      user_data)      : Run last
"preedit-end"
            void        user_function      (GtkIMContext *imcontext,
                                            gpointer      user_data)      : Run last
"preedit-start"
            void        user_function      (GtkIMContext *imcontext,
                                            gpointer      user_data)      : Run last
"retrieve-surrounding"
            gboolean    user_function      (GtkIMContext *imcontext,
                                            gpointer      user_data)      : Run last
typedef struct _GtkIMContext GtkIMContext;
void        gtk_im_context_set_client_window
                                            (GtkIMContext *context,
                                             GdkWindow *window);Устанавливает клиентское окно для ввода контекста; это GdkWindow в котором появляется ввод. Это окно используется для правильного позиционирования окон, а также может использоваться для внутренних целей системы ввода.
| 
 | |
| 
 | Клиентское окно. Может быть  | 
void        gtk_im_context_get_preedit_string
                                            (GtkIMContext *context,
                                             gchar **str,
                                             PangoAttrList **attrs,
                                             gint *cursor_pos);Определяет предварительно отредактированную строку введенного контекста, а также список атрибутов применяемых к строке. Эта строка должна отображаться в расположении курсора.
| 
 | |
| 
 | Определяемая строка. Определяемая
			строка должна освобождаться с помощью
			 | 
| 
 | Определяемый список атрибутов. После
			использования этого списка вы должны
			отменить ссылки на него с помощью
			 | 
| 
 | Позиция для курсора (в символах) внутри предварительно редактируемой строки. | 
gboolean    gtk_im_context_filter_keypress  (GtkIMContext *context,
                                             GdkEventKey *event);
Позволяет системе ввода внутренне
обрабатывать нажатие клавиши и производить
события. Если эта функция возвращает
TRUE,
то никакая дальнейшая обработка для
данного ключевого события не производится.
| 
 | |
| 
 | Ключевое событие | 
| Возвращает : | 
 | 
void gtk_im_context_focus_in (GtkIMContext *context);
Уведомляет о том, что виджет системы ввода находится в фокусе. Система ввода может, например, изменить отображение для отражения этого изменения.
| 
 | 
void gtk_im_context_focus_out (GtkIMContext *context);
Уведомляет о том, что виджет системы ввода потерял фокус. Система ввода может, например, изменить отображение или освободить пространство контекста для отражения этих изменений.
| 
 | 
void gtk_im_context_reset (GtkIMContext *context);
Уведомляет систему ввода о некоторых изменениях, таких как смена позиции курсора. Это обычно заставляет систему ввода очищать пространство предварительного редактирования.
| 
 | 
void        gtk_im_context_set_cursor_location
                                            (GtkIMContext *context,
                                             GdkRectangle *area);Уведомляет систему ввода о смене позиции курсора. Расположение относительно клиентского окна.
| 
 | |
| 
 | Новое расположение | 
void        gtk_im_context_set_use_preedit  (GtkIMContext *context,
                                             gboolean use_preedit);
Устанавливает должен ли IM context использовать
предварительное редактирование строки
для отображения. Если use_preedit
это FALSE (по умолчанию TRUE), то IM context может
использовать другой метод отображения,
например отображение в дочернем  элементе
основного окна.
| 
 | |
| 
 | Должен ли IM context использовать предварительное редактирование строки. | 
void        gtk_im_context_set_surrounding  (GtkIMContext *context,
                                             const gchar *text,
                                             gint len,
                                             gint cursor_index);Устанавливает текст возле курсора и строки предварительного редактирования. Эта функция вызывается в ответ на сигнал GtkIMContext::retrieve_surrounding, и не имеет эффекта в любом другом случае.
| 
 | |
| 
 | Текст рядом с курсором, в кодировке
			UTF-8. Строка предварительного
			редактирования не должна помещаться
			в  | 
| 
 | Длина  | 
| 
 | Указатель вставки курсора в тексте
			 | 
gboolean    gtk_im_context_get_surrounding  (GtkIMContext *context,
                                             gchar **text,
                                             gint *cursor_index);Определяет содержимое возле курсора. Системам ввода обычно нужен контекст для ограничения ввода текста основываясь на существующем тексте; это важно для языков типа Тайского (Thai), в котором позволяются только некоторые последовательности символов.
Эта функция реализуется изданием
сигнала GtkIMContext::retrieve_surrounding в системе
ввода; в ответ на этот сигнал, виджет
должен обеспечить максимально возможное
количество контекста, до полного
параграфа, вызывая gtk_im_context_set_surrounding().
Помните что виджет не обязан отвечать
на сигнал ::retrieve_surrounding, поэтому система
ввода должна быть готова функционировать
без контекста.
| 
 | |
| 
 | UTF-8 строка текста содержимого
			контекста возле курсора. Если функция
			возвращает  | 
| 
 | Указатель курсора внутри текста
			 | 
| Возвращает : | 
 | 
gboolean    gtk_im_context_delete_surrounding
                                            (GtkIMContext *context,
                                             gint offset,
                                             gint n_chars);
Запрашивает виджет, к которому прикреплён
контекст ввода, на предмет удаления
символов возле курсора, в ответ на сигнал
GtkIMContext::delete_surrounding. Помните что offset
и n_chars измеряются в символах
а не байтах, что отличается от использования
в других местах GtkIMContext. 
Для использования этой функции, вы
должны сначала вызвать
gtk_im_context_get_surrounding()
для получения текущемго контекста, а
сразу после этого вызвать эту функцию,
чтобы быть уверенным в том что удаляете.
Вы также должны учитывать тот факт, что
даже если сигнал был обработан, контекст
ввода возможно удалит не все символы
которые были запрошены для удаления. 
Эта функция используется системой ввода, которая хочет создать замещение существующего текста в ответ на новый ввод. Это не очень полезно для приложений.
| 
 | |
| 
 | Смещение от позиции курсора в символах; отрицательное значение означает о позиции сразу после курсора. | 
| 
 | Количество символов для удаления. | 
| Возвращает : | 
 | 
void        user_function                  (GtkIMContext *imcontext,
                                            gchar        *arg1,
                                            gpointer      user_data)      : Run last
| 
 | объект получающий сигнал. | 
| 
 | |
| 
 | данные устанавливаемые при подключении обработчика сигнала. | 
gboolean    user_function                  (GtkIMContext *imcontext,
                                            gint          arg1,
                                            gint          arg2,
                                            gpointer      user_data)      : Run last
| 
 | объект получающий сигнал. | 
| 
 | |
| 
 | |
| 
 | данные устанавливаемые при подключении обработчика сигнала. | 
| Возвращает : | 
void        user_function                  (GtkIMContext *imcontext,
                                            gpointer      user_data)      : Run last
| 
 | объект получающий сигнал. | 
| 
 | данные устанавливаемые при подключении обработчика сигнала. | 
void        user_function                  (GtkIMContext *imcontext,
                                            gpointer      user_data)      : Run last
| 
 | объект получающий сигнал. | 
| 
 | данные устанавливаемые при подключении обработчика сигнала. | 
void        user_function                  (GtkIMContext *imcontext,
                                            gpointer      user_data)      : Run last
| 
 | объект получающий сигнал. | 
| 
 | данные устанавливаемые при подключении обработчика сигнала. | 
gboolean    user_function                  (GtkIMContext *imcontext,
                                            gpointer      user_data)      : Run last
| 
 | объект получающий сигнал. | 
| 
 | данные устанавливаемые при подключении обработчика сигнала. | 
| 
 | 
| Закладки на сайте Проследить за страницей | Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |