| IBus Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Properties | Signals | ||||
struct IBusEngine; struct IBusEngineClass; IBusEngine * ibus_engine_new (const gchar *engine_name,const gchar *object_path,GDBusConnection *connection); IBusEngine * ibus_engine_new_with_type (GType engine_type,const gchar *engine_name,const gchar *object_path,GDBusConnection *connection); void ibus_engine_commit_text (IBusEngine *engine,IBusText *text); void ibus_engine_update_preedit_text (IBusEngine *engine,IBusText *text,guint cursor_pos,gboolean visible); void ibus_engine_update_preedit_text_with_mode (IBusEngine *engine,IBusText *text,guint cursor_pos,gboolean visible,IBusPreeditFocusMode mode); void ibus_engine_show_preedit_text (IBusEngine *engine); void ibus_engine_hide_preedit_text (IBusEngine *engine); void ibus_engine_update_auxiliary_text (IBusEngine *engine,IBusText *text,gboolean visible); void ibus_engine_show_auxiliary_text (IBusEngine *engine); void ibus_engine_hide_auxiliary_text (IBusEngine *engine); void ibus_engine_update_lookup_table (IBusEngine *engine,IBusLookupTable *lookup_table,gboolean visible); void ibus_engine_update_lookup_table_fast (IBusEngine *engine,IBusLookupTable *lookup_table,gboolean visible); void ibus_engine_show_lookup_table (IBusEngine *engine); void ibus_engine_hide_lookup_table (IBusEngine *engine); void ibus_engine_forward_key_event (IBusEngine *engine,guint keyval,guint keycode,guint state); void ibus_engine_register_properties (IBusEngine *engine,IBusPropList *prop_list); void ibus_engine_update_property (IBusEngine *engine,IBusProperty *prop); void ibus_engine_delete_surrounding_text (IBusEngine *engine,gint offset,guint nchars); void ibus_engine_get_surrounding_text (IBusEngine *engine,IBusText **text,guint *cursor_pos,guint *anchor_pos); void ibus_engine_get_content_type (IBusEngine *engine,guint *purpose,guint *hints); const gchar * ibus_engine_get_name (IBusEngine *engine);
"cancel-hand-writing" :Run Last"candidate-clicked" :Run Last"cursor-down" :Run Last"cursor-up" :Run Last"disable" :Run Last"enable" :Run Last"focus-in" :Run Last"focus-out" :Run Last"page-down" :Run Last"page-up" :Run Last"process-hand-writing-event" :Run Last"process-key-event" :Run Last"property-activate" :Run Last"property-hide" :Run Last"property-show" :Run Last"reset" :Run Last"set-capabilities" :Run Last"set-content-type" :Run Last"set-cursor-location" :Run Last"set-surrounding-text" :Run Last
An IBusEngine provides infrastructure for input method engine. Developers can "extend" this class for input method engine development.
see_also: IBusComponent, IBusEngineDesc
struct IBusEngine {
gboolean enabled;
gboolean has_focus;
/* cursor location */
IBusRectangle cursor_area;
guint client_capabilities;
};
IBusEngine properties.
| Whether the engine is enabled. | |
| Whether the engine has focus. | |
IBusRectangle |
Area of cursor. |
| IBusCapabilite (client capabilities) flags. |
struct IBusEngineClass {
/* signals */
gboolean (* process_key_event)
(IBusEngine *engine,
guint keyval,
guint keycode,
guint state);
void (* focus_in) (IBusEngine *engine);
void (* focus_out) (IBusEngine *engine);
void (* reset) (IBusEngine *engine);
void (* enable) (IBusEngine *engine);
void (* disable) (IBusEngine *engine);
void (* set_cursor_location)
(IBusEngine *engine,
gint x,
gint y,
gint w,
gint h);
void (* set_capabilities)
(IBusEngine *engine,
guint caps);
void (* page_up) (IBusEngine *engine);
void (* page_down) (IBusEngine *engine);
void (* cursor_up) (IBusEngine *engine);
void (* cursor_down) (IBusEngine *engine);
void (* property_activate)
(IBusEngine *engine,
const gchar *prop_name,
guint prop_state);
void (* property_show) (IBusEngine *engine,
const gchar *prop_name);
void (* property_hide) (IBusEngine *engine,
const gchar *prop_name);
void (* candidate_clicked)
(IBusEngine *engine,
guint index,
guint button,
guint state);
void (* set_surrounding_text)
(IBusEngine *engine,
IBusText *text,
guint cursor_index,
guint anchor_pos);
void (* process_hand_writing_event)
(IBusEngine *engine,
const gdouble *coordinates,
guint coordinates_len);
void (* cancel_hand_writing)
(IBusEngine *engine,
guint n_strokes);
void (* set_content_type)
(IBusEngine *engine,
guint purpose,
guint hints);
};
IBusEngine * ibus_engine_new (const gchar *engine_name,const gchar *object_path,GDBusConnection *connection);
New an IBusEngine.
|
Name of the IBusObject. |
|
Path for IBusService. |
|
An opened GDBusConnection. |
Returns : |
A newly allocated IBusEngine. |
IBusEngine * ibus_engine_new_with_type (GType engine_type,const gchar *engine_name,const gchar *object_path,GDBusConnection *connection);
New an IBusEngine.
|
GType of IBusEngine. |
|
Name of the IBusObject. |
|
Path for IBusService. |
|
An opened GDBusConnection. |
Returns : |
A newly allocated IBusEngine. |
void ibus_engine_commit_text (IBusEngine *engine,IBusText *text);
Commit output of input method to IBus client.
(Note: The text object will be released, if it is floating. If caller want to keep the object, caller should make the object sink by g_object_ref_sink.)
|
An IBusEngine. |
|
String commit to IBusEngine. |
void ibus_engine_update_preedit_text (IBusEngine *engine,IBusText *text,guint cursor_pos,gboolean visible);
Update the pre-edit buffer.
(Note: The text object will be released, if it is floating. If caller want to keep the object, caller should make the object sink by g_object_ref_sink.)
|
An IBusEngine. |
|
Update content. |
|
Current position of cursor |
|
Whether the pre-edit buffer is visible. |
void ibus_engine_update_preedit_text_with_mode (IBusEngine *engine,IBusText *text,guint cursor_pos,gboolean visible,IBusPreeditFocusMode mode);
Update the pre-edit buffer with commit mode. Similar to
ibus_engine_update_preedit_text(), this function allows users to specify
the behavior on focus out when the pre-edit buffer is visible.
If mode is IBUS_ENGINE_PREEDIT_COMMIT, contents of the pre-edit buffer
will be comitted and cleared.
If mode is IBUS_ENGINE_PREEDIT_CLEAR, contents of the pre-edit buffer
will be cleared only.
(Note: The text object will be released, if it is floating. If caller want to keep the object, caller should make the object sink by g_object_ref_sink.)
|
An IBusEngine. |
|
Update content. |
|
Current position of cursor |
|
Whether the pre-edit buffer is visible. |
|
Pre-edit commit mode when the focus is lost. |
void ibus_engine_show_preedit_text (IBusEngine *engine);
Show the pre-edit buffer.
|
An IBusEngine. |
void ibus_engine_hide_preedit_text (IBusEngine *engine);
Hide the pre-edit buffer.
|
An IBusEngine. |
void ibus_engine_update_auxiliary_text (IBusEngine *engine,IBusText *text,gboolean visible);
Update the auxiliary bar.
(Note: The text object will be released, if it is floating. If caller want to keep the object, caller should make the object sink by g_object_ref_sink.)
|
An IBusEngine. |
|
Update content. |
|
Whether the auxiliary text bar is visible. |
void ibus_engine_show_auxiliary_text (IBusEngine *engine);
Show the auxiliary bar.
|
An IBusEngine. |
void ibus_engine_hide_auxiliary_text (IBusEngine *engine);
Hide the auxiliary bar.
|
An IBusEngine. |
void ibus_engine_update_lookup_table (IBusEngine *engine,IBusLookupTable *lookup_table,gboolean visible);
Update the lookup table.
(Note: The table object will be released, if it is floating. If caller want to keep the object, caller should make the object sink by g_object_ref_sink.)
|
An IBusEngine. |
|
An lookup_table. |
|
Whether the lookup_table is visible. |
void ibus_engine_update_lookup_table_fast (IBusEngine *engine,IBusLookupTable *lookup_table,gboolean visible);
Fast update for big lookup table.
If size of lookup table is not over table page size *4,
then it calls ibus_engine_update_lookup_table().
(Note: The table object will be released, if it is floating. If caller want to keep the object, caller should make the object sink by g_object_ref_sink.)
|
An IBusEngine. |
|
An lookup_table. |
|
Whether the lookup_table is visible. |
void ibus_engine_show_lookup_table (IBusEngine *engine);
Show the lookup table.
|
An IBusEngine. |
void ibus_engine_hide_lookup_table (IBusEngine *engine);
Hide the lookup table.
|
An IBusEngine. |
void ibus_engine_forward_key_event (IBusEngine *engine,guint keyval,guint keycode,guint state);
Forward the key event.
|
An IBusEngine. |
|
KeySym. |
|
keyboard scancode. |
|
Key modifier flags. |
void ibus_engine_register_properties (IBusEngine *engine,IBusPropList *prop_list);
Register and show properties in language bar.
(Note: The prop_list object will be released, if it is floating. If caller want to keep the object, caller should make the object sink by g_object_ref_sink.)
|
An IBusEngine. |
|
Property List. |
void ibus_engine_update_property (IBusEngine *engine,IBusProperty *prop);
Update the state displayed in language bar.
(Note: The prop object will be released, if it is floating. If caller want to keep the object, caller should make the object sink by g_object_ref_sink.)
|
An IBusEngine. |
|
IBusProperty to be updated. |
void ibus_engine_delete_surrounding_text (IBusEngine *engine,gint offset,guint nchars);
Delete surrounding text.
|
An IBusEngine. |
|
The offset of the first char. |
|
Number of chars to be deleted. |
void ibus_engine_get_surrounding_text (IBusEngine *engine,IBusText **text,guint *cursor_pos,guint *anchor_pos);
Get surrounding text.
It is also used to tell the input-context that the engine will
utilize surrounding-text. In that case, it must be called in
"enable" handler, with both text and cursor set to
NULL.
See also: "set-surrounding-text"
|
An IBusEngine. |
|
Location to store surrounding text. [out][transfer none][allow-none] |
|
Cursor position in characters in text. [out][allow-none]
|
|
Anchor position of selection in text. [out][allow-none]
|
void ibus_engine_get_content_type (IBusEngine *engine,guint *purpose,guint *hints);
Get content-type (primary purpose and hints) of the current input context.
See also: "set-content-type"
|
An IBusEngine. |
|
Primary purpose of the input context. [out][allow-none] |
|
Hints that augument purpose. [out][allow-none]
|
const gchar * ibus_engine_get_name (IBusEngine *engine);
Return the name of IBusEngine.
|
An IBusEngine. |
Returns : |
Name of IBusEngine. |
"cancel-hand-writing" signalvoid user_function (IBusEngine *engine,
guint n_strokes,
gpointer user_data) : Run Last
Emitted when a hand writing operation is cancelled.
Implement the member function cancel_hand_writing() in extended class to receive this signal.
Argument user_data is ignored in this function.
|
An IBusEngine. |
|
The number of strokes to be removed. 0 means "remove all". |
|
user data set when the signal handler was connected. |
"candidate-clicked" signalvoid user_function (IBusEngine *engine,
guint index,
guint button,
guint state,
gpointer user_data) : Run Last
Emitted when candidate on lookup table is clicked.
Implement the member function candidate_clicked() in extended class to receive this signal.
Argument user_data is ignored in this function.
|
An IBusEngine. |
|
Index of candidate be clicked. |
|
Mouse button. |
|
Keyboard state. |
|
user data set when the signal handler was connected. |
"cursor-down" signalvoid user_function (IBusEngine *engine,
gpointer user_data) : Run Last
Emitted when the down cursor button is pressed.
Implement the member function cursor_down() in extended class to receive this signal.
Argument user_data is ignored in this function.
|
An IBusEngine. |
|
user data set when the signal handler was connected. |
"cursor-up" signalvoid user_function (IBusEngine *engine,
gpointer user_data) : Run Last
Emitted when the up cursor button is pressed.
Implement the member function cursor_up() in extended class to receive this signal.
Argument user_data is ignored in this function.
|
An IBusEngine. |
|
user data set when the signal handler was connected. |
"disable" signalvoid user_function (IBusEngine *engine,
gpointer user_data) : Run Last
Emitted when the IME is disabled.
Implement the member function set_disable() in extended class to receive this signal.
See also: ibus_input_context_disable().
Argument user_data is ignored in this function.
|
An IBusEngine. |
|
user data set when the signal handler was connected. |
"enable" signalvoid user_function (IBusEngine *engine,
gpointer user_data) : Run Last
Emitted when the IME is enabled.
Implement the member function set_enable() in extended class to receive this signal.
See also: ibus_input_context_enable().
Argument user_data is ignored in this function.
|
An IBusEngine. |
|
user data set when the signal handler was connected. |
"focus-in" signalvoid user_function (IBusEngine *engine,
gpointer user_data) : Run Last
Emitted when the client application get the focus.
Implement the member function focus_in() in extended class to receive this signal.
See also: ibus_input_context_focus_in()
Argument user_data is ignored in this function.
|
An IBusEngine. |
|
user data set when the signal handler was connected. |
"focus-out" signalvoid user_function (IBusEngine *engine,
gpointer user_data) : Run Last
Emitted when the client application lost the focus.
Implement the member function focus_out() in extended class to receive this signal.
See also: ibus_input_context_focus_out()
Argument user_data is ignored in this function.
|
An IBusEngine. |
|
user data set when the signal handler was connected. |
"page-down" signalvoid user_function (IBusEngine *engine,
gpointer user_data) : Run Last
Emitted when the page-down button is pressed.
Implement the member function page_down() in extended class to receive this signal.
Argument user_data is ignored in this function.
|
An IBusEngine. |
|
user data set when the signal handler was connected. |
"page-up" signalvoid user_function (IBusEngine *engine,
gpointer user_data) : Run Last
Emitted when the page-up button is pressed.
Implement the member function page_up() in extended class to receive this signal.
Argument user_data is ignored in this function.
|
An IBusEngine. |
|
user data set when the signal handler was connected. |
"process-hand-writing-event" signalvoid user_function (IBusEngine *engine,
gpointer coordinates,
guint coordinates_len,
gpointer user_data) : Run Last
Emitted when a hand writing operation is cancelled.
Implement the member function cancel_hand_writing() in extended class to receive this signal.
Argument user_data is ignored in this function.
|
An IBusEngine. |
|
An array of double (0.0 to 1.0) which represents a stroke (i.e. [x1, y1, x2, y2, x3, y3, ...]). |
|
The number of elements in the array. |
|
user data set when the signal handler was connected. |
"process-key-event" signalgboolean user_function (IBusEngine *engine,
guint keyval,
guint keycode,
guint state,
gpointer user_data) : Run Last
Emitted when a key event is received.
Implement the member function process_key_event() in extended class to receive this signal.
Both the key symbol and keycode are passed to the member function.
See ibus_input_context_process_key_event() for further explanation of
key symbol, keycode and which to use.
|
An IBusEngine. |
|
Key symbol of the key press. |
|
KeyCode of the key press. |
|
Key modifier flags. |
|
user data set when the signal handler was connected. |
Returns : |
TRUE for successfully process the key; FALSE otherwise.
See also: ibus_input_context_process_key_event().
NoteArgument |
"property-activate" signalvoid user_function (IBusEngine *engine,
gchar *name,
guint state,
gpointer user_data) : Run Last
Emitted when a property is activated or change changed.
Implement the member function property_activate() in extended class to receive this signal.
Argument user_data is ignored in this function.
|
An IBusEngine. |
|
Property name. |
|
Property state. |
|
user data set when the signal handler was connected. |
"property-hide" signalvoid user_function (IBusEngine *engine,
gchar *name,
gpointer user_data) : Run Last
Emitted when a property is hidden.
Implement the member function property_hide() in extended class to receive this signal.
Argument user_data is ignored in this function.
|
An IBusEngine. |
|
Property name. |
|
user data set when the signal handler was connected. |
"property-show" signalvoid user_function (IBusEngine *engine,
gchar *name,
gpointer user_data) : Run Last
Emitted when a property is shown.
Implement the member function property_side() in extended class to receive this signal.
Argument user_data is ignored in this function.
|
An IBusEngine. |
|
Property name. |
|
user data set when the signal handler was connected. |
"reset" signalvoid user_function (IBusEngine *engine,
gpointer user_data) : Run Last
Emitted when the IME is reset.
Implement the member function reset() in extended class to receive this signal.
See also: ibus_input_context_reset().
Argument user_data is ignored in this function.
|
An IBusEngine. |
|
user data set when the signal handler was connected. |
"set-capabilities" signalvoid user_function (IBusEngine *engine,
guint caps,
gpointer user_data) : Run Last
Emitted when the client application capabilities is set.
Implement the member function set_capabilities() in extended class to receive this signal.
See also: ibus_input_context_set_capabilities().
Argument user_data is ignored in this function.
|
An IBusEngine. |
|
Capabilities flags of IBusEngine, see IBusCapabilite |
|
user data set when the signal handler was connected. |
"set-content-type" signalvoid user_function (IBusEngine *engine,
guint purpose,
guint hints,
gpointer user_data) : Run Last
Emitted when the client application content-type (primary
purpose and hints) is set. The engine could change the
behavior according to the content-type. Implement the member
function set_content_type() in extended class to receive this
signal.
For example, if the client application wants to restrict input
to numbers, this signal will be emitted with purpose set to
IBUS_INPUT_PURPOSE_NUMBER, so the engine can switch the input
mode to latin.
Argument user_data is ignored in this
function.
|
An IBusEngine. |
|
Primary purpose of the input context, as an IBusInputPurpose. |
|
Hints that augment purpose, as an IBusInputHints. |
|
user data set when the signal handler was connected. |
"set-cursor-location" signalvoid user_function (IBusEngine *engine,
gint x,
gint y,
gint w,
gint h,
gpointer user_data) : Run Last
Emitted when the location of IME is set.
Implement the member function set_cursor_location() in extended class to receive this signal.
See also: ibus_input_context_set_cursor_location().
Argument user_data is ignored in this function.
|
An IBusEngine. |
|
X coordinate of the cursor. |
|
Y coordinate of the cursor. |
|
Width of the cursor. |
|
Height of the cursor. |
|
user data set when the signal handler was connected. |
"set-surrounding-text" signalvoid user_function (IBusEngine *engine,
GObject *text,
guint cursor_pos,
guint anchor_pos,
gpointer user_data) : Run Last
Emitted when a surrounding text is set.
Implement the member function set_surrounding_text() in extended class to receive this signal.
If anchor_pos equals to cursor_pos, it means "there are no selection" or "does not support
selection retrival".
Argument user_data is ignored in this function.
|
An IBusEngine. |
|
The surrounding text. |
|
The cursor position on surrounding text. |
|
The anchor position on selection area. |
|
user data set when the signal handler was connected. |