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