Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>IBusEngine: IBus Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="IBus Reference Manual">
<link rel="up" href="ch03.html" title="Input method engine">
<link rel="prev" href="IBusComponent.html" title="IBusComponent">
<link rel="next" href="IBusEngineDesc.html" title="IBusEngineDesc">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#IBusEngine.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#IBusEngine.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
                  <a href="#IBusEngine.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
                  <a href="#IBusEngine.signals" class="shortcut">Signals</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="IBusComponent.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="IBusEngineDesc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="IBusEngine"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="IBusEngine.top_of_page"></a>IBusEngine</span></h2>
<p>IBusEngine — Input method engine abstract.</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="IBusEngine.stability-level"></a><h2>Stability Level</h2>
<acronym title="The intention of a Stable interface is to enable arbitrary third parties to
develop applications to these interfaces, release them, and have confidence that
they will run on all minor releases of the product (after the one in which the
interface was introduced, and within the same major release). Even at a major
release, incompatible changes are expected to be rare, and to have strong
justifications.
"><span class="acronym">Stable</span></acronym>, unless otherwise indicated
</div>
<div class="refsect1">
<a name="IBusEngine.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="returnvalue">IBusEngine</span></a> *
</td>
<td class="function_name">
<a class="link" href="IBusEngine.html#ibus-engine-new" title="ibus_engine_new ()">ibus_engine_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="returnvalue">IBusEngine</span></a> *
</td>
<td class="function_name">
<a class="link" href="IBusEngine.html#ibus-engine-new-with-type" title="ibus_engine_new_with_type ()">ibus_engine_new_with_type</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="IBusEngine.html#ibus-engine-commit-text" title="ibus_engine_commit_text ()">ibus_engine_commit_text</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="IBusEngine.html#ibus-engine-update-preedit-text" title="ibus_engine_update_preedit_text ()">ibus_engine_update_preedit_text</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="IBusEngine.html#ibus-engine-update-preedit-text-with-mode" title="ibus_engine_update_preedit_text_with_mode ()">ibus_engine_update_preedit_text_with_mode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="IBusEngine.html#ibus-engine-show-preedit-text" title="ibus_engine_show_preedit_text ()">ibus_engine_show_preedit_text</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="IBusEngine.html#ibus-engine-hide-preedit-text" title="ibus_engine_hide_preedit_text ()">ibus_engine_hide_preedit_text</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="IBusEngine.html#ibus-engine-update-auxiliary-text" title="ibus_engine_update_auxiliary_text ()">ibus_engine_update_auxiliary_text</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="IBusEngine.html#ibus-engine-show-auxiliary-text" title="ibus_engine_show_auxiliary_text ()">ibus_engine_show_auxiliary_text</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="IBusEngine.html#ibus-engine-hide-auxiliary-text" title="ibus_engine_hide_auxiliary_text ()">ibus_engine_hide_auxiliary_text</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="IBusEngine.html#ibus-engine-update-lookup-table" title="ibus_engine_update_lookup_table ()">ibus_engine_update_lookup_table</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="IBusEngine.html#ibus-engine-update-lookup-table-fast" title="ibus_engine_update_lookup_table_fast ()">ibus_engine_update_lookup_table_fast</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="IBusEngine.html#ibus-engine-show-lookup-table" title="ibus_engine_show_lookup_table ()">ibus_engine_show_lookup_table</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="IBusEngine.html#ibus-engine-hide-lookup-table" title="ibus_engine_hide_lookup_table ()">ibus_engine_hide_lookup_table</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="IBusEngine.html#ibus-engine-forward-key-event" title="ibus_engine_forward_key_event ()">ibus_engine_forward_key_event</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="IBusEngine.html#ibus-engine-register-properties" title="ibus_engine_register_properties ()">ibus_engine_register_properties</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="IBusEngine.html#ibus-engine-update-property" title="ibus_engine_update_property ()">ibus_engine_update_property</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="IBusEngine.html#ibus-engine-delete-surrounding-text" title="ibus_engine_delete_surrounding_text ()">ibus_engine_delete_surrounding_text</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="IBusEngine.html#ibus-engine-get-surrounding-text" title="ibus_engine_get_surrounding_text ()">ibus_engine_get_surrounding_text</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="IBusEngine.html#ibus-engine-get-content-type" title="ibus_engine_get_content_type ()">ibus_engine_get_content_type</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
</td>
<td class="function_name">
<a class="link" href="IBusEngine.html#ibus-engine-get-name" title="ibus_engine_get_name ()">ibus_engine_get_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="IBusEngine.properties"></a><h2>Properties</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
<col width="200px" class="properties_flags">
</colgroup>
<tbody><tr>
<td class="property_type">
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
<td class="property_name"><a class="link" href="IBusEngine.html#IBusEngine--engine-name" title="The “engine-name” property">engine-name</a></td>
<td class="property_flags">Read / Write / Construct Only</td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="IBusEngine.signals"></a><h2>Signals</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="signals_return">
<col width="300px" class="signals_name">
<col width="200px" class="signals_flags">
</colgroup>
<tbody>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="IBusEngine.html#IBusEngine-cancel-hand-writing" title="The “cancel-hand-writing” signal">cancel-hand-writing</a></td>
<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="IBusEngine.html#IBusEngine-candidate-clicked" title="The “candidate-clicked” signal">candidate-clicked</a></td>
<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="IBusEngine.html#IBusEngine-cursor-down" title="The “cursor-down” signal">cursor-down</a></td>
<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="IBusEngine.html#IBusEngine-cursor-up" title="The “cursor-up” signal">cursor-up</a></td>
<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="IBusEngine.html#IBusEngine-disable" title="The “disable” signal">disable</a></td>
<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="IBusEngine.html#IBusEngine-enable" title="The “enable” signal">enable</a></td>
<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="IBusEngine.html#IBusEngine-focus-in" title="The “focus-in” signal">focus-in</a></td>
<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="IBusEngine.html#IBusEngine-focus-out" title="The “focus-out” signal">focus-out</a></td>
<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="IBusEngine.html#IBusEngine-page-down" title="The “page-down” signal">page-down</a></td>
<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="IBusEngine.html#IBusEngine-page-up" title="The “page-up” signal">page-up</a></td>
<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="IBusEngine.html#IBusEngine-process-hand-writing-event" title="The “process-hand-writing-event” signal">process-hand-writing-event</a></td>
<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
<td class="signal_name"><a class="link" href="IBusEngine.html#IBusEngine-process-key-event" title="The “process-key-event” signal">process-key-event</a></td>
<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="IBusEngine.html#IBusEngine-property-activate" title="The “property-activate” signal">property-activate</a></td>
<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="IBusEngine.html#IBusEngine-property-hide" title="The “property-hide” signal">property-hide</a></td>
<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="IBusEngine.html#IBusEngine-property-show" title="The “property-show” signal">property-show</a></td>
<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="IBusEngine.html#IBusEngine-reset" title="The “reset” signal">reset</a></td>
<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="IBusEngine.html#IBusEngine-set-capabilities" title="The “set-capabilities” signal">set-capabilities</a></td>
<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="IBusEngine.html#IBusEngine-set-content-type" title="The “set-content-type” signal">set-content-type</a></td>
<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="IBusEngine.html#IBusEngine-set-cursor-location" title="The “set-cursor-location” signal">set-cursor-location</a></td>
<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="IBusEngine.html#IBusEngine-set-surrounding-text" title="The “set-surrounding-text” signal">set-surrounding-text</a></td>
<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="IBusEngine.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody><tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="IBusEngine.html#IBusEngine-struct" title="struct IBusEngine">IBusEngine</a></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="IBusEngine.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
        <span class="lineart">╰──</span> <a class="link" href="IBusObject.html" title="IBusObject">IBusObject</a>
            <span class="lineart">╰──</span> <a class="link" href="IBusService.html" title="IBusService">IBusService</a>
                <span class="lineart">╰──</span> IBusEngine
                    <span class="lineart">╰──</span> <a class="link" href="IBusEngineSimple.html" title="IBusEngineSimple">IBusEngineSimple</a>
</pre>
</div>
<div class="refsect1">
<a name="IBusEngine.description"></a><h2>Description</h2>
<p>An IBusEngine provides infrastructure for input method engine.
Developers can "extend" this class for input method engine development.</p>
<p>see_also: <a class="link" href="IBusComponent.html" title="IBusComponent"><span class="type">IBusComponent</span></a>, <a class="link" href="IBusEngineDesc.html" title="IBusEngineDesc"><span class="type">IBusEngineDesc</span></a></p>
</div>
<div class="refsect1">
<a name="IBusEngine.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="ibus-engine-new"></a><h3>ibus_engine_new ()</h3>
<pre class="programlisting"><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="returnvalue">IBusEngine</span></a> *
ibus_engine_new (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *engine_name</code></em>,
                 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gio/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>);</pre>
<p>Create a new <a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a>.</p>
<div class="refsect3">
<a name="ibus-engine-new.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine_name</p></td>
<td class="parameter_description"><p>Name of the IBusObject.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>object_path</p></td>
<td class="parameter_description"><p>Path for IBusService.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>connection</p></td>
<td class="parameter_description"><p>An opened GDBusConnection.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ibus-engine-new.returns"></a><h4>Returns</h4>
<p> A newly allocated IBusEngine.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-engine-new-with-type"></a><h3>ibus_engine_new_with_type ()</h3>
<pre class="programlisting"><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="returnvalue">IBusEngine</span></a> *
ibus_engine_new_with_type (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> engine_type</code></em>,
                           <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *engine_name</code></em>,
                           <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gio/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>);</pre>
<p>Create a new <a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a>.</p>
<div class="refsect3">
<a name="ibus-engine-new-with-type.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine_type</p></td>
<td class="parameter_description"><p>GType of <a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>engine_name</p></td>
<td class="parameter_description"><p>Name of the IBusObject.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>object_path</p></td>
<td class="parameter_description"><p>Path for IBusService.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>connection</p></td>
<td class="parameter_description"><p>An opened GDBusConnection.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ibus-engine-new-with-type.returns"></a><h4>Returns</h4>
<p> A newly allocated IBusEngine.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-engine-commit-text"></a><h3>ibus_engine_commit_text ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_engine_commit_text (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
                         <em class="parameter"><code><a class="link" href="IBusText.html" title="IBusText"><span class="type">IBusText</span></a> *text</code></em>);</pre>
<p>Commit output of input method to IBus client.</p>
<p>(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.)</p>
<div class="refsect3">
<a name="ibus-engine-commit-text.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>String commit to IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-engine-update-preedit-text"></a><h3>ibus_engine_update_preedit_text ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_engine_update_preedit_text (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
                                 <em class="parameter"><code><a class="link" href="IBusText.html" title="IBusText"><span class="type">IBusText</span></a> *text</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> cursor_pos</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> visible</code></em>);</pre>
<p>Update the pre-edit buffer.</p>
<p>(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.)</p>
<div class="refsect3">
<a name="ibus-engine-update-preedit-text.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>Update content.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cursor_pos</p></td>
<td class="parameter_description"><p>Current position of cursor</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>visible</p></td>
<td class="parameter_description"><p>Whether the pre-edit buffer is visible.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-engine-update-preedit-text-with-mode"></a><h3>ibus_engine_update_preedit_text_with_mode ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_engine_update_preedit_text_with_mode
                               (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
                                <em class="parameter"><code><a class="link" href="IBusText.html" title="IBusText"><span class="type">IBusText</span></a> *text</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> cursor_pos</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> visible</code></em>,
                                <em class="parameter"><code><a class="link" href="ibus-ibustypes.html#IBusPreeditFocusMode" title="enum IBusPreeditFocusMode"><span class="type">IBusPreeditFocusMode</span></a> mode</code></em>);</pre>
<p>Update the pre-edit buffer with commit mode. Similar to
<a class="link" href="IBusEngine.html#ibus-engine-update-preedit-text" title="ibus_engine_update_preedit_text ()"><code class="function">ibus_engine_update_preedit_text()</code></a>, this function allows users to specify
the behavior on focus out when the pre-edit buffer is visible.</p>
<p>If <em class="parameter"><code>mode</code></em>
 is IBUS_ENGINE_PREEDIT_COMMIT, contents of the pre-edit buffer
will be comitted and cleared.
If <em class="parameter"><code>mode</code></em>
 is IBUS_ENGINE_PREEDIT_CLEAR, contents of the pre-edit buffer
will be cleared only.</p>
<p>(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.)</p>
<div class="refsect3">
<a name="ibus-engine-update-preedit-text-with-mode.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>Update content.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cursor_pos</p></td>
<td class="parameter_description"><p>Current position of cursor</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>visible</p></td>
<td class="parameter_description"><p>Whether the pre-edit buffer is visible.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>mode</p></td>
<td class="parameter_description"><p>Pre-edit commit mode when the focus is lost.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-engine-show-preedit-text"></a><h3>ibus_engine_show_preedit_text ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_engine_show_preedit_text (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>);</pre>
<p>Show the pre-edit buffer.</p>
<div class="refsect3">
<a name="ibus-engine-show-preedit-text.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-engine-hide-preedit-text"></a><h3>ibus_engine_hide_preedit_text ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_engine_hide_preedit_text (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>);</pre>
<p>Hide the pre-edit buffer.</p>
<div class="refsect3">
<a name="ibus-engine-hide-preedit-text.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-engine-update-auxiliary-text"></a><h3>ibus_engine_update_auxiliary_text ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_engine_update_auxiliary_text (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
                                   <em class="parameter"><code><a class="link" href="IBusText.html" title="IBusText"><span class="type">IBusText</span></a> *text</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> visible</code></em>);</pre>
<p>Update the auxiliary bar.</p>
<p>(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.)</p>
<div class="refsect3">
<a name="ibus-engine-update-auxiliary-text.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>Update content.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>visible</p></td>
<td class="parameter_description"><p>Whether the auxiliary text bar is visible.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-engine-show-auxiliary-text"></a><h3>ibus_engine_show_auxiliary_text ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_engine_show_auxiliary_text (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>);</pre>
<p>Show the auxiliary bar.</p>
<div class="refsect3">
<a name="ibus-engine-show-auxiliary-text.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-engine-hide-auxiliary-text"></a><h3>ibus_engine_hide_auxiliary_text ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_engine_hide_auxiliary_text (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>);</pre>
<p>Hide the auxiliary bar.</p>
<div class="refsect3">
<a name="ibus-engine-hide-auxiliary-text.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-engine-update-lookup-table"></a><h3>ibus_engine_update_lookup_table ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_engine_update_lookup_table (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
                                 <em class="parameter"><code><a class="link" href="IBusLookupTable.html" title="IBusLookupTable"><span class="type">IBusLookupTable</span></a> *lookup_table</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> visible</code></em>);</pre>
<p>Update the lookup table.</p>
<p>(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.)</p>
<div class="refsect3">
<a name="ibus-engine-update-lookup-table.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>lookup_table</p></td>
<td class="parameter_description"><p>An lookup_table.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>visible</p></td>
<td class="parameter_description"><p>Whether the lookup_table is visible.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-engine-update-lookup-table-fast"></a><h3>ibus_engine_update_lookup_table_fast ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_engine_update_lookup_table_fast (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
                                      <em class="parameter"><code><a class="link" href="IBusLookupTable.html" title="IBusLookupTable"><span class="type">IBusLookupTable</span></a> *lookup_table</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> visible</code></em>);</pre>
<p>Fast update for big lookup table.</p>
<p>If size of lookup table is not over table page size *4,
then it calls <a class="link" href="IBusEngine.html#ibus-engine-update-lookup-table" title="ibus_engine_update_lookup_table ()"><code class="function">ibus_engine_update_lookup_table()</code></a>.</p>
<p>(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.)</p>
<div class="refsect3">
<a name="ibus-engine-update-lookup-table-fast.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>lookup_table</p></td>
<td class="parameter_description"><p>An lookup_table.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>visible</p></td>
<td class="parameter_description"><p>Whether the lookup_table is visible.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-engine-show-lookup-table"></a><h3>ibus_engine_show_lookup_table ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_engine_show_lookup_table (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>);</pre>
<p>Show the lookup table.</p>
<div class="refsect3">
<a name="ibus-engine-show-lookup-table.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-engine-hide-lookup-table"></a><h3>ibus_engine_hide_lookup_table ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_engine_hide_lookup_table (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>);</pre>
<p>Hide the lookup table.</p>
<div class="refsect3">
<a name="ibus-engine-hide-lookup-table.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-engine-forward-key-event"></a><h3>ibus_engine_forward_key_event ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_engine_forward_key_event (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> keyval</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> keycode</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> state</code></em>);</pre>
<p>Forward the key event.</p>
<div class="refsect3">
<a name="ibus-engine-forward-key-event.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>keyval</p></td>
<td class="parameter_description"><p>KeySym.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>keycode</p></td>
<td class="parameter_description"><p>keyboard scancode.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>state</p></td>
<td class="parameter_description"><p>Key modifier flags.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-engine-register-properties"></a><h3>ibus_engine_register_properties ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_engine_register_properties (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
                                 <em class="parameter"><code><a class="link" href="IBusProperty.html#IBusPropList"><span class="type">IBusPropList</span></a> *prop_list</code></em>);</pre>
<p>Register and show properties in language bar.</p>
<p>(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.)</p>
<div class="refsect3">
<a name="ibus-engine-register-properties.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>prop_list</p></td>
<td class="parameter_description"><p>Property List.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-engine-update-property"></a><h3>ibus_engine_update_property ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_engine_update_property (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
                             <em class="parameter"><code><a class="link" href="IBusProperty.html" title="IBusProperty"><span class="type">IBusProperty</span></a> *prop</code></em>);</pre>
<p>Update the state displayed in language bar.</p>
<p>(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.)</p>
<div class="refsect3">
<a name="ibus-engine-update-property.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>prop</p></td>
<td class="parameter_description"><p>IBusProperty to be updated.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-engine-delete-surrounding-text"></a><h3>ibus_engine_delete_surrounding_text ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_engine_delete_surrounding_text (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> offset</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> nchars</code></em>);</pre>
<p>Delete surrounding text.</p>
<div class="refsect3">
<a name="ibus-engine-delete-surrounding-text.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>offset</p></td>
<td class="parameter_description"><p>The offset of the first char.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>nchars</p></td>
<td class="parameter_description"><p>Number of chars to be deleted.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-engine-get-surrounding-text"></a><h3>ibus_engine_get_surrounding_text ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_engine_get_surrounding_text (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
                                  <em class="parameter"><code><a class="link" href="IBusText.html" title="IBusText"><span class="type">IBusText</span></a> **text</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *cursor_pos</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *anchor_pos</code></em>);</pre>
<p>Get surrounding text.</p>
<p>It is also used to tell the input-context that the engine will
utilize surrounding-text.  In that case, it must be called in
<a class="link" href="IBusEngine.html#IBusEngine-enable" title="The “enable” signal"><span class="type">“enable”</span></a> handler, with both <em class="parameter"><code>text</code></em>
 and <em class="parameter"><code>cursor</code></em>
 set to
<a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
<p>See also: <a class="link" href="IBusEngine.html#IBusEngine-set-surrounding-text" title="The “set-surrounding-text” signal"><span class="type">“set-surrounding-text”</span></a></p>
<div class="refsect3">
<a name="ibus-engine-get-surrounding-text.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>Location to store surrounding text. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cursor_pos</p></td>
<td class="parameter_description"><p>Cursor position in characters in <em class="parameter"><code>text</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>anchor_pos</p></td>
<td class="parameter_description"><p>Anchor position of selection in <em class="parameter"><code>text</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-engine-get-content-type"></a><h3>ibus_engine_get_content_type ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_engine_get_content_type (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *purpose</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *hints</code></em>);</pre>
<p>Get content-type (primary purpose and hints) of the current input
context.</p>
<p>See also: <a class="link" href="IBusEngine.html#IBusEngine-set-content-type" title="The “set-content-type” signal"><span class="type">“set-content-type”</span></a></p>
<div class="refsect3">
<a name="ibus-engine-get-content-type.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An <a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>purpose</p></td>
<td class="parameter_description"><p>Primary purpose of the input context. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>hints</p></td>
<td class="parameter_description"><p>Hints that augument <em class="parameter"><code>purpose</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-engine-get-name"></a><h3>ibus_engine_get_name ()</h3>
<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
ibus_engine_get_name (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>);</pre>
<p>Return the name of <a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a>.</p>
<div class="refsect3">
<a name="ibus-engine-get-name.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ibus-engine-get-name.returns"></a><h4>Returns</h4>
<p> Name of <a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a>.</p>
</div>
</div>
</div>
<div class="refsect1">
<a name="IBusEngine.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="IBusEngine-struct"></a><h3>struct IBusEngine</h3>
<pre class="programlisting">struct IBusEngine {
    gboolean enabled;
    gboolean has_focus;

    /* cursor location */
    IBusRectangle cursor_area;
    guint client_capabilities;
};
</pre>
<p>IBusEngine properties.</p>
<div class="refsect3">
<a name="IBusEngine.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="IBusEngine-struct.enabled"></a>enabled</code></em>;</p></td>
<td class="struct_member_description"><p>Whether the engine is enabled.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="IBusEngine-struct.has-focus"></a>has_focus</code></em>;</p></td>
<td class="struct_member_description"><p>Whether the engine has focus.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ibus-ibustypes.html#IBusRectangle" title="struct IBusRectangle"><span class="type">IBusRectangle</span></a> <em class="structfield"><code><a name="IBusEngine-struct.cursor-area"></a>cursor_area</code></em>;</p></td>
<td class="struct_member_description"><p>Area of cursor.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="IBusEngine-struct.client-capabilities"></a>client_capabilities</code></em>;</p></td>
<td class="struct_member_description"><p>IBusCapabilite (client capabilities) flags.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="IBusEngine.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="IBusEngine--engine-name"></a><h3>The <code class="literal">“engine-name”</code> property</h3>
<pre class="programlisting">  “engine-name”              <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
<p>engine name.</p>
<p>Flags: Read / Write / Construct Only</p>
<p>Default value: "noname"</p>
</div>
</div>
<div class="refsect1">
<a name="IBusEngine.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2">
<a name="IBusEngine-cancel-hand-writing"></a><h3>The <code class="literal">“cancel-hand-writing”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>       n_strokes,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
<p>Emitted when a hand writing operation is cancelled.
Implement the member function IBusEngineClass::cancel_hand_writing
in extended class to receive this signal.</p>
<div class="note"><p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p></div>
<div class="refsect3">
<a name="IBusEngine-cancel-hand-writing.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>n_strokes</p></td>
<td class="parameter_description"><p>The number of strokes to be removed. 0 means "remove all".</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="IBusEngine-candidate-clicked"></a><h3>The <code class="literal">“candidate-clicked”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>       index,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>       button,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>       state,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
<p>Emitted when candidate on lookup table is clicked.
Implement the member function IBusEngineClass::candidate_clicked
in extended class to receive this signal.</p>
<div class="note"><p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p></div>
<div class="refsect3">
<a name="IBusEngine-candidate-clicked.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>index</p></td>
<td class="parameter_description"><p>Index of candidate be clicked.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>button</p></td>
<td class="parameter_description"><p>Mouse button.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>state</p></td>
<td class="parameter_description"><p>Keyboard state.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="IBusEngine-cursor-down"></a><h3>The <code class="literal">“cursor-down”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
<p>Emitted when the down cursor button is pressed.
Implement the member function IBusEngineClass::cursor_down
in extended class to receive this signal.</p>
<div class="note"><p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p></div>
<div class="refsect3">
<a name="IBusEngine-cursor-down.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="IBusEngine-cursor-up"></a><h3>The <code class="literal">“cursor-up”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
<p>Emitted when the up cursor button is pressed.
Implement the member function IBusEngineClass::cursor_up
in extended class to receive this signal.</p>
<div class="note"><p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p></div>
<div class="refsect3">
<a name="IBusEngine-cursor-up.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="IBusEngine-disable"></a><h3>The <code class="literal">“disable”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
<p>Emitted when the IME is disabled.
Implement the member function IBusEngineClass::disable
in extended class to receive this signal.</p>
<p>See also:  <a class="link" href="IBusBus.html#ibus-bus-set-global-engine" title="ibus_bus_set_global_engine ()"><code class="function">ibus_bus_set_global_engine()</code></a>.</p>
<div class="note"><p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p></div>
<div class="refsect3">
<a name="IBusEngine-disable.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="IBusEngine-enable"></a><h3>The <code class="literal">“enable”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
<p>Emitted when the IME is enabled.
Implement the member function IBusEngineClass::enable
in extended class to receive this signal.</p>
<p>See also:  <a class="link" href="IBusBus.html#ibus-bus-set-global-engine" title="ibus_bus_set_global_engine ()"><code class="function">ibus_bus_set_global_engine()</code></a>.</p>
<div class="note"><p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p></div>
<div class="refsect3">
<a name="IBusEngine-enable.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="IBusEngine-focus-in"></a><h3>The <code class="literal">“focus-in”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
<p>Emitted when the client application get the focus.
Implement the member function IBusEngineClass::focus_in
in extended class to receive this signal.</p>
<p>See also: <a class="link" href="IBusInputContext.html#ibus-input-context-focus-in" title="ibus_input_context_focus_in ()"><code class="function">ibus_input_context_focus_in()</code></a></p>
<div class="note"><p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p></div>
<div class="refsect3">
<a name="IBusEngine-focus-in.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="IBusEngine-focus-out"></a><h3>The <code class="literal">“focus-out”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
<p>Emitted when the client application  lost the focus.
Implement the member function IBusEngineClass::focus_out
in extended class to receive this signal.</p>
<p>See also: <a class="link" href="IBusInputContext.html#ibus-input-context-focus-out" title="ibus_input_context_focus_out ()"><code class="function">ibus_input_context_focus_out()</code></a></p>
<div class="note"><p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p></div>
<div class="refsect3">
<a name="IBusEngine-focus-out.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="IBusEngine-page-down"></a><h3>The <code class="literal">“page-down”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
<p>Emitted when the page-down button is pressed.
Implement the member function IBusEngineClass::page_down
in extended class to receive this signal.</p>
<div class="note"><p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p></div>
<div class="refsect3">
<a name="IBusEngine-page-down.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="IBusEngine-page-up"></a><h3>The <code class="literal">“page-up”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
<p>Emitted when the page-up button is pressed.
Implement the member function IBusEngineClass::page_up
in extended class to receive this signal.</p>
<div class="note"><p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p></div>
<div class="refsect3">
<a name="IBusEngine-page-up.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="IBusEngine-process-hand-writing-event"></a><h3>The <code class="literal">“process-hand-writing-event”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    coordinates,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>       coordinates_len,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
<p>Emitted when a hand writing operation is cancelled.
Implement the member function IBusEngineClass::cancel_hand_writing
in extended class to receive this signal.</p>
<div class="note"><p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p></div>
<div class="refsect3">
<a name="IBusEngine-process-hand-writing-event.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>coordinates</p></td>
<td class="parameter_description"><p>An array of double (0.0 to 1.0) which represents a stroke (i.e. [x1, y1, x2, y2, x3, y3, ...]).</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>coordinates_len</p></td>
<td class="parameter_description"><p>The number of elements in the array.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="IBusEngine-process-key-event"></a><h3>The <code class="literal">“process-key-event”</code> signal</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
user_function (<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>       keyval,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>       keycode,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>       state,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
<p>Emitted when a key event is received.
Implement the member function IBusEngineClass::process_key_event
in extended class to receive this signal.
Both the key symbol and keycode are passed to the member function.
See <a class="link" href="IBusInputContext.html#ibus-input-context-process-key-event" title="ibus_input_context_process_key_event ()"><code class="function">ibus_input_context_process_key_event()</code></a> for further explanation of
key symbol, keycode and which to use.</p>
<div class="refsect3">
<a name="IBusEngine-process-key-event.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>keyval</p></td>
<td class="parameter_description"><p>Key symbol of the key press.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>keycode</p></td>
<td class="parameter_description"><p>KeyCode of the key press.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>state</p></td>
<td class="parameter_description"><p>Key modifier flags.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="IBusEngine-process-key-event.returns"></a><h4>Returns</h4>
<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for successfully process the key; <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
See also:  <a class="link" href="IBusInputContext.html#ibus-input-context-process-key-event" title="ibus_input_context_process_key_event ()"><code class="function">ibus_input_context_process_key_event()</code></a>.</p>
<div class="note"><p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p></div>
</div>
<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="IBusEngine-property-activate"></a><h3>The <code class="literal">“property-activate”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>      *name,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>       state,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
<p>Emitted when a property is activated or change changed.
Implement the member function IBusEngineClass::property_activate
in extended class to receive this signal.</p>
<div class="note"><p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p></div>
<div class="refsect3">
<a name="IBusEngine-property-activate.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>Property name.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>state</p></td>
<td class="parameter_description"><p>Property state.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="IBusEngine-property-hide"></a><h3>The <code class="literal">“property-hide”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>      *name,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
<p>Emitted when a property is hidden.
Implement the member function IBusEngineClass::property_hide
in extended class to receive this signal.</p>
<div class="note"><p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p></div>
<div class="refsect3">
<a name="IBusEngine-property-hide.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>Property name.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="IBusEngine-property-show"></a><h3>The <code class="literal">“property-show”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>      *name,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
<p>Emitted when a property is shown.
Implement the member function IBusEngineClass::property_side
in extended class to receive this signal.</p>
<div class="note"><p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p></div>
<div class="refsect3">
<a name="IBusEngine-property-show.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>Property name.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="IBusEngine-reset"></a><h3>The <code class="literal">“reset”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
<p>Emitted when the IME is reset.
Implement the member function IBusEngineClass::reset
in extended class to receive this signal.</p>
<p>See also:  <a class="link" href="IBusInputContext.html#ibus-input-context-reset" title="ibus_input_context_reset ()"><code class="function">ibus_input_context_reset()</code></a>.</p>
<div class="note"><p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p></div>
<div class="refsect3">
<a name="IBusEngine-reset.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="IBusEngine-set-capabilities"></a><h3>The <code class="literal">“set-capabilities”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>       caps,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
<p>Emitted when the client application capabilities is set.
Implement the member function IBusEngineClass::set_capabilities
in extended class to receive this signal.</p>
<p>See also:  <a class="link" href="IBusInputContext.html#ibus-input-context-set-capabilities" title="ibus_input_context_set_capabilities ()"><code class="function">ibus_input_context_set_capabilities()</code></a>.</p>
<div class="note"><p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p></div>
<div class="refsect3">
<a name="IBusEngine-set-capabilities.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>caps</p></td>
<td class="parameter_description"><p>Capabilities flags of IBusEngine, see <a class="link" href="ibus-ibustypes.html#IBusCapabilite" title="enum IBusCapabilite"><span class="type">IBusCapabilite</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="IBusEngine-set-content-type"></a><h3>The <code class="literal">“set-content-type”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>       purpose,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>       hints,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
<p>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 IBusEngineClass::set_content_type
in extended class to receive this signal.</p>
<p>For example, if the client application wants to restrict input
to numbers, this signal will be emitted with <em class="parameter"><code>purpose</code></em>
 set to
<a class="link" href="ibus-ibustypes.html#IBUS-INPUT-PURPOSE-NUMBER:CAPS"><span class="type">IBUS_INPUT_PURPOSE_NUMBER</span></a>, so the engine can switch the input
mode to latin.</p>
<div class="note"><p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this
function.</p></div>
<div class="refsect3">
<a name="IBusEngine-set-content-type.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An <a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>purpose</p></td>
<td class="parameter_description"><p>Primary purpose of the input context, as an <a class="link" href="ibus-ibustypes.html#IBusInputPurpose" title="enum IBusInputPurpose"><span class="type">IBusInputPurpose</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>hints</p></td>
<td class="parameter_description"><p>Hints that augment <em class="parameter"><code>purpose</code></em>
, as an <a class="link" href="ibus-ibustypes.html#IBusInputHints" title="enum IBusInputHints"><span class="type">IBusInputHints</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="IBusEngine-set-cursor-location"></a><h3>The <code class="literal">“set-cursor-location”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a>        x,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a>        y,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a>        w,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a>        h,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
<p>Emitted when the location of IME is set.
Implement the member function IBusEngineClass::set_cursor_location
in extended class to receive this signal.</p>
<p>See also:  <a class="link" href="IBusInputContext.html#ibus-input-context-set-cursor-location" title="ibus_input_context_set_cursor_location ()"><code class="function">ibus_input_context_set_cursor_location()</code></a>.</p>
<div class="note"><p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p></div>
<div class="refsect3">
<a name="IBusEngine-set-cursor-location.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>x</p></td>
<td class="parameter_description"><p>X coordinate of the cursor.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>y</p></td>
<td class="parameter_description"><p>Y coordinate of the cursor.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>w</p></td>
<td class="parameter_description"><p>Width of the cursor.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>h</p></td>
<td class="parameter_description"><p>Height of the cursor.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="IBusEngine-set-surrounding-text"></a><h3>The <code class="literal">“set-surrounding-text”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine,
               <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a>    *text,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>       cursor_pos,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>       anchor_pos,
               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)</pre>
<p>Emitted when a surrounding text is set.
Implement the member function IBusEngineClass::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".</p>
<div class="note"><p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p></div>
<div class="refsect3">
<a name="IBusEngine-set-surrounding-text.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>engine</p></td>
<td class="parameter_description"><p>An IBusEngine.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>The surrounding text.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cursor_pos</p></td>
<td class="parameter_description"><p>The cursor position on surrounding text.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>anchor_pos</p></td>
<td class="parameter_description"><p>The anchor position on selection area.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.28</div>
</body>
</html>