The OpenNET Project / Index page

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

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

Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy  |  Signals

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

Описание

Детали

GtkIMContext

typedef 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);

Уведомляет о том, что виджет системы ввода находится в фокусе. Система ввода может, например, изменить отображение для отражения этого изменения.

context :

GtkIMContext


gtk_im_context_focus_out ()

void        gtk_im_context_focus_out        (GtkIMContext *context);

Уведомляет о том, что виджет системы ввода потерял фокус. Система ввода может, например, изменить отображение или освободить пространство контекста для отражения этих изменений.

context :

GtkIMContext


gtk_im_context_reset ()

void        gtk_im_context_reset            (GtkIMContext *context);

Уведомляет систему ввода о некоторых изменениях, таких как смена позиции курсора. Это обычно заставляет систему ввода очищать пространство предварительного редактирования.

context :

GtkIMContext


gtk_im_context_set_cursor_location ()

void        gtk_im_context_set_cursor_location
                                            (GtkIMContext *context,
                                             GdkRectangle *area);

Уведомляет систему ввода о смене позиции курсора. Расположение относительно клиентского окна.

context :

GtkIMContext

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 :

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







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

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