1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>IBusEngine</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
7 <link rel="home" href="index.html" title="IBus Reference Manual">
8 <link rel="up" href="ch03.html" title="Input method engine">
9 <link rel="prev" href="IBusComponent.html" title="IBusComponent">
10 <link rel="next" href="IBusEngineDesc.html" title="IBusEngineDesc">
11 <meta name="generator" content="GTK-Doc V1.19 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
17 <td><a accesskey="p" href="IBusComponent.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="ch03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">IBus Reference Manual</th>
21 <td><a accesskey="n" href="IBusEngineDesc.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#IBusEngine.synopsis" class="shortcut">Top</a>
26 <a href="#IBusEngine.description" class="shortcut">Description</a>
28 <a href="#IBusEngine.object-hierarchy" class="shortcut">Object Hierarchy</a>
30 <a href="#IBusEngine.properties" class="shortcut">Properties</a>
32 <a href="#IBusEngine.signals" class="shortcut">Signals</a>
35 <div class="refentry">
36 <a name="IBusEngine"></a><div class="titlepage"></div>
37 <div class="refnamediv"><table width="100%"><tr>
39 <h2><span class="refentrytitle"><a name="IBusEngine.top_of_page"></a>IBusEngine</span></h2>
40 <p>IBusEngine — Input method engine abstract.</p>
42 <td valign="top" align="right"></td>
44 <div class="refsect1">
45 <a name="IBusEngine.stability-level"></a><h2>Stability Level</h2>
46 Stable, unless otherwise indicated
48 <div class="refsynopsisdiv">
49 <a name="IBusEngine.synopsis"></a><h2>Synopsis</h2>
50 <pre class="synopsis">struct <a class="link" href="IBusEngine.html#IBusEngine-struct" title="struct IBusEngine">IBusEngine</a>;
51 struct <a class="link" href="IBusEngine.html#IBusEngineClass" title="struct IBusEngineClass">IBusEngineClass</a>;
52 <a class="link" href="IBusEngine.html" title="IBusEngine"><span class="returnvalue">IBusEngine</span></a> * <a class="link" href="IBusEngine.html#ibus-engine-new" title="ibus_engine_new ()">ibus_engine_new</a> (<em class="parameter"><code>const <span class="type">gchar</span> *engine_name</code></em>,
53 <em class="parameter"><code>const <span class="type">gchar</span> *object_path</code></em>,
54 <em class="parameter"><code><span class="type">GDBusConnection</span> *connection</code></em>);
55 <a class="link" href="IBusEngine.html" title="IBusEngine"><span class="returnvalue">IBusEngine</span></a> * <a class="link" href="IBusEngine.html#ibus-engine-new-with-type" title="ibus_engine_new_with_type ()">ibus_engine_new_with_type</a> (<em class="parameter"><code><span class="type">GType</span> engine_type</code></em>,
56 <em class="parameter"><code>const <span class="type">gchar</span> *engine_name</code></em>,
57 <em class="parameter"><code>const <span class="type">gchar</span> *object_path</code></em>,
58 <em class="parameter"><code><span class="type">GDBusConnection</span> *connection</code></em>);
59 <span class="returnvalue">void</span> <a class="link" href="IBusEngine.html#ibus-engine-commit-text" title="ibus_engine_commit_text ()">ibus_engine_commit_text</a> (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
60 <em class="parameter"><code><a class="link" href="IBusText.html" title="IBusText"><span class="type">IBusText</span></a> *text</code></em>);
61 <span class="returnvalue">void</span> <a class="link" href="IBusEngine.html#ibus-engine-update-preedit-text" title="ibus_engine_update_preedit_text ()">ibus_engine_update_preedit_text</a> (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
62 <em class="parameter"><code><a class="link" href="IBusText.html" title="IBusText"><span class="type">IBusText</span></a> *text</code></em>,
63 <em class="parameter"><code><span class="type">guint</span> cursor_pos</code></em>,
64 <em class="parameter"><code><span class="type">gboolean</span> visible</code></em>);
65 <span class="returnvalue">void</span> <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>
66 (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
67 <em class="parameter"><code><a class="link" href="IBusText.html" title="IBusText"><span class="type">IBusText</span></a> *text</code></em>,
68 <em class="parameter"><code><span class="type">guint</span> cursor_pos</code></em>,
69 <em class="parameter"><code><span class="type">gboolean</span> visible</code></em>,
70 <em class="parameter"><code><a class="link" href="ibus-ibustypes.html#IBusPreeditFocusMode" title="enum IBusPreeditFocusMode"><span class="type">IBusPreeditFocusMode</span></a> mode</code></em>);
71 <span class="returnvalue">void</span> <a class="link" href="IBusEngine.html#ibus-engine-show-preedit-text" title="ibus_engine_show_preedit_text ()">ibus_engine_show_preedit_text</a> (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>);
72 <span class="returnvalue">void</span> <a class="link" href="IBusEngine.html#ibus-engine-hide-preedit-text" title="ibus_engine_hide_preedit_text ()">ibus_engine_hide_preedit_text</a> (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>);
73 <span class="returnvalue">void</span> <a class="link" href="IBusEngine.html#ibus-engine-update-auxiliary-text" title="ibus_engine_update_auxiliary_text ()">ibus_engine_update_auxiliary_text</a> (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
74 <em class="parameter"><code><a class="link" href="IBusText.html" title="IBusText"><span class="type">IBusText</span></a> *text</code></em>,
75 <em class="parameter"><code><span class="type">gboolean</span> visible</code></em>);
76 <span class="returnvalue">void</span> <a class="link" href="IBusEngine.html#ibus-engine-show-auxiliary-text" title="ibus_engine_show_auxiliary_text ()">ibus_engine_show_auxiliary_text</a> (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>);
77 <span class="returnvalue">void</span> <a class="link" href="IBusEngine.html#ibus-engine-hide-auxiliary-text" title="ibus_engine_hide_auxiliary_text ()">ibus_engine_hide_auxiliary_text</a> (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>);
78 <span class="returnvalue">void</span> <a class="link" href="IBusEngine.html#ibus-engine-update-lookup-table" title="ibus_engine_update_lookup_table ()">ibus_engine_update_lookup_table</a> (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
79 <em class="parameter"><code><a class="link" href="IBusLookupTable.html" title="IBusLookupTable"><span class="type">IBusLookupTable</span></a> *lookup_table</code></em>,
80 <em class="parameter"><code><span class="type">gboolean</span> visible</code></em>);
81 <span class="returnvalue">void</span> <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>
82 (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
83 <em class="parameter"><code><a class="link" href="IBusLookupTable.html" title="IBusLookupTable"><span class="type">IBusLookupTable</span></a> *lookup_table</code></em>,
84 <em class="parameter"><code><span class="type">gboolean</span> visible</code></em>);
85 <span class="returnvalue">void</span> <a class="link" href="IBusEngine.html#ibus-engine-show-lookup-table" title="ibus_engine_show_lookup_table ()">ibus_engine_show_lookup_table</a> (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>);
86 <span class="returnvalue">void</span> <a class="link" href="IBusEngine.html#ibus-engine-hide-lookup-table" title="ibus_engine_hide_lookup_table ()">ibus_engine_hide_lookup_table</a> (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>);
87 <span class="returnvalue">void</span> <a class="link" href="IBusEngine.html#ibus-engine-forward-key-event" title="ibus_engine_forward_key_event ()">ibus_engine_forward_key_event</a> (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
88 <em class="parameter"><code><span class="type">guint</span> keyval</code></em>,
89 <em class="parameter"><code><span class="type">guint</span> keycode</code></em>,
90 <em class="parameter"><code><span class="type">guint</span> state</code></em>);
91 <span class="returnvalue">void</span> <a class="link" href="IBusEngine.html#ibus-engine-register-properties" title="ibus_engine_register_properties ()">ibus_engine_register_properties</a> (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
92 <em class="parameter"><code><a class="link" href="IBusProperty.html#IBusPropList"><span class="type">IBusPropList</span></a> *prop_list</code></em>);
93 <span class="returnvalue">void</span> <a class="link" href="IBusEngine.html#ibus-engine-update-property" title="ibus_engine_update_property ()">ibus_engine_update_property</a> (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
94 <em class="parameter"><code><a class="link" href="IBusProperty.html" title="IBusProperty"><span class="type">IBusProperty</span></a> *prop</code></em>);
95 <span class="returnvalue">void</span> <a class="link" href="IBusEngine.html#ibus-engine-delete-surrounding-text" title="ibus_engine_delete_surrounding_text ()">ibus_engine_delete_surrounding_text</a> (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
96 <em class="parameter"><code><span class="type">gint</span> offset</code></em>,
97 <em class="parameter"><code><span class="type">guint</span> nchars</code></em>);
98 <span class="returnvalue">void</span> <a class="link" href="IBusEngine.html#ibus-engine-get-surrounding-text" title="ibus_engine_get_surrounding_text ()">ibus_engine_get_surrounding_text</a> (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
99 <em class="parameter"><code><a class="link" href="IBusText.html" title="IBusText"><span class="type">IBusText</span></a> **text</code></em>,
100 <em class="parameter"><code><span class="type">guint</span> *cursor_pos</code></em>,
101 <em class="parameter"><code><span class="type">guint</span> *anchor_pos</code></em>);
102 <span class="returnvalue">void</span> <a class="link" href="IBusEngine.html#ibus-engine-get-content-type" title="ibus_engine_get_content_type ()">ibus_engine_get_content_type</a> (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
103 <em class="parameter"><code><span class="type">guint</span> *purpose</code></em>,
104 <em class="parameter"><code><span class="type">guint</span> *hints</code></em>);
105 const <span class="returnvalue">gchar</span> * <a class="link" href="IBusEngine.html#ibus-engine-get-name" title="ibus_engine_get_name ()">ibus_engine_get_name</a> (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>);
108 <div class="refsect1">
109 <a name="IBusEngine.object-hierarchy"></a><h2>Object Hierarchy</h2>
110 <pre class="synopsis">
112 +----GInitiallyUnowned
113 +----<a class="link" href="IBusObject.html" title="IBusObject">IBusObject</a>
114 +----<a class="link" href="IBusService.html" title="IBusService">IBusService</a>
118 <div class="refsect1">
119 <a name="IBusEngine.properties"></a><h2>Properties</h2>
120 <pre class="synopsis">
121 "<a class="link" href="IBusEngine.html#IBusEngine--engine-name" title='The "engine-name" property'>engine-name</a>" <span class="type">gchar</span>* : Read / Write / Construct Only
124 <div class="refsect1">
125 <a name="IBusEngine.signals"></a><h2>Signals</h2>
126 <pre class="synopsis">
127 "<a class="link" href="IBusEngine.html#IBusEngine-cancel-hand-writing" title='The "cancel-hand-writing" signal'>cancel-hand-writing</a>" : <code class="literal">Run Last</code>
128 "<a class="link" href="IBusEngine.html#IBusEngine-candidate-clicked" title='The "candidate-clicked" signal'>candidate-clicked</a>" : <code class="literal">Run Last</code>
129 "<a class="link" href="IBusEngine.html#IBusEngine-cursor-down" title='The "cursor-down" signal'>cursor-down</a>" : <code class="literal">Run Last</code>
130 "<a class="link" href="IBusEngine.html#IBusEngine-cursor-up" title='The "cursor-up" signal'>cursor-up</a>" : <code class="literal">Run Last</code>
131 "<a class="link" href="IBusEngine.html#IBusEngine-disable" title='The "disable" signal'>disable</a>" : <code class="literal">Run Last</code>
132 "<a class="link" href="IBusEngine.html#IBusEngine-enable" title='The "enable" signal'>enable</a>" : <code class="literal">Run Last</code>
133 "<a class="link" href="IBusEngine.html#IBusEngine-focus-in" title='The "focus-in" signal'>focus-in</a>" : <code class="literal">Run Last</code>
134 "<a class="link" href="IBusEngine.html#IBusEngine-focus-out" title='The "focus-out" signal'>focus-out</a>" : <code class="literal">Run Last</code>
135 "<a class="link" href="IBusEngine.html#IBusEngine-page-down" title='The "page-down" signal'>page-down</a>" : <code class="literal">Run Last</code>
136 "<a class="link" href="IBusEngine.html#IBusEngine-page-up" title='The "page-up" signal'>page-up</a>" : <code class="literal">Run Last</code>
137 "<a class="link" href="IBusEngine.html#IBusEngine-process-hand-writing-event" title='The "process-hand-writing-event" signal'>process-hand-writing-event</a>" : <code class="literal">Run Last</code>
138 "<a class="link" href="IBusEngine.html#IBusEngine-process-key-event" title='The "process-key-event" signal'>process-key-event</a>" : <code class="literal">Run Last</code>
139 "<a class="link" href="IBusEngine.html#IBusEngine-property-activate" title='The "property-activate" signal'>property-activate</a>" : <code class="literal">Run Last</code>
140 "<a class="link" href="IBusEngine.html#IBusEngine-property-hide" title='The "property-hide" signal'>property-hide</a>" : <code class="literal">Run Last</code>
141 "<a class="link" href="IBusEngine.html#IBusEngine-property-show" title='The "property-show" signal'>property-show</a>" : <code class="literal">Run Last</code>
142 "<a class="link" href="IBusEngine.html#IBusEngine-reset" title='The "reset" signal'>reset</a>" : <code class="literal">Run Last</code>
143 "<a class="link" href="IBusEngine.html#IBusEngine-set-capabilities" title='The "set-capabilities" signal'>set-capabilities</a>" : <code class="literal">Run Last</code>
144 "<a class="link" href="IBusEngine.html#IBusEngine-set-content-type" title='The "set-content-type" signal'>set-content-type</a>" : <code class="literal">Run Last</code>
145 "<a class="link" href="IBusEngine.html#IBusEngine-set-cursor-location" title='The "set-cursor-location" signal'>set-cursor-location</a>" : <code class="literal">Run Last</code>
146 "<a class="link" href="IBusEngine.html#IBusEngine-set-surrounding-text" title='The "set-surrounding-text" signal'>set-surrounding-text</a>" : <code class="literal">Run Last</code>
149 <div class="refsect1">
150 <a name="IBusEngine.description"></a><h2>Description</h2>
152 An IBusEngine provides infrastructure for input method engine.
153 Developers can "extend" this class for input method engine development.
156 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>
159 <div class="refsect1">
160 <a name="IBusEngine.details"></a><h2>Details</h2>
161 <div class="refsect2">
162 <a name="IBusEngine-struct"></a><h3>struct IBusEngine</h3>
163 <pre class="programlisting">struct IBusEngine {
167 /* cursor location */
168 IBusRectangle cursor_area;
169 guint client_capabilities;
173 IBusEngine properties.
175 <div class="variablelist"><table border="0" class="variablelist">
177 <col align="left" valign="top">
182 <td><p><span class="term"><span class="type">gboolean</span> <em class="structfield"><code><a name="IBusEngine-struct.enabled"></a>enabled</code></em>;</span></p></td>
183 <td>Whether the engine is enabled.</td>
186 <td><p><span class="term"><span class="type">gboolean</span> <em class="structfield"><code><a name="IBusEngine-struct.has-focus"></a>has_focus</code></em>;</span></p></td>
187 <td>Whether the engine has focus.</td>
190 <td><p><span class="term"><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>;</span></p></td>
191 <td>Area of cursor.</td>
194 <td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="IBusEngine-struct.client-capabilities"></a>client_capabilities</code></em>;</span></p></td>
195 <td>IBusCapabilite (client capabilities) flags.</td>
201 <div class="refsect2">
202 <a name="IBusEngineClass"></a><h3>struct IBusEngineClass</h3>
203 <pre class="programlisting">struct IBusEngineClass {
205 gboolean (* process_key_event)
210 void (* focus_in) (IBusEngine *engine);
211 void (* focus_out) (IBusEngine *engine);
212 void (* reset) (IBusEngine *engine);
213 void (* enable) (IBusEngine *engine);
214 void (* disable) (IBusEngine *engine);
215 void (* set_cursor_location)
221 void (* set_capabilities)
225 void (* page_up) (IBusEngine *engine);
226 void (* page_down) (IBusEngine *engine);
227 void (* cursor_up) (IBusEngine *engine);
228 void (* cursor_down) (IBusEngine *engine);
230 void (* property_activate)
232 const gchar *prop_name,
234 void (* property_show) (IBusEngine *engine,
235 const gchar *prop_name);
236 void (* property_hide) (IBusEngine *engine,
237 const gchar *prop_name);
238 void (* candidate_clicked)
243 void (* set_surrounding_text)
248 void (* process_hand_writing_event)
250 const gdouble *coordinates,
251 guint coordinates_len);
252 void (* cancel_hand_writing)
255 void (* set_content_type)
265 <div class="refsect2">
266 <a name="ibus-engine-new"></a><h3>ibus_engine_new ()</h3>
267 <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 <span class="type">gchar</span> *engine_name</code></em>,
268 <em class="parameter"><code>const <span class="type">gchar</span> *object_path</code></em>,
269 <em class="parameter"><code><span class="type">GDBusConnection</span> *connection</code></em>);</pre>
273 <div class="variablelist"><table border="0" class="variablelist">
275 <col align="left" valign="top">
280 <td><p><span class="term"><em class="parameter"><code>engine_name</code></em> :</span></p></td>
281 <td>Name of the IBusObject.</td>
284 <td><p><span class="term"><em class="parameter"><code>object_path</code></em> :</span></p></td>
285 <td>Path for IBusService.</td>
288 <td><p><span class="term"><em class="parameter"><code>connection</code></em> :</span></p></td>
289 <td>An opened GDBusConnection.</td>
292 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
293 <td>A newly allocated IBusEngine.</td>
299 <div class="refsect2">
300 <a name="ibus-engine-new-with-type"></a><h3>ibus_engine_new_with_type ()</h3>
301 <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><span class="type">GType</span> engine_type</code></em>,
302 <em class="parameter"><code>const <span class="type">gchar</span> *engine_name</code></em>,
303 <em class="parameter"><code>const <span class="type">gchar</span> *object_path</code></em>,
304 <em class="parameter"><code><span class="type">GDBusConnection</span> *connection</code></em>);</pre>
308 <div class="variablelist"><table border="0" class="variablelist">
310 <col align="left" valign="top">
315 <td><p><span class="term"><em class="parameter"><code>engine_type</code></em> :</span></p></td>
316 <td>GType of <a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a>.</td>
319 <td><p><span class="term"><em class="parameter"><code>engine_name</code></em> :</span></p></td>
320 <td>Name of the IBusObject.</td>
323 <td><p><span class="term"><em class="parameter"><code>object_path</code></em> :</span></p></td>
324 <td>Path for IBusService.</td>
327 <td><p><span class="term"><em class="parameter"><code>connection</code></em> :</span></p></td>
328 <td>An opened GDBusConnection.</td>
331 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
332 <td>A newly allocated IBusEngine.</td>
338 <div class="refsect2">
339 <a name="ibus-engine-commit-text"></a><h3>ibus_engine_commit_text ()</h3>
340 <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>,
341 <em class="parameter"><code><a class="link" href="IBusText.html" title="IBusText"><span class="type">IBusText</span></a> *text</code></em>);</pre>
343 Commit output of input method to IBus client.
346 (Note: The text object will be released, if it is floating.
347 If caller want to keep the object, caller should make the object
348 sink by g_object_ref_sink.)
350 <div class="variablelist"><table border="0" class="variablelist">
352 <col align="left" valign="top">
357 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
358 <td>An IBusEngine.</td>
361 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
362 <td>String commit to IBusEngine.</td>
368 <div class="refsect2">
369 <a name="ibus-engine-update-preedit-text"></a><h3>ibus_engine_update_preedit_text ()</h3>
370 <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>,
371 <em class="parameter"><code><a class="link" href="IBusText.html" title="IBusText"><span class="type">IBusText</span></a> *text</code></em>,
372 <em class="parameter"><code><span class="type">guint</span> cursor_pos</code></em>,
373 <em class="parameter"><code><span class="type">gboolean</span> visible</code></em>);</pre>
375 Update the pre-edit buffer.
378 (Note: The text object will be released, if it is floating.
379 If caller want to keep the object, caller should make the object
380 sink by g_object_ref_sink.)
382 <div class="variablelist"><table border="0" class="variablelist">
384 <col align="left" valign="top">
389 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
390 <td>An IBusEngine.</td>
393 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
394 <td>Update content.</td>
397 <td><p><span class="term"><em class="parameter"><code>cursor_pos</code></em> :</span></p></td>
398 <td>Current position of cursor</td>
401 <td><p><span class="term"><em class="parameter"><code>visible</code></em> :</span></p></td>
402 <td>Whether the pre-edit buffer is visible.</td>
408 <div class="refsect2">
409 <a name="ibus-engine-update-preedit-text-with-mode"></a><h3>ibus_engine_update_preedit_text_with_mode ()</h3>
410 <pre class="programlisting"><span class="returnvalue">void</span> ibus_engine_update_preedit_text_with_mode
411 (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
412 <em class="parameter"><code><a class="link" href="IBusText.html" title="IBusText"><span class="type">IBusText</span></a> *text</code></em>,
413 <em class="parameter"><code><span class="type">guint</span> cursor_pos</code></em>,
414 <em class="parameter"><code><span class="type">gboolean</span> visible</code></em>,
415 <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>
417 Update the pre-edit buffer with commit mode. Similar to
418 <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
419 the behavior on focus out when the pre-edit buffer is visible.
422 If <em class="parameter"><code>mode</code></em> is IBUS_ENGINE_PREEDIT_COMMIT, contents of the pre-edit buffer
423 will be comitted and cleared.
424 If <em class="parameter"><code>mode</code></em> is IBUS_ENGINE_PREEDIT_CLEAR, contents of the pre-edit buffer
425 will be cleared only.
428 (Note: The text object will be released, if it is floating.
429 If caller want to keep the object, caller should make the object
430 sink by g_object_ref_sink.)
432 <div class="variablelist"><table border="0" class="variablelist">
434 <col align="left" valign="top">
439 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
440 <td>An IBusEngine.</td>
443 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
444 <td>Update content.</td>
447 <td><p><span class="term"><em class="parameter"><code>cursor_pos</code></em> :</span></p></td>
448 <td>Current position of cursor</td>
451 <td><p><span class="term"><em class="parameter"><code>visible</code></em> :</span></p></td>
452 <td>Whether the pre-edit buffer is visible.</td>
455 <td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td>
456 <td>Pre-edit commit mode when the focus is lost.</td>
462 <div class="refsect2">
463 <a name="ibus-engine-show-preedit-text"></a><h3>ibus_engine_show_preedit_text ()</h3>
464 <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>
466 Show the pre-edit buffer.
468 <div class="variablelist"><table border="0" class="variablelist">
470 <col align="left" valign="top">
474 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
475 <td>An IBusEngine.</td>
480 <div class="refsect2">
481 <a name="ibus-engine-hide-preedit-text"></a><h3>ibus_engine_hide_preedit_text ()</h3>
482 <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>
484 Hide the pre-edit buffer.
486 <div class="variablelist"><table border="0" class="variablelist">
488 <col align="left" valign="top">
492 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
493 <td>An IBusEngine.</td>
498 <div class="refsect2">
499 <a name="ibus-engine-update-auxiliary-text"></a><h3>ibus_engine_update_auxiliary_text ()</h3>
500 <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>,
501 <em class="parameter"><code><a class="link" href="IBusText.html" title="IBusText"><span class="type">IBusText</span></a> *text</code></em>,
502 <em class="parameter"><code><span class="type">gboolean</span> visible</code></em>);</pre>
504 Update the auxiliary bar.
507 (Note: The text object will be released, if it is floating.
508 If caller want to keep the object, caller should make the object
509 sink by g_object_ref_sink.)
511 <div class="variablelist"><table border="0" class="variablelist">
513 <col align="left" valign="top">
518 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
519 <td>An IBusEngine.</td>
522 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
523 <td>Update content.</td>
526 <td><p><span class="term"><em class="parameter"><code>visible</code></em> :</span></p></td>
527 <td>Whether the auxiliary text bar is visible.</td>
533 <div class="refsect2">
534 <a name="ibus-engine-show-auxiliary-text"></a><h3>ibus_engine_show_auxiliary_text ()</h3>
535 <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>
537 Show the auxiliary bar.
539 <div class="variablelist"><table border="0" class="variablelist">
541 <col align="left" valign="top">
545 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
546 <td>An IBusEngine.</td>
551 <div class="refsect2">
552 <a name="ibus-engine-hide-auxiliary-text"></a><h3>ibus_engine_hide_auxiliary_text ()</h3>
553 <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>
555 Hide the auxiliary bar.
557 <div class="variablelist"><table border="0" class="variablelist">
559 <col align="left" valign="top">
563 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
564 <td>An IBusEngine.</td>
569 <div class="refsect2">
570 <a name="ibus-engine-update-lookup-table"></a><h3>ibus_engine_update_lookup_table ()</h3>
571 <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>,
572 <em class="parameter"><code><a class="link" href="IBusLookupTable.html" title="IBusLookupTable"><span class="type">IBusLookupTable</span></a> *lookup_table</code></em>,
573 <em class="parameter"><code><span class="type">gboolean</span> visible</code></em>);</pre>
575 Update the lookup table.
578 (Note: The table object will be released, if it is floating.
579 If caller want to keep the object, caller should make the object
580 sink by g_object_ref_sink.)
582 <div class="variablelist"><table border="0" class="variablelist">
584 <col align="left" valign="top">
589 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
590 <td>An IBusEngine.</td>
593 <td><p><span class="term"><em class="parameter"><code>lookup_table</code></em> :</span></p></td>
594 <td>An lookup_table.</td>
597 <td><p><span class="term"><em class="parameter"><code>visible</code></em> :</span></p></td>
598 <td>Whether the lookup_table is visible.</td>
604 <div class="refsect2">
605 <a name="ibus-engine-update-lookup-table-fast"></a><h3>ibus_engine_update_lookup_table_fast ()</h3>
606 <pre class="programlisting"><span class="returnvalue">void</span> ibus_engine_update_lookup_table_fast
607 (<em class="parameter"><code><a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine</code></em>,
608 <em class="parameter"><code><a class="link" href="IBusLookupTable.html" title="IBusLookupTable"><span class="type">IBusLookupTable</span></a> *lookup_table</code></em>,
609 <em class="parameter"><code><span class="type">gboolean</span> visible</code></em>);</pre>
611 Fast update for big lookup table.
614 If size of lookup table is not over table page size *4,
615 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>.
618 (Note: The table object will be released, if it is floating.
619 If caller want to keep the object, caller should make the object
620 sink by g_object_ref_sink.)
622 <div class="variablelist"><table border="0" class="variablelist">
624 <col align="left" valign="top">
629 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
630 <td>An IBusEngine.</td>
633 <td><p><span class="term"><em class="parameter"><code>lookup_table</code></em> :</span></p></td>
634 <td>An lookup_table.</td>
637 <td><p><span class="term"><em class="parameter"><code>visible</code></em> :</span></p></td>
638 <td>Whether the lookup_table is visible.</td>
644 <div class="refsect2">
645 <a name="ibus-engine-show-lookup-table"></a><h3>ibus_engine_show_lookup_table ()</h3>
646 <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>
648 Show the lookup table.
650 <div class="variablelist"><table border="0" class="variablelist">
652 <col align="left" valign="top">
656 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
657 <td>An IBusEngine.</td>
662 <div class="refsect2">
663 <a name="ibus-engine-hide-lookup-table"></a><h3>ibus_engine_hide_lookup_table ()</h3>
664 <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>
666 Hide the lookup table.
668 <div class="variablelist"><table border="0" class="variablelist">
670 <col align="left" valign="top">
674 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
675 <td>An IBusEngine.</td>
680 <div class="refsect2">
681 <a name="ibus-engine-forward-key-event"></a><h3>ibus_engine_forward_key_event ()</h3>
682 <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>,
683 <em class="parameter"><code><span class="type">guint</span> keyval</code></em>,
684 <em class="parameter"><code><span class="type">guint</span> keycode</code></em>,
685 <em class="parameter"><code><span class="type">guint</span> state</code></em>);</pre>
687 Forward the key event.
689 <div class="variablelist"><table border="0" class="variablelist">
691 <col align="left" valign="top">
696 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
697 <td>An IBusEngine.</td>
700 <td><p><span class="term"><em class="parameter"><code>keyval</code></em> :</span></p></td>
704 <td><p><span class="term"><em class="parameter"><code>keycode</code></em> :</span></p></td>
705 <td>keyboard scancode.</td>
708 <td><p><span class="term"><em class="parameter"><code>state</code></em> :</span></p></td>
709 <td>Key modifier flags.</td>
715 <div class="refsect2">
716 <a name="ibus-engine-register-properties"></a><h3>ibus_engine_register_properties ()</h3>
717 <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>,
718 <em class="parameter"><code><a class="link" href="IBusProperty.html#IBusPropList"><span class="type">IBusPropList</span></a> *prop_list</code></em>);</pre>
720 Register and show properties in language bar.
723 (Note: The prop_list object will be released, if it is floating.
724 If caller want to keep the object, caller should make the object
725 sink by g_object_ref_sink.)
727 <div class="variablelist"><table border="0" class="variablelist">
729 <col align="left" valign="top">
734 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
735 <td>An IBusEngine.</td>
738 <td><p><span class="term"><em class="parameter"><code>prop_list</code></em> :</span></p></td>
739 <td>Property List.</td>
745 <div class="refsect2">
746 <a name="ibus-engine-update-property"></a><h3>ibus_engine_update_property ()</h3>
747 <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>,
748 <em class="parameter"><code><a class="link" href="IBusProperty.html" title="IBusProperty"><span class="type">IBusProperty</span></a> *prop</code></em>);</pre>
750 Update the state displayed in language bar.
753 (Note: The prop object will be released, if it is floating.
754 If caller want to keep the object, caller should make the object
755 sink by g_object_ref_sink.)
757 <div class="variablelist"><table border="0" class="variablelist">
759 <col align="left" valign="top">
764 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
765 <td>An IBusEngine.</td>
768 <td><p><span class="term"><em class="parameter"><code>prop</code></em> :</span></p></td>
769 <td>IBusProperty to be updated.</td>
775 <div class="refsect2">
776 <a name="ibus-engine-delete-surrounding-text"></a><h3>ibus_engine_delete_surrounding_text ()</h3>
777 <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>,
778 <em class="parameter"><code><span class="type">gint</span> offset</code></em>,
779 <em class="parameter"><code><span class="type">guint</span> nchars</code></em>);</pre>
781 Delete surrounding text.
783 <div class="variablelist"><table border="0" class="variablelist">
785 <col align="left" valign="top">
790 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
791 <td>An IBusEngine.</td>
794 <td><p><span class="term"><em class="parameter"><code>offset</code></em> :</span></p></td>
795 <td>The offset of the first char.</td>
798 <td><p><span class="term"><em class="parameter"><code>nchars</code></em> :</span></p></td>
799 <td>Number of chars to be deleted.</td>
805 <div class="refsect2">
806 <a name="ibus-engine-get-surrounding-text"></a><h3>ibus_engine_get_surrounding_text ()</h3>
807 <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>,
808 <em class="parameter"><code><a class="link" href="IBusText.html" title="IBusText"><span class="type">IBusText</span></a> **text</code></em>,
809 <em class="parameter"><code><span class="type">guint</span> *cursor_pos</code></em>,
810 <em class="parameter"><code><span class="type">guint</span> *anchor_pos</code></em>);</pre>
812 Get surrounding text.
815 It is also used to tell the input-context that the engine will
816 utilize surrounding-text. In that case, it must be called in
817 <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
818 <code class="literal">NULL</code>.
821 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>
823 <div class="variablelist"><table border="0" class="variablelist">
825 <col align="left" valign="top">
830 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
831 <td>An IBusEngine.</td>
834 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
835 <td>Location to store surrounding text. <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>
839 <td><p><span class="term"><em class="parameter"><code>cursor_pos</code></em> :</span></p></td>
840 <td>Cursor position in characters in <em class="parameter"><code>text</code></em>. <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>
844 <td><p><span class="term"><em class="parameter"><code>anchor_pos</code></em> :</span></p></td>
845 <td>Anchor position of selection in <em class="parameter"><code>text</code></em>. <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>
852 <div class="refsect2">
853 <a name="ibus-engine-get-content-type"></a><h3>ibus_engine_get_content_type ()</h3>
854 <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>,
855 <em class="parameter"><code><span class="type">guint</span> *purpose</code></em>,
856 <em class="parameter"><code><span class="type">guint</span> *hints</code></em>);</pre>
858 Get content-type (primary purpose and hints) of the current input
862 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>
864 <div class="variablelist"><table border="0" class="variablelist">
866 <col align="left" valign="top">
871 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
872 <td>An <a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a>.</td>
875 <td><p><span class="term"><em class="parameter"><code>purpose</code></em> :</span></p></td>
876 <td>Primary purpose of the input context. <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>
880 <td><p><span class="term"><em class="parameter"><code>hints</code></em> :</span></p></td>
881 <td>Hints that augument <em class="parameter"><code>purpose</code></em>. <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>
888 <div class="refsect2">
889 <a name="ibus-engine-get-name"></a><h3>ibus_engine_get_name ()</h3>
890 <pre class="programlisting">const <span class="returnvalue">gchar</span> * 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>
892 Return the name of IBusEngine.
894 <div class="variablelist"><table border="0" class="variablelist">
896 <col align="left" valign="top">
901 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
902 <td>An IBusEngine.</td>
905 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
906 <td>Name of IBusEngine.</td>
912 <div class="refsect1">
913 <a name="IBusEngine.property-details"></a><h2>Property Details</h2>
914 <div class="refsect2">
915 <a name="IBusEngine--engine-name"></a><h3>The <code class="literal">"engine-name"</code> property</h3>
916 <pre class="programlisting"> "engine-name" <span class="type">gchar</span>* : Read / Write / Construct Only</pre>
918 <p>Default value: "noname"</p>
921 <div class="refsect1">
922 <a name="IBusEngine.signal-details"></a><h2>Signal Details</h2>
923 <div class="refsect2">
924 <a name="IBusEngine-cancel-hand-writing"></a><h3>The <code class="literal">"cancel-hand-writing"</code> signal</h3>
925 <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,
926 <span class="type">guint</span> n_strokes,
927 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
929 Emitted when a hand writing operation is cancelled.
930 Implement the member function <code class="function">cancel_hand_writing()</code> in extended class to receive this signal.
934 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
935 <h3 class="title">Note</h3>
936 <p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
940 <div class="variablelist"><table border="0" class="variablelist">
942 <col align="left" valign="top">
947 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
948 <td>An IBusEngine.</td>
951 <td><p><span class="term"><em class="parameter"><code>n_strokes</code></em> :</span></p></td>
952 <td>The number of strokes to be removed. 0 means "remove all".</td>
955 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
956 <td>user data set when the signal handler was connected.</td>
962 <div class="refsect2">
963 <a name="IBusEngine-candidate-clicked"></a><h3>The <code class="literal">"candidate-clicked"</code> signal</h3>
964 <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,
965 <span class="type">guint</span> index,
966 <span class="type">guint</span> button,
967 <span class="type">guint</span> state,
968 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
970 Emitted when candidate on lookup table is clicked.
971 Implement the member function <code class="function">candidate_clicked()</code> in extended class to receive this signal.
975 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
976 <h3 class="title">Note</h3>
977 <p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
981 <div class="variablelist"><table border="0" class="variablelist">
983 <col align="left" valign="top">
988 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
989 <td>An IBusEngine.</td>
992 <td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
993 <td>Index of candidate be clicked.</td>
996 <td><p><span class="term"><em class="parameter"><code>button</code></em> :</span></p></td>
997 <td>Mouse button.</td>
1000 <td><p><span class="term"><em class="parameter"><code>state</code></em> :</span></p></td>
1001 <td>Keyboard state.</td>
1004 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1005 <td>user data set when the signal handler was connected.</td>
1011 <div class="refsect2">
1012 <a name="IBusEngine-cursor-down"></a><h3>The <code class="literal">"cursor-down"</code> signal</h3>
1013 <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,
1014 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
1016 Emitted when the down cursor button is pressed.
1017 Implement the member function <code class="function">cursor_down()</code> in extended class to receive this signal.
1021 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1022 <h3 class="title">Note</h3>
1023 <p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
1027 <div class="variablelist"><table border="0" class="variablelist">
1029 <col align="left" valign="top">
1034 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1035 <td>An IBusEngine.</td>
1038 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1039 <td>user data set when the signal handler was connected.</td>
1045 <div class="refsect2">
1046 <a name="IBusEngine-cursor-up"></a><h3>The <code class="literal">"cursor-up"</code> signal</h3>
1047 <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,
1048 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
1050 Emitted when the up cursor button is pressed.
1051 Implement the member function <code class="function">cursor_up()</code> in extended class to receive this signal.
1055 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1056 <h3 class="title">Note</h3>
1057 <p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
1061 <div class="variablelist"><table border="0" class="variablelist">
1063 <col align="left" valign="top">
1068 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1069 <td>An IBusEngine.</td>
1072 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1073 <td>user data set when the signal handler was connected.</td>
1079 <div class="refsect2">
1080 <a name="IBusEngine-disable"></a><h3>The <code class="literal">"disable"</code> signal</h3>
1081 <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,
1082 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
1084 Emitted when the IME is disabled.
1085 Implement the member function <code class="function">set_disable()</code> in extended class to receive this signal.
1088 See also: <code class="function">ibus_input_context_disable()</code>.
1090 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1091 <h3 class="title">Note</h3>
1092 <p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
1096 <div class="variablelist"><table border="0" class="variablelist">
1098 <col align="left" valign="top">
1103 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1104 <td>An IBusEngine.</td>
1107 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1108 <td>user data set when the signal handler was connected.</td>
1114 <div class="refsect2">
1115 <a name="IBusEngine-enable"></a><h3>The <code class="literal">"enable"</code> signal</h3>
1116 <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,
1117 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
1119 Emitted when the IME is enabled.
1120 Implement the member function <code class="function">set_enable()</code> in extended class to receive this signal.
1123 See also: <code class="function">ibus_input_context_enable()</code>.
1125 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1126 <h3 class="title">Note</h3>
1127 <p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
1131 <div class="variablelist"><table border="0" class="variablelist">
1133 <col align="left" valign="top">
1138 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1139 <td>An IBusEngine.</td>
1142 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1143 <td>user data set when the signal handler was connected.</td>
1149 <div class="refsect2">
1150 <a name="IBusEngine-focus-in"></a><h3>The <code class="literal">"focus-in"</code> signal</h3>
1151 <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,
1152 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
1154 Emitted when the client application get the focus.
1155 Implement the member function <code class="function">focus_in()</code> in extended class to receive this signal.
1158 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>
1160 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1161 <h3 class="title">Note</h3>
1162 <p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
1166 <div class="variablelist"><table border="0" class="variablelist">
1168 <col align="left" valign="top">
1173 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1174 <td>An IBusEngine.</td>
1177 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1178 <td>user data set when the signal handler was connected.</td>
1184 <div class="refsect2">
1185 <a name="IBusEngine-focus-out"></a><h3>The <code class="literal">"focus-out"</code> signal</h3>
1186 <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,
1187 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
1189 Emitted when the client application lost the focus.
1190 Implement the member function <code class="function">focus_out()</code> in extended class to receive this signal.
1193 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>
1195 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1196 <h3 class="title">Note</h3>
1197 <p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
1201 <div class="variablelist"><table border="0" class="variablelist">
1203 <col align="left" valign="top">
1208 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1209 <td>An IBusEngine.</td>
1212 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1213 <td>user data set when the signal handler was connected.</td>
1219 <div class="refsect2">
1220 <a name="IBusEngine-page-down"></a><h3>The <code class="literal">"page-down"</code> signal</h3>
1221 <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,
1222 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
1224 Emitted when the page-down button is pressed.
1225 Implement the member function <code class="function">page_down()</code> in extended class to receive this signal.
1229 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1230 <h3 class="title">Note</h3>
1231 <p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
1235 <div class="variablelist"><table border="0" class="variablelist">
1237 <col align="left" valign="top">
1242 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1243 <td>An IBusEngine.</td>
1246 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1247 <td>user data set when the signal handler was connected.</td>
1253 <div class="refsect2">
1254 <a name="IBusEngine-page-up"></a><h3>The <code class="literal">"page-up"</code> signal</h3>
1255 <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,
1256 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
1258 Emitted when the page-up button is pressed.
1259 Implement the member function <code class="function">page_up()</code> in extended class to receive this signal.
1263 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1264 <h3 class="title">Note</h3>
1265 <p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
1269 <div class="variablelist"><table border="0" class="variablelist">
1271 <col align="left" valign="top">
1276 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1277 <td>An IBusEngine.</td>
1280 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1281 <td>user data set when the signal handler was connected.</td>
1287 <div class="refsect2">
1288 <a name="IBusEngine-process-hand-writing-event"></a><h3>The <code class="literal">"process-hand-writing-event"</code> signal</h3>
1289 <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,
1290 <span class="type">gpointer</span> coordinates,
1291 <span class="type">guint</span> coordinates_len,
1292 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
1294 Emitted when a hand writing operation is cancelled.
1295 Implement the member function <code class="function">cancel_hand_writing()</code> in extended class to receive this signal.
1299 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1300 <h3 class="title">Note</h3>
1301 <p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
1305 <div class="variablelist"><table border="0" class="variablelist">
1307 <col align="left" valign="top">
1312 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1313 <td>An IBusEngine.</td>
1316 <td><p><span class="term"><em class="parameter"><code>coordinates</code></em> :</span></p></td>
1317 <td>An array of double (0.0 to 1.0) which represents a stroke (i.e. [x1, y1, x2, y2, x3, y3, ...]).</td>
1320 <td><p><span class="term"><em class="parameter"><code>coordinates_len</code></em> :</span></p></td>
1321 <td>The number of elements in the array.</td>
1324 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1325 <td>user data set when the signal handler was connected.</td>
1331 <div class="refsect2">
1332 <a name="IBusEngine-process-key-event"></a><h3>The <code class="literal">"process-key-event"</code> signal</h3>
1333 <pre class="programlisting"><span class="returnvalue">gboolean</span> user_function (<a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a> *engine,
1334 <span class="type">guint</span> keyval,
1335 <span class="type">guint</span> keycode,
1336 <span class="type">guint</span> state,
1337 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
1339 Emitted when a key event is received.
1340 Implement the member function <code class="function">process_key_event()</code> in extended class to receive this signal.
1341 Both the key symbol and keycode are passed to the member function.
1342 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
1343 key symbol, keycode and which to use.
1345 <div class="variablelist"><table border="0" class="variablelist">
1347 <col align="left" valign="top">
1352 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1353 <td>An IBusEngine.</td>
1356 <td><p><span class="term"><em class="parameter"><code>keyval</code></em> :</span></p></td>
1357 <td>Key symbol of the key press.</td>
1360 <td><p><span class="term"><em class="parameter"><code>keycode</code></em> :</span></p></td>
1361 <td>KeyCode of the key press.</td>
1364 <td><p><span class="term"><em class="parameter"><code>state</code></em> :</span></p></td>
1365 <td>Key modifier flags.</td>
1368 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1369 <td>user data set when the signal handler was connected.</td>
1372 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1373 <td>TRUE for successfully process the key; FALSE otherwise.
1374 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>.
1375 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1376 <h3 class="title">Note</h3>
1377 <p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
1385 <div class="refsect2">
1386 <a name="IBusEngine-property-activate"></a><h3>The <code class="literal">"property-activate"</code> signal</h3>
1387 <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,
1388 <span class="type">gchar</span> *name,
1389 <span class="type">guint</span> state,
1390 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
1392 Emitted when a property is activated or change changed.
1393 Implement the member function <code class="function">property_activate()</code> in extended class to receive this signal.
1397 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1398 <h3 class="title">Note</h3>
1399 <p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
1403 <div class="variablelist"><table border="0" class="variablelist">
1405 <col align="left" valign="top">
1410 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1411 <td>An IBusEngine.</td>
1414 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
1415 <td>Property name.</td>
1418 <td><p><span class="term"><em class="parameter"><code>state</code></em> :</span></p></td>
1419 <td>Property state.</td>
1422 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1423 <td>user data set when the signal handler was connected.</td>
1429 <div class="refsect2">
1430 <a name="IBusEngine-property-hide"></a><h3>The <code class="literal">"property-hide"</code> signal</h3>
1431 <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,
1432 <span class="type">gchar</span> *name,
1433 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
1435 Emitted when a property is hidden.
1436 Implement the member function <code class="function">property_hide()</code> in extended class to receive this signal.
1440 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1441 <h3 class="title">Note</h3>
1442 <p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
1446 <div class="variablelist"><table border="0" class="variablelist">
1448 <col align="left" valign="top">
1453 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1454 <td>An IBusEngine.</td>
1457 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
1458 <td>Property name.</td>
1461 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1462 <td>user data set when the signal handler was connected.</td>
1468 <div class="refsect2">
1469 <a name="IBusEngine-property-show"></a><h3>The <code class="literal">"property-show"</code> signal</h3>
1470 <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,
1471 <span class="type">gchar</span> *name,
1472 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
1474 Emitted when a property is shown.
1475 Implement the member function <code class="function">property_side()</code> in extended class to receive this signal.
1479 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1480 <h3 class="title">Note</h3>
1481 <p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
1485 <div class="variablelist"><table border="0" class="variablelist">
1487 <col align="left" valign="top">
1492 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1493 <td>An IBusEngine.</td>
1496 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
1497 <td>Property name.</td>
1500 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1501 <td>user data set when the signal handler was connected.</td>
1507 <div class="refsect2">
1508 <a name="IBusEngine-reset"></a><h3>The <code class="literal">"reset"</code> signal</h3>
1509 <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,
1510 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
1512 Emitted when the IME is reset.
1513 Implement the member function <code class="function">reset()</code> in extended class to receive this signal.
1516 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>.
1518 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1519 <h3 class="title">Note</h3>
1520 <p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
1524 <div class="variablelist"><table border="0" class="variablelist">
1526 <col align="left" valign="top">
1531 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1532 <td>An IBusEngine.</td>
1535 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1536 <td>user data set when the signal handler was connected.</td>
1542 <div class="refsect2">
1543 <a name="IBusEngine-set-capabilities"></a><h3>The <code class="literal">"set-capabilities"</code> signal</h3>
1544 <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,
1545 <span class="type">guint</span> caps,
1546 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
1548 Emitted when the client application capabilities is set.
1549 Implement the member function <code class="function">set_capabilities()</code> in extended class to receive this signal.
1552 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>.
1554 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1555 <h3 class="title">Note</h3>
1556 <p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
1560 <div class="variablelist"><table border="0" class="variablelist">
1562 <col align="left" valign="top">
1567 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1568 <td>An IBusEngine.</td>
1571 <td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
1572 <td>Capabilities flags of IBusEngine, see <a class="link" href="ibus-ibustypes.html#IBusCapabilite"><span class="type">IBusCapabilite</span></a>
1576 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1577 <td>user data set when the signal handler was connected.</td>
1583 <div class="refsect2">
1584 <a name="IBusEngine-set-content-type"></a><h3>The <code class="literal">"set-content-type"</code> signal</h3>
1585 <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,
1586 <span class="type">guint</span> purpose,
1587 <span class="type">guint</span> hints,
1588 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
1590 Emitted when the client application content-type (primary
1591 purpose and hints) is set. The engine could change the
1592 behavior according to the content-type. Implement the member
1593 function <code class="function">set_content_type()</code> in extended class to receive this
1597 For example, if the client application wants to restrict input
1598 to numbers, this signal will be emitted with <em class="parameter"><code>purpose</code></em> set to
1599 <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
1604 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1605 <h3 class="title">Note</h3>
1606 <p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this
1611 <div class="variablelist"><table border="0" class="variablelist">
1613 <col align="left" valign="top">
1618 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1619 <td>An <a class="link" href="IBusEngine.html" title="IBusEngine"><span class="type">IBusEngine</span></a>.</td>
1622 <td><p><span class="term"><em class="parameter"><code>purpose</code></em> :</span></p></td>
1623 <td>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>.</td>
1626 <td><p><span class="term"><em class="parameter"><code>hints</code></em> :</span></p></td>
1627 <td>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>.</td>
1630 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1631 <td>user data set when the signal handler was connected.</td>
1637 <div class="refsect2">
1638 <a name="IBusEngine-set-cursor-location"></a><h3>The <code class="literal">"set-cursor-location"</code> signal</h3>
1639 <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,
1640 <span class="type">gint</span> x,
1641 <span class="type">gint</span> y,
1642 <span class="type">gint</span> w,
1643 <span class="type">gint</span> h,
1644 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
1646 Emitted when the location of IME is set.
1647 Implement the member function <code class="function">set_cursor_location()</code> in extended class to receive this signal.
1650 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>.
1652 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1653 <h3 class="title">Note</h3>
1654 <p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
1658 <div class="variablelist"><table border="0" class="variablelist">
1660 <col align="left" valign="top">
1665 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1666 <td>An IBusEngine.</td>
1669 <td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
1670 <td>X coordinate of the cursor.</td>
1673 <td><p><span class="term"><em class="parameter"><code>y</code></em> :</span></p></td>
1674 <td>Y coordinate of the cursor.</td>
1677 <td><p><span class="term"><em class="parameter"><code>w</code></em> :</span></p></td>
1678 <td>Width of the cursor.</td>
1681 <td><p><span class="term"><em class="parameter"><code>h</code></em> :</span></p></td>
1682 <td>Height of the cursor.</td>
1685 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1686 <td>user data set when the signal handler was connected.</td>
1692 <div class="refsect2">
1693 <a name="IBusEngine-set-surrounding-text"></a><h3>The <code class="literal">"set-surrounding-text"</code> signal</h3>
1694 <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,
1695 <span class="type">GObject</span> *text,
1696 <span class="type">guint</span> cursor_pos,
1697 <span class="type">guint</span> anchor_pos,
1698 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
1700 Emitted when a surrounding text is set.
1701 Implement the member function <code class="function">set_surrounding_text()</code> in extended class to receive this signal.
1702 If anchor_pos equals to cursor_pos, it means "there are no selection" or "does not support
1703 selection retrival".
1707 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1708 <h3 class="title">Note</h3>
1709 <p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
1713 <div class="variablelist"><table border="0" class="variablelist">
1715 <col align="left" valign="top">
1720 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1721 <td>An IBusEngine.</td>
1724 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
1725 <td>The surrounding text.</td>
1728 <td><p><span class="term"><em class="parameter"><code>cursor_pos</code></em> :</span></p></td>
1729 <td>The cursor position on surrounding text.</td>
1732 <td><p><span class="term"><em class="parameter"><code>anchor_pos</code></em> :</span></p></td>
1733 <td>The anchor position on selection area.</td>
1736 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1737 <td>user data set when the signal handler was connected.</td>
1744 <div class="footer">
1746 Generated by GTK-Doc V1.19</div>