Imported Upstream version 1.5.4
[platform/upstream/ibus.git] / docs / reference / ibus / html / IBusEngine.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
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">
13 </head>
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">
16 <tr valign="middle">
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>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#IBusEngine.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#IBusEngine.description" class="shortcut">Description</a>
27                    | 
28                   <a href="#IBusEngine.object-hierarchy" class="shortcut">Object Hierarchy</a>
29                    | 
30                   <a href="#IBusEngine.properties" class="shortcut">Properties</a>
31                    | 
32                   <a href="#IBusEngine.signals" class="shortcut">Signals</a>
33 </td></tr>
34 </table>
35 <div class="refentry">
36 <a name="IBusEngine"></a><div class="titlepage"></div>
37 <div class="refnamediv"><table width="100%"><tr>
38 <td valign="top">
39 <h2><span class="refentrytitle"><a name="IBusEngine.top_of_page"></a>IBusEngine</span></h2>
40 <p>IBusEngine — Input method engine abstract.</p>
41 </td>
42 <td valign="top" align="right"></td>
43 </tr></table></div>
44 <div class="refsect1">
45 <a name="IBusEngine.stability-level"></a><h2>Stability Level</h2>
46 Stable, unless otherwise indicated
47 </div>
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>);
106 </pre>
107 </div>
108 <div class="refsect1">
109 <a name="IBusEngine.object-hierarchy"></a><h2>Object Hierarchy</h2>
110 <pre class="synopsis">
111   GObject
112    +----GInitiallyUnowned
113          +----<a class="link" href="IBusObject.html" title="IBusObject">IBusObject</a>
114                +----<a class="link" href="IBusService.html" title="IBusService">IBusService</a>
115                      +----IBusEngine
116 </pre>
117 </div>
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
122 </pre>
123 </div>
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>
147 </pre>
148 </div>
149 <div class="refsect1">
150 <a name="IBusEngine.description"></a><h2>Description</h2>
151 <p>
152 An IBusEngine provides infrastructure for input method engine.
153 Developers can "extend" this class for input method engine development.
154 </p>
155 <p>
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>
157 </p>
158 </div>
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 {
164     gboolean enabled;
165     gboolean has_focus;
166
167     /* cursor location */
168     IBusRectangle cursor_area;
169     guint client_capabilities;
170 };
171 </pre>
172 <p>
173 IBusEngine properties.
174 </p>
175 <div class="variablelist"><table border="0" class="variablelist">
176 <colgroup>
177 <col align="left" valign="top">
178 <col>
179 </colgroup>
180 <tbody>
181 <tr>
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>
184 </tr>
185 <tr>
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>
188 </tr>
189 <tr>
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>
192 </tr>
193 <tr>
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>
196 </tr>
197 </tbody>
198 </table></div>
199 </div>
200 <hr>
201 <div class="refsect2">
202 <a name="IBusEngineClass"></a><h3>struct IBusEngineClass</h3>
203 <pre class="programlisting">struct IBusEngineClass {
204     /* signals */
205     gboolean    (* process_key_event)
206                                     (IBusEngine     *engine,
207                                      guint           keyval,
208                                      guint           keycode,
209                                      guint           state);
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)
216                                     (IBusEngine     *engine,
217                                     gint             x,
218                                     gint             y,
219                                     gint             w,
220                                     gint             h);
221     void        (* set_capabilities)
222                                     (IBusEngine     *engine,
223                                      guint           caps);
224
225     void        (* page_up)         (IBusEngine     *engine);
226     void        (* page_down)       (IBusEngine     *engine);
227     void        (* cursor_up)       (IBusEngine     *engine);
228     void        (* cursor_down)     (IBusEngine     *engine);
229
230     void        (* property_activate)
231                                     (IBusEngine     *engine,
232                                      const gchar    *prop_name,
233                                      guint           prop_state);
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)
239                                     (IBusEngine     *engine,
240                                      guint           index,
241                                      guint           button,
242                                      guint           state);
243     void        (* set_surrounding_text)
244                                     (IBusEngine     *engine,
245                                      IBusText       *text,
246                                      guint           cursor_index,
247                                      guint           anchor_pos);
248     void        (* process_hand_writing_event)
249                                     (IBusEngine     *engine,
250                                      const gdouble  *coordinates,
251                                      guint           coordinates_len);
252     void        (* cancel_hand_writing)
253                                     (IBusEngine     *engine,
254                                      guint           n_strokes);
255     void        (* set_content_type)
256                                     (IBusEngine     *engine,
257                                      guint           purpose,
258                                      guint           hints);
259 };
260 </pre>
261 <p>
262 </p>
263 </div>
264 <hr>
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>
270 <p>
271 New an IBusEngine.
272 </p>
273 <div class="variablelist"><table border="0" class="variablelist">
274 <colgroup>
275 <col align="left" valign="top">
276 <col>
277 </colgroup>
278 <tbody>
279 <tr>
280 <td><p><span class="term"><em class="parameter"><code>engine_name</code></em> :</span></p></td>
281 <td>Name of the IBusObject.</td>
282 </tr>
283 <tr>
284 <td><p><span class="term"><em class="parameter"><code>object_path</code></em> :</span></p></td>
285 <td>Path for IBusService.</td>
286 </tr>
287 <tr>
288 <td><p><span class="term"><em class="parameter"><code>connection</code></em> :</span></p></td>
289 <td>An opened GDBusConnection.</td>
290 </tr>
291 <tr>
292 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
293 <td>A newly allocated IBusEngine.</td>
294 </tr>
295 </tbody>
296 </table></div>
297 </div>
298 <hr>
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>
305 <p>
306 New an IBusEngine.
307 </p>
308 <div class="variablelist"><table border="0" class="variablelist">
309 <colgroup>
310 <col align="left" valign="top">
311 <col>
312 </colgroup>
313 <tbody>
314 <tr>
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>
317 </tr>
318 <tr>
319 <td><p><span class="term"><em class="parameter"><code>engine_name</code></em> :</span></p></td>
320 <td>Name of the IBusObject.</td>
321 </tr>
322 <tr>
323 <td><p><span class="term"><em class="parameter"><code>object_path</code></em> :</span></p></td>
324 <td>Path for IBusService.</td>
325 </tr>
326 <tr>
327 <td><p><span class="term"><em class="parameter"><code>connection</code></em> :</span></p></td>
328 <td>An opened GDBusConnection.</td>
329 </tr>
330 <tr>
331 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
332 <td>A newly allocated IBusEngine.</td>
333 </tr>
334 </tbody>
335 </table></div>
336 </div>
337 <hr>
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>
342 <p>
343 Commit output of input method to IBus client.
344 </p>
345 <p>
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.)
349 </p>
350 <div class="variablelist"><table border="0" class="variablelist">
351 <colgroup>
352 <col align="left" valign="top">
353 <col>
354 </colgroup>
355 <tbody>
356 <tr>
357 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
358 <td>An IBusEngine.</td>
359 </tr>
360 <tr>
361 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
362 <td>String commit to IBusEngine.</td>
363 </tr>
364 </tbody>
365 </table></div>
366 </div>
367 <hr>
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>
374 <p>
375 Update the pre-edit buffer.
376 </p>
377 <p>
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.)
381 </p>
382 <div class="variablelist"><table border="0" class="variablelist">
383 <colgroup>
384 <col align="left" valign="top">
385 <col>
386 </colgroup>
387 <tbody>
388 <tr>
389 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
390 <td>An IBusEngine.</td>
391 </tr>
392 <tr>
393 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
394 <td>Update content.</td>
395 </tr>
396 <tr>
397 <td><p><span class="term"><em class="parameter"><code>cursor_pos</code></em> :</span></p></td>
398 <td>Current position of cursor</td>
399 </tr>
400 <tr>
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>
403 </tr>
404 </tbody>
405 </table></div>
406 </div>
407 <hr>
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>
416 <p>
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.
420 </p>
421 <p>
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.
426 </p>
427 <p>
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.)
431 </p>
432 <div class="variablelist"><table border="0" class="variablelist">
433 <colgroup>
434 <col align="left" valign="top">
435 <col>
436 </colgroup>
437 <tbody>
438 <tr>
439 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
440 <td>An IBusEngine.</td>
441 </tr>
442 <tr>
443 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
444 <td>Update content.</td>
445 </tr>
446 <tr>
447 <td><p><span class="term"><em class="parameter"><code>cursor_pos</code></em> :</span></p></td>
448 <td>Current position of cursor</td>
449 </tr>
450 <tr>
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>
453 </tr>
454 <tr>
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>
457 </tr>
458 </tbody>
459 </table></div>
460 </div>
461 <hr>
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>
465 <p>
466 Show the pre-edit buffer.
467 </p>
468 <div class="variablelist"><table border="0" class="variablelist">
469 <colgroup>
470 <col align="left" valign="top">
471 <col>
472 </colgroup>
473 <tbody><tr>
474 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
475 <td>An IBusEngine.</td>
476 </tr></tbody>
477 </table></div>
478 </div>
479 <hr>
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>
483 <p>
484 Hide the pre-edit buffer.
485 </p>
486 <div class="variablelist"><table border="0" class="variablelist">
487 <colgroup>
488 <col align="left" valign="top">
489 <col>
490 </colgroup>
491 <tbody><tr>
492 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
493 <td>An IBusEngine.</td>
494 </tr></tbody>
495 </table></div>
496 </div>
497 <hr>
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>
503 <p>
504 Update the auxiliary bar.
505 </p>
506 <p>
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.)
510 </p>
511 <div class="variablelist"><table border="0" class="variablelist">
512 <colgroup>
513 <col align="left" valign="top">
514 <col>
515 </colgroup>
516 <tbody>
517 <tr>
518 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
519 <td>An IBusEngine.</td>
520 </tr>
521 <tr>
522 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
523 <td>Update content.</td>
524 </tr>
525 <tr>
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>
528 </tr>
529 </tbody>
530 </table></div>
531 </div>
532 <hr>
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>
536 <p>
537 Show the auxiliary bar.
538 </p>
539 <div class="variablelist"><table border="0" class="variablelist">
540 <colgroup>
541 <col align="left" valign="top">
542 <col>
543 </colgroup>
544 <tbody><tr>
545 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
546 <td>An IBusEngine.</td>
547 </tr></tbody>
548 </table></div>
549 </div>
550 <hr>
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>
554 <p>
555 Hide the auxiliary bar.
556 </p>
557 <div class="variablelist"><table border="0" class="variablelist">
558 <colgroup>
559 <col align="left" valign="top">
560 <col>
561 </colgroup>
562 <tbody><tr>
563 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
564 <td>An IBusEngine.</td>
565 </tr></tbody>
566 </table></div>
567 </div>
568 <hr>
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>
574 <p>
575 Update the lookup table.
576 </p>
577 <p>
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.)
581 </p>
582 <div class="variablelist"><table border="0" class="variablelist">
583 <colgroup>
584 <col align="left" valign="top">
585 <col>
586 </colgroup>
587 <tbody>
588 <tr>
589 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
590 <td>An IBusEngine.</td>
591 </tr>
592 <tr>
593 <td><p><span class="term"><em class="parameter"><code>lookup_table</code></em> :</span></p></td>
594 <td>An lookup_table.</td>
595 </tr>
596 <tr>
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>
599 </tr>
600 </tbody>
601 </table></div>
602 </div>
603 <hr>
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>
610 <p>
611 Fast update for big lookup table.
612 </p>
613 <p>
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>.
616 </p>
617 <p>
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.)
621 </p>
622 <div class="variablelist"><table border="0" class="variablelist">
623 <colgroup>
624 <col align="left" valign="top">
625 <col>
626 </colgroup>
627 <tbody>
628 <tr>
629 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
630 <td>An IBusEngine.</td>
631 </tr>
632 <tr>
633 <td><p><span class="term"><em class="parameter"><code>lookup_table</code></em> :</span></p></td>
634 <td>An lookup_table.</td>
635 </tr>
636 <tr>
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>
639 </tr>
640 </tbody>
641 </table></div>
642 </div>
643 <hr>
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>
647 <p>
648 Show the lookup table.
649 </p>
650 <div class="variablelist"><table border="0" class="variablelist">
651 <colgroup>
652 <col align="left" valign="top">
653 <col>
654 </colgroup>
655 <tbody><tr>
656 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
657 <td>An IBusEngine.</td>
658 </tr></tbody>
659 </table></div>
660 </div>
661 <hr>
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>
665 <p>
666 Hide the lookup table.
667 </p>
668 <div class="variablelist"><table border="0" class="variablelist">
669 <colgroup>
670 <col align="left" valign="top">
671 <col>
672 </colgroup>
673 <tbody><tr>
674 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
675 <td>An IBusEngine.</td>
676 </tr></tbody>
677 </table></div>
678 </div>
679 <hr>
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>
686 <p>
687 Forward the key event.
688 </p>
689 <div class="variablelist"><table border="0" class="variablelist">
690 <colgroup>
691 <col align="left" valign="top">
692 <col>
693 </colgroup>
694 <tbody>
695 <tr>
696 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
697 <td>An IBusEngine.</td>
698 </tr>
699 <tr>
700 <td><p><span class="term"><em class="parameter"><code>keyval</code></em> :</span></p></td>
701 <td>KeySym.</td>
702 </tr>
703 <tr>
704 <td><p><span class="term"><em class="parameter"><code>keycode</code></em> :</span></p></td>
705 <td>keyboard scancode.</td>
706 </tr>
707 <tr>
708 <td><p><span class="term"><em class="parameter"><code>state</code></em> :</span></p></td>
709 <td>Key modifier flags.</td>
710 </tr>
711 </tbody>
712 </table></div>
713 </div>
714 <hr>
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>
719 <p>
720 Register and show properties in language bar.
721 </p>
722 <p>
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.)
726 </p>
727 <div class="variablelist"><table border="0" class="variablelist">
728 <colgroup>
729 <col align="left" valign="top">
730 <col>
731 </colgroup>
732 <tbody>
733 <tr>
734 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
735 <td>An IBusEngine.</td>
736 </tr>
737 <tr>
738 <td><p><span class="term"><em class="parameter"><code>prop_list</code></em> :</span></p></td>
739 <td>Property List.</td>
740 </tr>
741 </tbody>
742 </table></div>
743 </div>
744 <hr>
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>
749 <p>
750 Update the state displayed in language bar.
751 </p>
752 <p>
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.)
756 </p>
757 <div class="variablelist"><table border="0" class="variablelist">
758 <colgroup>
759 <col align="left" valign="top">
760 <col>
761 </colgroup>
762 <tbody>
763 <tr>
764 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
765 <td>An IBusEngine.</td>
766 </tr>
767 <tr>
768 <td><p><span class="term"><em class="parameter"><code>prop</code></em> :</span></p></td>
769 <td>IBusProperty to be updated.</td>
770 </tr>
771 </tbody>
772 </table></div>
773 </div>
774 <hr>
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>
780 <p>
781 Delete surrounding text.
782 </p>
783 <div class="variablelist"><table border="0" class="variablelist">
784 <colgroup>
785 <col align="left" valign="top">
786 <col>
787 </colgroup>
788 <tbody>
789 <tr>
790 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
791 <td>An IBusEngine.</td>
792 </tr>
793 <tr>
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>
796 </tr>
797 <tr>
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>
800 </tr>
801 </tbody>
802 </table></div>
803 </div>
804 <hr>
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>
811 <p>
812 Get surrounding text.
813 </p>
814 <p>
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>.
819 </p>
820 <p>
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>
822 </p>
823 <div class="variablelist"><table border="0" class="variablelist">
824 <colgroup>
825 <col align="left" valign="top">
826 <col>
827 </colgroup>
828 <tbody>
829 <tr>
830 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
831 <td>An IBusEngine.</td>
832 </tr>
833 <tr>
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>
836 </td>
837 </tr>
838 <tr>
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>
841 </td>
842 </tr>
843 <tr>
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>
846 </td>
847 </tr>
848 </tbody>
849 </table></div>
850 </div>
851 <hr>
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>
857 <p>
858 Get content-type (primary purpose and hints) of the current input
859 context.
860 </p>
861 <p>
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>
863 </p>
864 <div class="variablelist"><table border="0" class="variablelist">
865 <colgroup>
866 <col align="left" valign="top">
867 <col>
868 </colgroup>
869 <tbody>
870 <tr>
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>
873 </tr>
874 <tr>
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>
877 </td>
878 </tr>
879 <tr>
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>
882 </td>
883 </tr>
884 </tbody>
885 </table></div>
886 </div>
887 <hr>
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>
891 <p>
892 Return the name of IBusEngine.
893 </p>
894 <div class="variablelist"><table border="0" class="variablelist">
895 <colgroup>
896 <col align="left" valign="top">
897 <col>
898 </colgroup>
899 <tbody>
900 <tr>
901 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
902 <td>An IBusEngine.</td>
903 </tr>
904 <tr>
905 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
906 <td>Name of IBusEngine.</td>
907 </tr>
908 </tbody>
909 </table></div>
910 </div>
911 </div>
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>
917 <p>engine name.</p>
918 <p>Default value: "noname"</p>
919 </div>
920 </div>
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>
928 <p>
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.
931 </p>
932 <p>
933 </p>
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>
937 </div>
938 <p>
939 </p>
940 <div class="variablelist"><table border="0" class="variablelist">
941 <colgroup>
942 <col align="left" valign="top">
943 <col>
944 </colgroup>
945 <tbody>
946 <tr>
947 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
948 <td>An IBusEngine.</td>
949 </tr>
950 <tr>
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>
953 </tr>
954 <tr>
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>
957 </tr>
958 </tbody>
959 </table></div>
960 </div>
961 <hr>
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>
969 <p>
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.
972 </p>
973 <p>
974 </p>
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>
978 </div>
979 <p>
980 </p>
981 <div class="variablelist"><table border="0" class="variablelist">
982 <colgroup>
983 <col align="left" valign="top">
984 <col>
985 </colgroup>
986 <tbody>
987 <tr>
988 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
989 <td>An IBusEngine.</td>
990 </tr>
991 <tr>
992 <td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
993 <td>Index of candidate be clicked.</td>
994 </tr>
995 <tr>
996 <td><p><span class="term"><em class="parameter"><code>button</code></em> :</span></p></td>
997 <td>Mouse button.</td>
998 </tr>
999 <tr>
1000 <td><p><span class="term"><em class="parameter"><code>state</code></em> :</span></p></td>
1001 <td>Keyboard state.</td>
1002 </tr>
1003 <tr>
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>
1006 </tr>
1007 </tbody>
1008 </table></div>
1009 </div>
1010 <hr>
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>
1015 <p>
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.
1018 </p>
1019 <p>
1020 </p>
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>
1024 </div>
1025 <p>
1026 </p>
1027 <div class="variablelist"><table border="0" class="variablelist">
1028 <colgroup>
1029 <col align="left" valign="top">
1030 <col>
1031 </colgroup>
1032 <tbody>
1033 <tr>
1034 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1035 <td>An IBusEngine.</td>
1036 </tr>
1037 <tr>
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>
1040 </tr>
1041 </tbody>
1042 </table></div>
1043 </div>
1044 <hr>
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>
1049 <p>
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.
1052 </p>
1053 <p>
1054 </p>
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>
1058 </div>
1059 <p>
1060 </p>
1061 <div class="variablelist"><table border="0" class="variablelist">
1062 <colgroup>
1063 <col align="left" valign="top">
1064 <col>
1065 </colgroup>
1066 <tbody>
1067 <tr>
1068 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1069 <td>An IBusEngine.</td>
1070 </tr>
1071 <tr>
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>
1074 </tr>
1075 </tbody>
1076 </table></div>
1077 </div>
1078 <hr>
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>
1083 <p>
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.
1086 </p>
1087 <p>
1088 See also:  <code class="function">ibus_input_context_disable()</code>.
1089 </p>
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>
1093 </div>
1094 <p>
1095 </p>
1096 <div class="variablelist"><table border="0" class="variablelist">
1097 <colgroup>
1098 <col align="left" valign="top">
1099 <col>
1100 </colgroup>
1101 <tbody>
1102 <tr>
1103 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1104 <td>An IBusEngine.</td>
1105 </tr>
1106 <tr>
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>
1109 </tr>
1110 </tbody>
1111 </table></div>
1112 </div>
1113 <hr>
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>
1118 <p>
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.
1121 </p>
1122 <p>
1123 See also:  <code class="function">ibus_input_context_enable()</code>.
1124 </p>
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>
1128 </div>
1129 <p>
1130 </p>
1131 <div class="variablelist"><table border="0" class="variablelist">
1132 <colgroup>
1133 <col align="left" valign="top">
1134 <col>
1135 </colgroup>
1136 <tbody>
1137 <tr>
1138 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1139 <td>An IBusEngine.</td>
1140 </tr>
1141 <tr>
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>
1144 </tr>
1145 </tbody>
1146 </table></div>
1147 </div>
1148 <hr>
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>
1153 <p>
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.
1156 </p>
1157 <p>
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>
1159 </p>
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>
1163 </div>
1164 <p>
1165 </p>
1166 <div class="variablelist"><table border="0" class="variablelist">
1167 <colgroup>
1168 <col align="left" valign="top">
1169 <col>
1170 </colgroup>
1171 <tbody>
1172 <tr>
1173 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1174 <td>An IBusEngine.</td>
1175 </tr>
1176 <tr>
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>
1179 </tr>
1180 </tbody>
1181 </table></div>
1182 </div>
1183 <hr>
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>
1188 <p>
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.
1191 </p>
1192 <p>
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>
1194 </p>
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>
1198 </div>
1199 <p>
1200 </p>
1201 <div class="variablelist"><table border="0" class="variablelist">
1202 <colgroup>
1203 <col align="left" valign="top">
1204 <col>
1205 </colgroup>
1206 <tbody>
1207 <tr>
1208 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1209 <td>An IBusEngine.</td>
1210 </tr>
1211 <tr>
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>
1214 </tr>
1215 </tbody>
1216 </table></div>
1217 </div>
1218 <hr>
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>
1223 <p>
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.
1226 </p>
1227 <p>
1228 </p>
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>
1232 </div>
1233 <p>
1234 </p>
1235 <div class="variablelist"><table border="0" class="variablelist">
1236 <colgroup>
1237 <col align="left" valign="top">
1238 <col>
1239 </colgroup>
1240 <tbody>
1241 <tr>
1242 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1243 <td>An IBusEngine.</td>
1244 </tr>
1245 <tr>
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>
1248 </tr>
1249 </tbody>
1250 </table></div>
1251 </div>
1252 <hr>
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>
1257 <p>
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.
1260 </p>
1261 <p>
1262 </p>
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>
1266 </div>
1267 <p>
1268 </p>
1269 <div class="variablelist"><table border="0" class="variablelist">
1270 <colgroup>
1271 <col align="left" valign="top">
1272 <col>
1273 </colgroup>
1274 <tbody>
1275 <tr>
1276 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1277 <td>An IBusEngine.</td>
1278 </tr>
1279 <tr>
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>
1282 </tr>
1283 </tbody>
1284 </table></div>
1285 </div>
1286 <hr>
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>
1293 <p>
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.
1296 </p>
1297 <p>
1298 </p>
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>
1302 </div>
1303 <p>
1304 </p>
1305 <div class="variablelist"><table border="0" class="variablelist">
1306 <colgroup>
1307 <col align="left" valign="top">
1308 <col>
1309 </colgroup>
1310 <tbody>
1311 <tr>
1312 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1313 <td>An IBusEngine.</td>
1314 </tr>
1315 <tr>
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>
1318 </tr>
1319 <tr>
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>
1322 </tr>
1323 <tr>
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>
1326 </tr>
1327 </tbody>
1328 </table></div>
1329 </div>
1330 <hr>
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>
1338 <p>
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.
1344 </p>
1345 <div class="variablelist"><table border="0" class="variablelist">
1346 <colgroup>
1347 <col align="left" valign="top">
1348 <col>
1349 </colgroup>
1350 <tbody>
1351 <tr>
1352 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1353 <td>An IBusEngine.</td>
1354 </tr>
1355 <tr>
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>
1358 </tr>
1359 <tr>
1360 <td><p><span class="term"><em class="parameter"><code>keycode</code></em> :</span></p></td>
1361 <td>KeyCode of the key press.</td>
1362 </tr>
1363 <tr>
1364 <td><p><span class="term"><em class="parameter"><code>state</code></em> :</span></p></td>
1365 <td>Key modifier flags.</td>
1366 </tr>
1367 <tr>
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>
1370 </tr>
1371 <tr>
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>
1378 </div>
1379 </td>
1380 </tr>
1381 </tbody>
1382 </table></div>
1383 </div>
1384 <hr>
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>
1391 <p>
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.
1394 </p>
1395 <p>
1396 </p>
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>
1400 </div>
1401 <p>
1402 </p>
1403 <div class="variablelist"><table border="0" class="variablelist">
1404 <colgroup>
1405 <col align="left" valign="top">
1406 <col>
1407 </colgroup>
1408 <tbody>
1409 <tr>
1410 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1411 <td>An IBusEngine.</td>
1412 </tr>
1413 <tr>
1414 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
1415 <td>Property name.</td>
1416 </tr>
1417 <tr>
1418 <td><p><span class="term"><em class="parameter"><code>state</code></em> :</span></p></td>
1419 <td>Property state.</td>
1420 </tr>
1421 <tr>
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>
1424 </tr>
1425 </tbody>
1426 </table></div>
1427 </div>
1428 <hr>
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>
1434 <p>
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.
1437 </p>
1438 <p>
1439 </p>
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>
1443 </div>
1444 <p>
1445 </p>
1446 <div class="variablelist"><table border="0" class="variablelist">
1447 <colgroup>
1448 <col align="left" valign="top">
1449 <col>
1450 </colgroup>
1451 <tbody>
1452 <tr>
1453 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1454 <td>An IBusEngine.</td>
1455 </tr>
1456 <tr>
1457 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
1458 <td>Property name.</td>
1459 </tr>
1460 <tr>
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>
1463 </tr>
1464 </tbody>
1465 </table></div>
1466 </div>
1467 <hr>
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>
1473 <p>
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.
1476 </p>
1477 <p>
1478 </p>
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>
1482 </div>
1483 <p>
1484 </p>
1485 <div class="variablelist"><table border="0" class="variablelist">
1486 <colgroup>
1487 <col align="left" valign="top">
1488 <col>
1489 </colgroup>
1490 <tbody>
1491 <tr>
1492 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1493 <td>An IBusEngine.</td>
1494 </tr>
1495 <tr>
1496 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
1497 <td>Property name.</td>
1498 </tr>
1499 <tr>
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>
1502 </tr>
1503 </tbody>
1504 </table></div>
1505 </div>
1506 <hr>
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>
1511 <p>
1512 Emitted when the IME is reset.
1513 Implement the member function <code class="function">reset()</code> in extended class to receive this signal.
1514 </p>
1515 <p>
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>.
1517 </p>
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>
1521 </div>
1522 <p>
1523 </p>
1524 <div class="variablelist"><table border="0" class="variablelist">
1525 <colgroup>
1526 <col align="left" valign="top">
1527 <col>
1528 </colgroup>
1529 <tbody>
1530 <tr>
1531 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1532 <td>An IBusEngine.</td>
1533 </tr>
1534 <tr>
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>
1537 </tr>
1538 </tbody>
1539 </table></div>
1540 </div>
1541 <hr>
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>
1547 <p>
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.
1550 </p>
1551 <p>
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>.
1553 </p>
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>
1557 </div>
1558 <p>
1559 </p>
1560 <div class="variablelist"><table border="0" class="variablelist">
1561 <colgroup>
1562 <col align="left" valign="top">
1563 <col>
1564 </colgroup>
1565 <tbody>
1566 <tr>
1567 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1568 <td>An IBusEngine.</td>
1569 </tr>
1570 <tr>
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>
1573 </td>
1574 </tr>
1575 <tr>
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>
1578 </tr>
1579 </tbody>
1580 </table></div>
1581 </div>
1582 <hr>
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>
1589 <p>
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
1594 signal.
1595 </p>
1596 <p>
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
1600 mode to latin.
1601 </p>
1602 <p>
1603 </p>
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
1607 function.</p>
1608 </div>
1609 <p>
1610 </p>
1611 <div class="variablelist"><table border="0" class="variablelist">
1612 <colgroup>
1613 <col align="left" valign="top">
1614 <col>
1615 </colgroup>
1616 <tbody>
1617 <tr>
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>
1620 </tr>
1621 <tr>
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>
1624 </tr>
1625 <tr>
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>
1628 </tr>
1629 <tr>
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>
1632 </tr>
1633 </tbody>
1634 </table></div>
1635 </div>
1636 <hr>
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>
1645 <p>
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.
1648 </p>
1649 <p>
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>.
1651 </p>
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>
1655 </div>
1656 <p>
1657 </p>
1658 <div class="variablelist"><table border="0" class="variablelist">
1659 <colgroup>
1660 <col align="left" valign="top">
1661 <col>
1662 </colgroup>
1663 <tbody>
1664 <tr>
1665 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1666 <td>An IBusEngine.</td>
1667 </tr>
1668 <tr>
1669 <td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
1670 <td>X coordinate of the cursor.</td>
1671 </tr>
1672 <tr>
1673 <td><p><span class="term"><em class="parameter"><code>y</code></em> :</span></p></td>
1674 <td>Y coordinate of the cursor.</td>
1675 </tr>
1676 <tr>
1677 <td><p><span class="term"><em class="parameter"><code>w</code></em> :</span></p></td>
1678 <td>Width of the cursor.</td>
1679 </tr>
1680 <tr>
1681 <td><p><span class="term"><em class="parameter"><code>h</code></em> :</span></p></td>
1682 <td>Height of the cursor.</td>
1683 </tr>
1684 <tr>
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>
1687 </tr>
1688 </tbody>
1689 </table></div>
1690 </div>
1691 <hr>
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>
1699 <p>
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".
1704 </p>
1705 <p>
1706 </p>
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>
1710 </div>
1711 <p>
1712 </p>
1713 <div class="variablelist"><table border="0" class="variablelist">
1714 <colgroup>
1715 <col align="left" valign="top">
1716 <col>
1717 </colgroup>
1718 <tbody>
1719 <tr>
1720 <td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
1721 <td>An IBusEngine.</td>
1722 </tr>
1723 <tr>
1724 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
1725 <td>The surrounding text.</td>
1726 </tr>
1727 <tr>
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>
1730 </tr>
1731 <tr>
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>
1734 </tr>
1735 <tr>
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>
1738 </tr>
1739 </tbody>
1740 </table></div>
1741 </div>
1742 </div>
1743 </div>
1744 <div class="footer">
1745 <hr>
1746           Generated by GTK-Doc V1.19</div>
1747 </body>
1748 </html>