| 
	
		| gtkimcontext 
			gtkimcontext — базовый класс для системы
			ввода контекста |  |  краткое описание
#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
описаниедеталиgtkimcontexttypedef struct _gtkimcontext gtkimcontext; 
 gtk_im_context_set_client_window ()void        gtk_im_context_set_client_window
                                            (gtkimcontext *context,
                                             gdkwindow *window);
устанавливает клиентское окно для ввода
контекста; это gdkwindow
в котором появляется ввод. это окно
используется для правильного
позиционирования окон, а также может
использоваться для внутренних целей
системы ввода. 
	
	
	
		| context:
 | gtkimcontext 
			 |  
		| window:
 | клиентское окно. может быть nullуказывая что предварительно установленное
			клиентское окно больше не существует. |  
 gtk_im_context_get_preedit_string ()void        gtk_im_context_get_preedit_string
                                            (gtkimcontext *context,
                                             gchar **str,
                                             pangoattrlist **attrs,
                                             gint *cursor_pos);
определяет предварительно отредактированную
строку введенного контекста, а также
список атрибутов применяемых к строке.
эта строка должна отображаться в
расположении курсора. 
	
	
	
		| context:
 | gtkimcontext 
			 |  
		| str:
 | определяемая строка. определяемая
			строка должна освобождаться с помощью
			g_free(). |  
		| attrs:
 | определяемый список атрибутов. после
			использования этого списка вы должны
			отменить ссылки на него с помощью
			pango_attr_list_unref(). |  
		| cursor_pos:
 | позиция для курсора (в символах)
			внутри предварительно редактируемой
			строки. 
			 |  
 gtk_im_context_filter_keypress ()gboolean    gtk_im_context_filter_keypress  (gtkimcontext *context,
                                             gdkeventkey *event);
позволяет системе ввода внутренне
обрабатывать нажатие клавиши и производить
события. если эта функция возвращает
true,
то никакая дальнейшая обработка для
данного ключевого события не производится. 
	
	
	
		| context:
 | gtkimcontext 
			 |  
		| event:
 | ключевое событие 
			 |  
		| возвращает : | trueесли метод ввода обработал ключевое
			событие.
 |  
 gtk_im_context_focus_in ()void        gtk_im_context_focus_in         (gtkimcontext *context); 
уведомляет о том, что виджет системы
ввода находится в фокусе. система ввода
может, например, изменить отображение
для отражения этого изменения. 
 gtk_im_context_focus_out ()void        gtk_im_context_focus_out        (gtkimcontext *context); 
уведомляет о том, что виджет системы
ввода потерял фокус. система ввода
может, например, изменить отображение
или освободить пространство контекста
для отражения этих изменений. 
 gtk_im_context_reset ()void        gtk_im_context_reset            (gtkimcontext *context); 
уведомляет систему ввода о некоторых
изменениях, таких как смена позиции
курсора. это обычно заставляет систему
ввода очищать пространство предварительного
редактирования. 
 gtk_im_context_set_cursor_location ()void        gtk_im_context_set_cursor_location
                                            (gtkimcontext *context,
                                             gdkrectangle *area);
уведомляет систему ввода о смене позиции
курсора. расположение относительно
клиентского окна. 
 gtk_im_context_set_use_preedit ()void        gtk_im_context_set_use_preedit  (gtkimcontext *context,
                                             gboolean use_preedit);
устанавливает должен ли im context использовать
предварительное редактирование строки
для отображения. если use_preeditэто false (по умолчанию true), то im context может
использовать другой метод отображения,
например отображение в дочернем  элементе
основного окна. 
	
	
	
		| context:
 | gtkimcontext 
			 |  
		| use_preedit:
 | должен ли im context использовать
			предварительное редактирование
			строки. 
			 |  
 gtk_im_context_set_surrounding ()void        gtk_im_context_set_surrounding  (gtkimcontext *context,
                                             const gchar *text,
                                             gint len,
                                             gint cursor_index);
устанавливает текст возле курсора и
строки предварительного редактирования.
эта функция вызывается в ответ на сигнал
gtkimcontext::retrieve_surrounding, и не имеет эффекта
в любом другом случае. 
	
	
	
		| context:
 | gtkimcontext 
			 |  
		| text:
 | текст рядом с курсором, в кодировке
			utf-8. строка предварительного
			редактирования не должна помещаться
			в text. |  
		| len:
 | длина text, или -1 еслиtextзавершается nul-terminated |  
		| cursor_index:
 | указатель вставки курсора в тексте
			text. |  
 gtk_im_context_get_surrounding ()gboolean    gtk_im_context_get_surrounding  (gtkimcontext *context,
                                             gchar **text,
                                             gint *cursor_index);
определяет содержимое возле курсора.
системам ввода обычно нужен контекст
для ограничения ввода текста основываясь
на существующем тексте; это важно для
языков типа тайского (thai), в котором
позволяются только некоторые
последовательности символов. 
 эта функция реализуется изданием
сигнала gtkimcontext::retrieve_surrounding в системе
ввода; в ответ на этот сигнал, виджет
должен обеспечить максимально возможное
количество контекста, до полного
параграфа, вызывая gtk_im_context_set_surrounding().
помните что виджет не обязан отвечать
на сигнал ::retrieve_surrounding, поэтому система
ввода должна быть готова функционировать
без контекста. 
	
	
	
		| context:
 | gtkimcontext 
			 |  
		| text:
 | utf-8 строка текста содержимого
			контекста возле курсора. если функция
			возвращает true,
			то вы должны освободить эту строку с
			помощьюg_free(). |  
		| cursor_index:
 | указатель курсора внутри текста
			text. |  
		| возвращает : | trueесли близлежащий текст был предоставлен;
			в этом случае вы должны освободить
			*text.
 |  
 gtk_im_context_delete_surrounding ()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()для получения текущемго контекста, а
сразу после этого вызвать эту функцию,
чтобы быть уверенным в том что удаляете.
вы также должны учитывать тот факт, что
даже если сигнал был обработан, контекст
ввода возможно удалит не все символы
которые были запрошены для удаления. эта функция используется системой
ввода, которая хочет создать замещение
существующего текста в ответ на новый
ввод. это не очень полезно для приложений. 
	
	
	
		| context:
 | gtkimcontext 
			 |  
		| offset:
 | смещение от позиции курсора в
			символах; отрицательное значение
			означает о позиции сразу после курсора.
						 |  
		| n_chars:
 | количество символов для удаления. 
			 |  
		| возвращает : | trueесли сигнал был обработан.
 |  детали сигналовсигнал "commit"void        user_function                  (gtkimcontext *imcontext,
                                            gchar        *arg1,
                                            gpointer      user_data)      : run last
	
	
	
		| imcontext:
 | объект получающий сигнал. 
			 |  
		| arg1:
 |  |  
		| user_data:
 | данные устанавливаемые при подключении
			обработчика сигнала. |  
 сигнал "delete-surrounding"gboolean    user_function                  (gtkimcontext *imcontext,
                                            gint          arg1,
                                            gint          arg2,
                                            gpointer      user_data)      : run last
	
	
	
		| imcontext:
 | объект получающий сигнал. 
			 |  
		| arg1:
 |  |  
		| arg2:
 |  |  
		| user_data:
 | данные устанавливаемые при подключении
			обработчика сигнала. |  
		| возвращает : |  |  
 сигнал "preedit-changed"void        user_function                  (gtkimcontext *imcontext,
                                            gpointer      user_data)      : run last
	
	
	
		| imcontext:
 | объект получающий сигнал. 
			 |  
		| user_data:
 | данные устанавливаемые при подключении
			обработчика сигнала. |  
 сигнал "preedit-end"void        user_function                  (gtkimcontext *imcontext,
                                            gpointer      user_data)      : run last
	
	
	
		| imcontext:
 | объект получающий сигнал. 
			 |  
		| user_data:
 | данные устанавливаемые при подключении
			обработчика сигнала. |  
 сигнал "preedit-start"void        user_function                  (gtkimcontext *imcontext,
                                            gpointer      user_data)      : run last
	
	
	
		| imcontext:
 | объект получающий сигнал. 
			 |  
		| user_data:
 | данные устанавливаемые при подключении
			обработчика сигнала. |  
 сигнал "retrieve-surrounding"gboolean    user_function                  (gtkimcontext *imcontext,
                                            gpointer      user_data)      : run last
	
	
	
		| imcontext:
 | объект получающий сигнал. 
			 |  
		| user_data:
 | данные устанавливаемые при подключении
			обработчика сигнала. |  
		| 
 |  |  
 
 |