Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > main-release > by-pkgid > 3c9265ee0944a35fbede43df6ed55872 > files > 111

lib64scim-devel-1.4.7-10mdv2008.1.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>scim: scim::IMEngineInstanceBase Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.0 -->
<div class="tabs">
  <ul>
    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li id="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul></div>
<div class="nav">
<a class="el" href="a00157.html">scim</a>::<a class="el" href="a00052.html">IMEngineInstanceBase</a></div>
<h1>scim::IMEngineInstanceBase Class Reference<br>
<small>
[<a class="el" href="a00160.html">IMEngine</a>]</small>
</h1><!-- doxytag: class="scim::IMEngineInstanceBase" --><!-- doxytag: inherits="scim::ReferencedObject" -->The base class of the real input methods' IMEngineInstance classes.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;scim_imengine.h&gt;</code>
<p>
Inheritance diagram for scim::IMEngineInstanceBase:<p><center><img src="a00379.png" border="0" usemap="#a00380" alt="Inheritance graph"></center>
<map name="a00380">
<area href="a00013.html" shape="rect" coords="7,157,191,181" alt="">
<area href="a00023.html" shape="rect" coords="215,157,417,181" alt="">
<area href="a00028.html" shape="rect" coords="441,157,625,181" alt="">
<area href="a00072.html" shape="rect" coords="231,8,401,32" alt="">
</map>
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for scim::IMEngineInstanceBase:<p><center><img src="a00381.png" border="0" usemap="#a00382" alt="Collaboration graph"></center>
<map name="a00382">
<area href="a00072.html" shape="rect" coords="20,8,191,32" alt="">
</map>
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="a00383.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#684ee5fb96ef4af738994600a4bb1f0c">IMEngineInstanceBase</a> (<a class="el" href="a00050.html">IMEngineFactoryBase</a> *factory, const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;encoding, int id=-1)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#684ee5fb96ef4af738994600a4bb1f0c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#4f9f1e0054b614eecfa172f63682d9fc">~IMEngineInstanceBase</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Virtual destructor.  <a href="#4f9f1e0054b614eecfa172f63682d9fc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#21d752cf678f9533d7c3baa6cfc2efb7">set_encoding</a> (const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;encoding)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the working encoding for this instance.  <a href="#21d752cf678f9533d7c3baa6cfc2efb7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#d4a90332e403d7413e02dfbae9bd6287">get_encoding</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the working encoding of this instance.  <a href="#d4a90332e403d7413e02dfbae9bd6287"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#fb52e65dc6b1bcac8fd99c8329dc3f7b">get_id</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the unique id of this instance.  <a href="#fb52e65dc6b1bcac8fd99c8329dc3f7b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#dd6c63db918d85c2dc06373b01087b5b">get_factory_uuid</a> () const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the UUID of the engine factory.  <a href="#dd6c63db918d85c2dc06373b01087b5b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#88da07eb43016ef5861a7ac9fb4de0b9">set_frontend_data</a> (void *data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attach a pointer to this IMEngineInstance, which is pointed to corresponding FrontEnd data.  <a href="#88da07eb43016ef5861a7ac9fb4de0b9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#f136abec0bbc4aa77b7cce779897272a">get_frontend_data</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the pointer previously attached by <a class="el" href="a00052.html#88da07eb43016ef5861a7ac9fb4de0b9">set_frontend_data()</a>;.  <a href="#f136abec0bbc4aa77b7cce779897272a"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The base class of the real input methods' IMEngineInstance classes. 
<p>
Each input method should implement a class derived from <a class="el" href="a00052.html">scim::IMEngineInstanceBase</a>, which takes charge of recording Input Context status and processing user input events. 
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="684ee5fb96ef4af738994600a4bb1f0c"></a><!-- doxytag: member="scim::IMEngineInstanceBase::IMEngineInstanceBase" ref="684ee5fb96ef4af738994600a4bb1f0c" args="(IMEngineFactoryBase *factory, const String &amp;encoding, int id=-1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">scim::IMEngineInstanceBase::IMEngineInstanceBase           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00050.html">IMEngineFactoryBase</a> *&nbsp;</td>
          <td class="paramname"> <em>factory</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>encoding</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>id</em> = <code>-1</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>factory</em>&nbsp;</td><td>- the factory which creates this instance. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>encoding</em>&nbsp;</td><td>- the working encoding. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>- the unique id of this instance. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="4f9f1e0054b614eecfa172f63682d9fc"></a><!-- doxytag: member="scim::IMEngineInstanceBase::~IMEngineInstanceBase" ref="4f9f1e0054b614eecfa172f63682d9fc" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual scim::IMEngineInstanceBase::~IMEngineInstanceBase           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Virtual destructor. 
<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="21d752cf678f9533d7c3baa6cfc2efb7"></a><!-- doxytag: member="scim::IMEngineInstanceBase::set_encoding" ref="21d752cf678f9533d7c3baa6cfc2efb7" args="(const String &amp;encoding)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool scim::IMEngineInstanceBase::set_encoding           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>encoding</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the working encoding for this instance. 
<p>
One engine instance can only support one client encoding at the same time. This encoding must be supported by the IMEngineFactory as well.<p>
This method could be overrided in derived class to do some extra job. But the method of this base class must be invoked within the new method.<p>
After invoking this method, <a class="el" href="a00052.html#cdc4f433def9d043eecb879061a8eb70">reset()</a> should be invoked to let the new encoding take effect.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the encoding is supported, otherwise false. </dd></dl>

<p>
Reimplemented in <a class="el" href="a00028.html#0930efd7e937b77dc135dabda5206e20">scim::FilterInstanceBase</a>.
</div>
</div><p>
<a class="anchor" name="d4a90332e403d7413e02dfbae9bd6287"></a><!-- doxytag: member="scim::IMEngineInstanceBase::get_encoding" ref="d4a90332e403d7413e02dfbae9bd6287" args="() const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> scim::IMEngineInstanceBase::get_encoding           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the working encoding of this instance. 
<p>
This method returns the encoding passed to the constructor when constructing this object.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The working encoding. </dd></dl>

</div>
</div><p>
<a class="anchor" name="fb52e65dc6b1bcac8fd99c8329dc3f7b"></a><!-- doxytag: member="scim::IMEngineInstanceBase::get_id" ref="fb52e65dc6b1bcac8fd99c8329dc3f7b" args="() const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int scim::IMEngineInstanceBase::get_id           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the unique id of this instance. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The id of this instance. </dd></dl>

</div>
</div><p>
<a class="anchor" name="dd6c63db918d85c2dc06373b01087b5b"></a><!-- doxytag: member="scim::IMEngineInstanceBase::get_factory_uuid" ref="dd6c63db918d85c2dc06373b01087b5b" args="() const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> scim::IMEngineInstanceBase::get_factory_uuid           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the UUID of the engine factory. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The UUID string of the engine factory. </dd></dl>

</div>
</div><p>
<a class="anchor" name="88da07eb43016ef5861a7ac9fb4de0b9"></a><!-- doxytag: member="scim::IMEngineInstanceBase::set_frontend_data" ref="88da07eb43016ef5861a7ac9fb4de0b9" args="(void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::set_frontend_data           </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Attach a pointer to this IMEngineInstance, which is pointed to corresponding FrontEnd data. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The pointer to corresponding FrontEnd data, eg. input context object. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="f136abec0bbc4aa77b7cce779897272a"></a><!-- doxytag: member="scim::IMEngineInstanceBase::get_frontend_data" ref="f136abec0bbc4aa77b7cce779897272a" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* scim::IMEngineInstanceBase::get_frontend_data           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Retrieve the pointer previously attached by <a class="el" href="a00052.html#88da07eb43016ef5861a7ac9fb4de0b9">set_frontend_data()</a>;. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The pointer previously attached by <a class="el" href="a00052.html#88da07eb43016ef5861a7ac9fb4de0b9">set_frontend_data()</a>; </dd></dl>

</div>
</div><p>
<a class="anchor" name="8249d069c269cd9e4672a5eab566382b"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_show_preedit_string" ref="8249d069c269cd9e4672a5eab566382b" args="(IMEngineSlotVoid *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_show_preedit_string           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00097.html">IMEngineSlotVoid</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="21c29ab837d3aedafcd2e8f3378414a3"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_show_aux_string" ref="21c29ab837d3aedafcd2e8f3378414a3" args="(IMEngineSlotVoid *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_show_aux_string           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00097.html">IMEngineSlotVoid</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="ba54097b83a819858c666a4d236e89dd"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_show_lookup_table" ref="ba54097b83a819858c666a4d236e89dd" args="(IMEngineSlotVoid *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_show_lookup_table           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00097.html">IMEngineSlotVoid</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="6c10237677db57338b9721614f2d3c1e"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_hide_preedit_string" ref="6c10237677db57338b9721614f2d3c1e" args="(IMEngineSlotVoid *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_hide_preedit_string           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00097.html">IMEngineSlotVoid</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="85b12beff3f21a889cb331253a39b410"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_hide_aux_string" ref="85b12beff3f21a889cb331253a39b410" args="(IMEngineSlotVoid *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_hide_aux_string           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00097.html">IMEngineSlotVoid</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="d8208c1752dd930d6c235fffcb52a54a"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_hide_lookup_table" ref="d8208c1752dd930d6c235fffcb52a54a" args="(IMEngineSlotVoid *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_hide_lookup_table           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00097.html">IMEngineSlotVoid</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="fde6e2a54ecd4f7971b413a2f28ccacd"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_update_preedit_caret" ref="fde6e2a54ecd4f7971b413a2f28ccacd" args="(IMEngineSlotInt *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_update_preedit_caret           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">IMEngineSlotInt</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="7c87582e0cd697c33ef7d71a84c24cf9"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_update_preedit_string" ref="7c87582e0cd697c33ef7d71a84c24cf9" args="(IMEngineSlotWideStringAttributeList *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_update_preedit_string           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00099.html">IMEngineSlotWideStringAttributeList</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="e1bdf85a07e252209334097973ffcd5f"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_update_aux_string" ref="e1bdf85a07e252209334097973ffcd5f" args="(IMEngineSlotWideStringAttributeList *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_update_aux_string           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00099.html">IMEngineSlotWideStringAttributeList</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="eabce7b4d005f6bc82b972ee47f421d4"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_update_lookup_table" ref="eabce7b4d005f6bc82b972ee47f421d4" args="(IMEngineSlotLookupTable *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_update_lookup_table           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">IMEngineSlotLookupTable</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="952f117c52f21bd200b2df19dbee4a3a"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_commit_string" ref="952f117c52f21bd200b2df19dbee4a3a" args="(IMEngineSlotWideString *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_commit_string           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">IMEngineSlotWideString</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="7f33c6035abbc8ffa60bea3d043c0562"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_forward_key_event" ref="7f33c6035abbc8ffa60bea3d043c0562" args="(IMEngineSlotKeyEvent *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_forward_key_event           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">IMEngineSlotKeyEvent</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="8321df6227dab54724a03018a95196ed"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_register_properties" ref="8321df6227dab54724a03018a95196ed" args="(IMEngineSlotPropertyList *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_register_properties           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">IMEngineSlotPropertyList</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="b3bcee345e32844d2fa525e6ff61af85"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_update_property" ref="b3bcee345e32844d2fa525e6ff61af85" args="(IMEngineSlotProperty *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_update_property           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">IMEngineSlotProperty</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="b81245193d162756fda32225bc84235f"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_beep" ref="b81245193d162756fda32225bc84235f" args="(IMEngineSlotVoid *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_beep           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00097.html">IMEngineSlotVoid</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="72bfe83adfe5ef0abb093b9aa933278e"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_start_helper" ref="72bfe83adfe5ef0abb093b9aa933278e" args="(IMEngineSlotString *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_start_helper           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">IMEngineSlotString</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="0acca1d6df11d503436913f49e4072b8"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_stop_helper" ref="0acca1d6df11d503436913f49e4072b8" args="(IMEngineSlotString *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_stop_helper           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">IMEngineSlotString</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="35c5412bda7ea431c78670c0898a604b"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_send_helper_event" ref="35c5412bda7ea431c78670c0898a604b" args="(IMEngineSlotStringTransaction *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_send_helper_event           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00099.html">IMEngineSlotStringTransaction</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="31afba64a9a11e6da8ec9c35fda4cb36"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_get_surrounding_text" ref="31afba64a9a11e6da8ec9c35fda4cb36" args="(IMEngineSlotGetSurroundingText *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_get_surrounding_text           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00101.html">IMEngineSlotGetSurroundingText</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="0e518783cf9ef56e4fd59bf855431d16"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_delete_surrounding_text" ref="0e518783cf9ef56e4fd59bf855431d16" args="(IMEngineSlotDeleteSurroundingText *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_delete_surrounding_text           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00099.html">IMEngineSlotDeleteSurroundingText</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="a2da7c8755e6af90cc8dfe2a5d47bcec"></a><!-- doxytag: member="scim::IMEngineInstanceBase::process_key_event" ref="a2da7c8755e6af90cc8dfe2a5d47bcec" args="(const KeyEvent &amp;key)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool scim::IMEngineInstanceBase::process_key_event           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00054.html">KeyEvent</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Process a key event. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>- the key event to be processed. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the event is processed, otherwise the event is not processed and should be forward to client application. </dd></dl>

<p>
Implemented in <a class="el" href="a00013.html#612121cd8af64dfc92b7e53be3636ade">scim::ComposeKeyInstance</a>, <a class="el" href="a00028.html#789b4e22528d7f311f6fe985eef5b311">scim::FilterInstanceBase</a>, and <a class="el" href="a00023.html#4847d13da7440d6e5deaa793e6ded013">scim::DummyIMEngineInstance</a>.
</div>
</div><p>
<a class="anchor" name="84bd207c8d6959c8fcc61a630ab61b59"></a><!-- doxytag: member="scim::IMEngineInstanceBase::move_preedit_caret" ref="84bd207c8d6959c8fcc61a630ab61b59" args="(unsigned int pos)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::move_preedit_caret           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>pos</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Move the preedit caret in the preedit string. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>- the new position that user requested. </td></tr>
  </table>
</dl>

<p>
Reimplemented in <a class="el" href="a00013.html#d9b63c69d86fb58a1f6ec8ab9ce83130">scim::ComposeKeyInstance</a>, and <a class="el" href="a00028.html#3c2570975d8b99201226c2428c36aea4">scim::FilterInstanceBase</a>.
</div>
</div><p>
<a class="anchor" name="f8af093dae67b196416bf0099298dfc3"></a><!-- doxytag: member="scim::IMEngineInstanceBase::select_candidate" ref="f8af093dae67b196416bf0099298dfc3" args="(unsigned int index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::select_candidate           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>index</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Select a candidate in current lookup table. 
<p>
When user click a candidate directly, this method will be invoked by FrontEnd.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td>- the index in current page of the selected candidate. </td></tr>
  </table>
</dl>

<p>
Reimplemented in <a class="el" href="a00013.html#2e18005dbe0f4e6cf996fe85dd9d14e8">scim::ComposeKeyInstance</a>, and <a class="el" href="a00028.html#cf7057362aa2a6aef2239cea90a1e2f6">scim::FilterInstanceBase</a>.
</div>
</div><p>
<a class="anchor" name="a62ab13f71a146cdaaee1e33c671b3c7"></a><!-- doxytag: member="scim::IMEngineInstanceBase::update_lookup_table_page_size" ref="a62ab13f71a146cdaaee1e33c671b3c7" args="(unsigned int page_size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::update_lookup_table_page_size           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>page_size</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Update the page size of current lookup table. 
<p>
In the next time, the lookup table should page down by this size.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>page_size</em>&nbsp;</td><td>- the new size of current page. </td></tr>
  </table>
</dl>

<p>
Reimplemented in <a class="el" href="a00013.html#de80bef3dfcd1010934661adb558ea13">scim::ComposeKeyInstance</a>, and <a class="el" href="a00028.html#c936bafb876747986e92c3f55c39cd45">scim::FilterInstanceBase</a>.
</div>
</div><p>
<a class="anchor" name="244f2132661b86d5b7232e3fee20ce74"></a><!-- doxytag: member="scim::IMEngineInstanceBase::lookup_table_page_up" ref="244f2132661b86d5b7232e3fee20ce74" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::lookup_table_page_up           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Flip the lookup table to the previous page. 
<p>
The method will be invoked by FrontEnd when user click the lookup table page up button. 
<p>
Reimplemented in <a class="el" href="a00013.html#7bcabbab7ff98fc2da3546991aa4e617">scim::ComposeKeyInstance</a>, and <a class="el" href="a00028.html#ffb38cd5ff9bf5ebac0d4cfaa2fc59f8">scim::FilterInstanceBase</a>.
</div>
</div><p>
<a class="anchor" name="4b460876bc485b2a636ff4a6c1ef951b"></a><!-- doxytag: member="scim::IMEngineInstanceBase::lookup_table_page_down" ref="4b460876bc485b2a636ff4a6c1ef951b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::lookup_table_page_down           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Flip the lookup table to the next page. 
<p>
The method will be invoked by FrontEnd when user click the lookup table page down button. 
<p>
Reimplemented in <a class="el" href="a00013.html#890483f519b780b29cec84f05587e49e">scim::ComposeKeyInstance</a>, and <a class="el" href="a00028.html#4df1003b5579d6326dc53b0ee2cb7b06">scim::FilterInstanceBase</a>.
</div>
</div><p>
<a class="anchor" name="cdc4f433def9d043eecb879061a8eb70"></a><!-- doxytag: member="scim::IMEngineInstanceBase::reset" ref="cdc4f433def9d043eecb879061a8eb70" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::reset           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Reset this engine instance. 
<p>
All status of this engine instance should be reset, including the working encoding.<p>
The client encoding may have been changed before calling this method, so if the IMEngine makes use of the client's encoding information, it should check whether the encoding has been changed. IMEngineInstance could call the get_encoding () method of base class to get the client encoding. 
<p>
Reimplemented in <a class="el" href="a00013.html#3a1406a0a72350026600016c5bb4b306">scim::ComposeKeyInstance</a>, and <a class="el" href="a00028.html#f1ed6e10244d1ab9d479ca3f4b8fa6f2">scim::FilterInstanceBase</a>.
</div>
</div><p>
<a class="anchor" name="44db147dc9892194c190efb6958a523d"></a><!-- doxytag: member="scim::IMEngineInstanceBase::focus_in" ref="44db147dc9892194c190efb6958a523d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::focus_in           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Focus in this engine instance. 
<p>
This function should update/show/hide the status area, preedit area and lookup table, and update the full width punctuation/letter state. 
<p>
Reimplemented in <a class="el" href="a00013.html#9e50118343446a8ceeba6188b899a374">scim::ComposeKeyInstance</a>, <a class="el" href="a00028.html#0b3e4ce3853ece7ce2ab037bb8cd8aea">scim::FilterInstanceBase</a>, and <a class="el" href="a00023.html#3a16c2f5718875c7f33a98a3064614e5">scim::DummyIMEngineInstance</a>.
</div>
</div><p>
<a class="anchor" name="e4488970b00d61456035ed59edab9037"></a><!-- doxytag: member="scim::IMEngineInstanceBase::focus_out" ref="e4488970b00d61456035ed59edab9037" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::focus_out           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Focus out this engine instance. 
<p>

<p>
Reimplemented in <a class="el" href="a00013.html#7cc0279c4638ef0f0d885fe542c904d1">scim::ComposeKeyInstance</a>, and <a class="el" href="a00028.html#8e3f8ec98f51a983e7f9a261bde25124">scim::FilterInstanceBase</a>.
</div>
</div><p>
<a class="anchor" name="07356c4e5fc2b563aae2a927ee284512"></a><!-- doxytag: member="scim::IMEngineInstanceBase::trigger_property" ref="07356c4e5fc2b563aae2a927ee284512" args="(const String &amp;property)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::trigger_property           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>property</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Trigger a property. 
<p>
This function should do some action according to the triggered property. For example toggle the input mode, etc.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>property</em>&nbsp;</td><td>the key of the triggered property. </td></tr>
  </table>
</dl>

<p>
Reimplemented in <a class="el" href="a00013.html#d6b4897a3b05f70e53f9fb32401120ea">scim::ComposeKeyInstance</a>, and <a class="el" href="a00028.html#21d6efc2c3fe743bd507a80bbea9a204">scim::FilterInstanceBase</a>.
</div>
</div><p>
<a class="anchor" name="4556d6e7b3a2bb3f9cf0e38724f6cf88"></a><!-- doxytag: member="scim::IMEngineInstanceBase::process_helper_event" ref="4556d6e7b3a2bb3f9cf0e38724f6cf88" args="(const String &amp;helper_uuid, const Transaction &amp;trans)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::process_helper_event           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>helper_uuid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00109.html">Transaction</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>trans</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Process the events sent from a Client Helper process. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>helper_uuid</em>&nbsp;</td><td>The UUID of the Helper process which sent the events. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>trans</em>&nbsp;</td><td>The transaction which contains the events. </td></tr>
  </table>
</dl>

<p>
Reimplemented in <a class="el" href="a00028.html#069d409be7160e466fccbd71a7deb5df">scim::FilterInstanceBase</a>.
</div>
</div><p>
<a class="anchor" name="114d906ab61980b1c38c55946c0674f3"></a><!-- doxytag: member="scim::IMEngineInstanceBase::update_client_capabilities" ref="114d906ab61980b1c38c55946c0674f3" args="(unsigned int cap)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::update_client_capabilities           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>cap</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Update the capabilities of current client application which is attached to this IMEngineInstance. 
<p>
Some client may not support all capabilities provided by the IMEngine API. For example:<p>
<ul>
<li>OnTheSpot preedit string display (Embedded into client window).</li><li><a class="el" href="a00071.html">Property</a> display</li><li>Helper module</li><li>etc.</li></ul>
<p>
This method will be called to inform this IMEngineInstance object which capabilities are supported by the client application. It may be called multiple times, if the capabilities was changed.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>cap</em>&nbsp;</td><td>A bitmask to indicate which client capabilities are supported by the client application.</td></tr>
  </table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00160.html#g4f5e9e0461fb6a3dff0c2942429de97a">scim::ClientCapability</a> </dd></dl>

<p>
Reimplemented in <a class="el" href="a00028.html#dc3e228ef4a00e345e2f5d6b0827b47a">scim::FilterInstanceBase</a>.
</div>
</div><p>
<a class="anchor" name="2f32e45e107cdf2bf4cca0d5624a811a"></a><!-- doxytag: member="scim::IMEngineInstanceBase::show_preedit_string" ref="2f32e45e107cdf2bf4cca0d5624a811a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::show_preedit_string           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Show the preedit string area. 
<p>
The preedit string should be updated by calling update_preedit_string before or right after this call. 
</div>
</div><p>
<a class="anchor" name="b86c4f3d8cf60812d7b30c74bb2432fb"></a><!-- doxytag: member="scim::IMEngineInstanceBase::show_aux_string" ref="b86c4f3d8cf60812d7b30c74bb2432fb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::show_aux_string           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Show the aux string area. 
<p>
The aux string should be updated by calling update_aux_string before or right after this call.<p>
The aux string can contain any additional information whatever the input method engine want. 
</div>
</div><p>
<a class="anchor" name="d85660199d3e3a780e9bb9e866aa9d25"></a><!-- doxytag: member="scim::IMEngineInstanceBase::show_lookup_table" ref="d85660199d3e3a780e9bb9e866aa9d25" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::show_lookup_table           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Show the lookup table area. 
<p>
The lookup table should be updated by calling update_lookup_table before or right after this call. 
</div>
</div><p>
<a class="anchor" name="e42b6bdf0f6ecfa58bf311b747c3bd0f"></a><!-- doxytag: member="scim::IMEngineInstanceBase::hide_preedit_string" ref="e42b6bdf0f6ecfa58bf311b747c3bd0f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::hide_preedit_string           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Hide the preedit string area. 
<p>

</div>
</div><p>
<a class="anchor" name="7cc022a0fe58eafa26da98d21e148618"></a><!-- doxytag: member="scim::IMEngineInstanceBase::hide_aux_string" ref="7cc022a0fe58eafa26da98d21e148618" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::hide_aux_string           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Hide the aux string area. 
<p>

</div>
</div><p>
<a class="anchor" name="377d24bf544eb0bceebcc81c930f0801"></a><!-- doxytag: member="scim::IMEngineInstanceBase::hide_lookup_table" ref="377d24bf544eb0bceebcc81c930f0801" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::hide_lookup_table           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Hide the lookup table area. 
<p>

</div>
</div><p>
<a class="anchor" name="ae36fa3bc0abf692c78d71a3a121adc3"></a><!-- doxytag: member="scim::IMEngineInstanceBase::update_preedit_caret" ref="ae36fa3bc0abf692c78d71a3a121adc3" args="(int caret)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::update_preedit_caret           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>caret</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Update the preedit caret position in the preedit string. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>caret</em>&nbsp;</td><td>- the new position of the preedit caret. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="4bf207f7fbf5b5d762e4ea42570d88b3"></a><!-- doxytag: member="scim::IMEngineInstanceBase::update_preedit_string" ref="4bf207f7fbf5b5d762e4ea42570d88b3" args="(const WideString &amp;str, const AttributeList &amp;attrs=AttributeList())" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::update_preedit_string           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00158.html#g81a9bf12437e21157b5fb7dabda841fe">AttributeList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>attrs</em> = <code><a class="el" href="a00158.html#g81a9bf12437e21157b5fb7dabda841fe">AttributeList</a>()</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Update the content of the preedit string,. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>- the string content </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attrs</em>&nbsp;</td><td>- the string attributes </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="c8673de1b0b92f20c0dba4c8080098c2"></a><!-- doxytag: member="scim::IMEngineInstanceBase::update_aux_string" ref="c8673de1b0b92f20c0dba4c8080098c2" args="(const WideString &amp;str, const AttributeList &amp;attrs=AttributeList())" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::update_aux_string           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00158.html#g81a9bf12437e21157b5fb7dabda841fe">AttributeList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>attrs</em> = <code><a class="el" href="a00158.html#g81a9bf12437e21157b5fb7dabda841fe">AttributeList</a>()</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Update the content of the aux string,. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>- the string content </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attrs</em>&nbsp;</td><td>- the string attribute </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="484aab86607b33dbea2df2b69dcdf2ba"></a><!-- doxytag: member="scim::IMEngineInstanceBase::update_lookup_table" ref="484aab86607b33dbea2df2b69dcdf2ba" args="(const LookupTable &amp;table)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::update_lookup_table           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00055.html">LookupTable</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>table</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Update the content of the lookup table,. 
<p>
FrontEnd may reduce the page size of the table according to screen resolution. If the page size is changed, FrontEnd will inform this engine instance by calling update_lookup_table_page_size method.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>table</em>&nbsp;</td><td>- the new <a class="el" href="a00055.html">LookupTable</a> </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="c761303f81e6612498e79d1096aa347e"></a><!-- doxytag: member="scim::IMEngineInstanceBase::commit_string" ref="c761303f81e6612498e79d1096aa347e" args="(const WideString &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::commit_string           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Commit a string to the client application. 
<p>
The preedit string should be hid before calling this method. Otherwise the clients which use OnTheSpot input mode will flicker annoyingly.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>- the string to be committed. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="a3bb43e0b1a27f43bfd5c4ff79f2c1b7"></a><!-- doxytag: member="scim::IMEngineInstanceBase::forward_key_event" ref="a3bb43e0b1a27f43bfd5c4ff79f2c1b7" args="(const KeyEvent &amp;key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::forward_key_event           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00054.html">KeyEvent</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Forward a key event to the client application. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>- the key event to be forwarded. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="ef3c24341b92f57ca8c7e8e79cc3b72c"></a><!-- doxytag: member="scim::IMEngineInstanceBase::register_properties" ref="ef3c24341b92f57ca8c7e8e79cc3b72c" args="(const PropertyList &amp;properties)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::register_properties           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00158.html#gc4099a109cec998bbfad588fcf4c8f79">PropertyList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>properties</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Register all properties of this IMEngineInstance into the FrontEnd. 
<p>
The old properties previously registered by other IMEngineInstance will be discarded, so for each time <a class="el" href="a00052.html#44db147dc9892194c190efb6958a523d">focus_in()</a> is called, all properties should be registered no matter whether they had been registered before.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>properties</em>&nbsp;</td><td>the PropertyList contains all of the properties. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="a55e3aa345b40fb00fa1362bc6103326"></a><!-- doxytag: member="scim::IMEngineInstanceBase::update_property" ref="a55e3aa345b40fb00fa1362bc6103326" args="(const Property &amp;property)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::update_property           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00071.html">Property</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>property</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Update a registered property. 
<p>
Update a property which already registered by register_properties () method.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>property</em>&nbsp;</td><td>the property to be updated. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="8a042c5b57156a8ad5249e4e8dc1e2f9"></a><!-- doxytag: member="scim::IMEngineInstanceBase::beep" ref="8a042c5b57156a8ad5249e4e8dc1e2f9" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::beep           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Generate a short beep. 
<p>

</div>
</div><p>
<a class="anchor" name="e99a386f85ff59dc41a91e8eb7a759e4"></a><!-- doxytag: member="scim::IMEngineInstanceBase::start_helper" ref="e99a386f85ff59dc41a91e8eb7a759e4" args="(const String &amp;helper_uuid)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::start_helper           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>helper_uuid</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Start a Client Helper process. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>helper_uuid</em>&nbsp;</td><td>The UUID of the Helper object. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="217a5f8fd10797d49120c5d5a11a1682"></a><!-- doxytag: member="scim::IMEngineInstanceBase::stop_helper" ref="217a5f8fd10797d49120c5d5a11a1682" args="(const String &amp;helper_uuid)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::stop_helper           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>helper_uuid</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Stop a Client Helper process which was started by start_helper. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>helper_uuid</em>&nbsp;</td><td>The UUID of the Helper object. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="dad10bc689fc852648c61c1f16663b86"></a><!-- doxytag: member="scim::IMEngineInstanceBase::send_helper_event" ref="dad10bc689fc852648c61c1f16663b86" args="(const String &amp;helper_uuid, const Transaction &amp;trans)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::send_helper_event           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>helper_uuid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00109.html">Transaction</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>trans</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Send an events transaction to a client helper process. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>helper_uuid</em>&nbsp;</td><td>The UUID of the Helper object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>trans</em>&nbsp;</td><td>The transaction which contains events. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="12ae9dc0f6bd62bf77ef67d1c9681337"></a><!-- doxytag: member="scim::IMEngineInstanceBase::get_surrounding_text" ref="12ae9dc0f6bd62bf77ef67d1c9681337" args="(WideString &amp;text, int &amp;cursor, int maxlen_before=-1, int maxlen_after=-1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::IMEngineInstanceBase::get_surrounding_text           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>text</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>cursor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>maxlen_before</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>maxlen_after</em> = <code>-1</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Retrieves context around the insertion point. 
<p>
Input methods typically want context in order to constrain input text based on existing text; this is important for languages such as Thai where only some sequences of characters are allowed.<p>
Unlike other signal activation actions, this action will return the result immediately.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>text</em>&nbsp;</td><td>location to store the context string around the insertion point. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cursor</em>&nbsp;</td><td>location to store index of the insertion cursor within . </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>maxlen_before</em>&nbsp;</td><td>the maxmium length of context string to be retrieved before the cursor; -1 means unlimited. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>maxlen_after</em>&nbsp;</td><td>the maxmium length of context string to be retrieved after the cursor; -1 means unlimited.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if surrounding text was provided. </dd></dl>

</div>
</div><p>
<a class="anchor" name="b22bbc6780539bf9a423480457e37e63"></a><!-- doxytag: member="scim::IMEngineInstanceBase::delete_surrounding_text" ref="b22bbc6780539bf9a423480457e37e63" args="(int offset, int len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::IMEngineInstanceBase::delete_surrounding_text           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Ask the client to delete characters around the cursor position. 
<p>
In order to use this function, you should first call get_surrounding_text () to get the current context, and call this function immediately afterwards to make sure that you know what you are deleting. You should also account for the fact that even if the signal was handled, the input context might not have deleted all the characters that were requested to be deleted.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>offset from cursor position in chars; a negative value means start before the cursor. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>number of characters to delete.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the signal was handled. </dd></dl>

</div>
</div><p>
<a class="anchor" name="8249d069c269cd9e4672a5eab566382b"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_show_preedit_string" ref="8249d069c269cd9e4672a5eab566382b" args="(IMEngineSlotVoid *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_show_preedit_string           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00097.html">IMEngineSlotVoid</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="21c29ab837d3aedafcd2e8f3378414a3"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_show_aux_string" ref="21c29ab837d3aedafcd2e8f3378414a3" args="(IMEngineSlotVoid *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_show_aux_string           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00097.html">IMEngineSlotVoid</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="ba54097b83a819858c666a4d236e89dd"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_show_lookup_table" ref="ba54097b83a819858c666a4d236e89dd" args="(IMEngineSlotVoid *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_show_lookup_table           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00097.html">IMEngineSlotVoid</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="6c10237677db57338b9721614f2d3c1e"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_hide_preedit_string" ref="6c10237677db57338b9721614f2d3c1e" args="(IMEngineSlotVoid *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_hide_preedit_string           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00097.html">IMEngineSlotVoid</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="85b12beff3f21a889cb331253a39b410"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_hide_aux_string" ref="85b12beff3f21a889cb331253a39b410" args="(IMEngineSlotVoid *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_hide_aux_string           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00097.html">IMEngineSlotVoid</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="d8208c1752dd930d6c235fffcb52a54a"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_hide_lookup_table" ref="d8208c1752dd930d6c235fffcb52a54a" args="(IMEngineSlotVoid *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_hide_lookup_table           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00097.html">IMEngineSlotVoid</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="fde6e2a54ecd4f7971b413a2f28ccacd"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_update_preedit_caret" ref="fde6e2a54ecd4f7971b413a2f28ccacd" args="(IMEngineSlotInt *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_update_preedit_caret           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">IMEngineSlotInt</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="7c87582e0cd697c33ef7d71a84c24cf9"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_update_preedit_string" ref="7c87582e0cd697c33ef7d71a84c24cf9" args="(IMEngineSlotWideStringAttributeList *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_update_preedit_string           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00099.html">IMEngineSlotWideStringAttributeList</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="e1bdf85a07e252209334097973ffcd5f"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_update_aux_string" ref="e1bdf85a07e252209334097973ffcd5f" args="(IMEngineSlotWideStringAttributeList *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_update_aux_string           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00099.html">IMEngineSlotWideStringAttributeList</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="eabce7b4d005f6bc82b972ee47f421d4"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_update_lookup_table" ref="eabce7b4d005f6bc82b972ee47f421d4" args="(IMEngineSlotLookupTable *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_update_lookup_table           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">IMEngineSlotLookupTable</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="952f117c52f21bd200b2df19dbee4a3a"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_commit_string" ref="952f117c52f21bd200b2df19dbee4a3a" args="(IMEngineSlotWideString *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_commit_string           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">IMEngineSlotWideString</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="7f33c6035abbc8ffa60bea3d043c0562"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_forward_key_event" ref="7f33c6035abbc8ffa60bea3d043c0562" args="(IMEngineSlotKeyEvent *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_forward_key_event           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">IMEngineSlotKeyEvent</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="8321df6227dab54724a03018a95196ed"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_register_properties" ref="8321df6227dab54724a03018a95196ed" args="(IMEngineSlotPropertyList *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_register_properties           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">IMEngineSlotPropertyList</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="b3bcee345e32844d2fa525e6ff61af85"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_update_property" ref="b3bcee345e32844d2fa525e6ff61af85" args="(IMEngineSlotProperty *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_update_property           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">IMEngineSlotProperty</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="b81245193d162756fda32225bc84235f"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_beep" ref="b81245193d162756fda32225bc84235f" args="(IMEngineSlotVoid *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_beep           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00097.html">IMEngineSlotVoid</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="72bfe83adfe5ef0abb093b9aa933278e"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_start_helper" ref="72bfe83adfe5ef0abb093b9aa933278e" args="(IMEngineSlotString *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_start_helper           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">IMEngineSlotString</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="0acca1d6df11d503436913f49e4072b8"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_stop_helper" ref="0acca1d6df11d503436913f49e4072b8" args="(IMEngineSlotString *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_stop_helper           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00098.html">IMEngineSlotString</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="35c5412bda7ea431c78670c0898a604b"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_send_helper_event" ref="35c5412bda7ea431c78670c0898a604b" args="(IMEngineSlotStringTransaction *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_send_helper_event           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00099.html">IMEngineSlotStringTransaction</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="31afba64a9a11e6da8ec9c35fda4cb36"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_get_surrounding_text" ref="31afba64a9a11e6da8ec9c35fda4cb36" args="(IMEngineSlotGetSurroundingText *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_get_surrounding_text           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00101.html">IMEngineSlotGetSurroundingText</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="0e518783cf9ef56e4fd59bf855431d16"></a><!-- doxytag: member="scim::IMEngineInstanceBase::signal_connect_delete_surrounding_text" ref="0e518783cf9ef56e4fd59bf855431d16" args="(IMEngineSlotDeleteSurroundingText *slot)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00017.html">Connection</a> scim::IMEngineInstanceBase::signal_connect_delete_surrounding_text           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00099.html">IMEngineSlotDeleteSurroundingText</a> *&nbsp;</td>
          <td class="paramname"> <em>slot</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="a2da7c8755e6af90cc8dfe2a5d47bcec"></a><!-- doxytag: member="scim::IMEngineInstanceBase::process_key_event" ref="a2da7c8755e6af90cc8dfe2a5d47bcec" args="(const KeyEvent &amp;key)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool scim::IMEngineInstanceBase::process_key_event           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00054.html">KeyEvent</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Process a key event. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>- the key event to be processed. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the event is processed, otherwise the event is not processed and should be forward to client application. </dd></dl>

<p>
Implemented in <a class="el" href="a00013.html#612121cd8af64dfc92b7e53be3636ade">scim::ComposeKeyInstance</a>, <a class="el" href="a00028.html#789b4e22528d7f311f6fe985eef5b311">scim::FilterInstanceBase</a>, and <a class="el" href="a00023.html#4847d13da7440d6e5deaa793e6ded013">scim::DummyIMEngineInstance</a>.
</div>
</div><p>
<a class="anchor" name="84bd207c8d6959c8fcc61a630ab61b59"></a><!-- doxytag: member="scim::IMEngineInstanceBase::move_preedit_caret" ref="84bd207c8d6959c8fcc61a630ab61b59" args="(unsigned int pos)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::move_preedit_caret           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>pos</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Move the preedit caret in the preedit string. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>- the new position that user requested. </td></tr>
  </table>
</dl>

<p>
Reimplemented in <a class="el" href="a00013.html#d9b63c69d86fb58a1f6ec8ab9ce83130">scim::ComposeKeyInstance</a>, and <a class="el" href="a00028.html#3c2570975d8b99201226c2428c36aea4">scim::FilterInstanceBase</a>.
</div>
</div><p>
<a class="anchor" name="f8af093dae67b196416bf0099298dfc3"></a><!-- doxytag: member="scim::IMEngineInstanceBase::select_candidate" ref="f8af093dae67b196416bf0099298dfc3" args="(unsigned int index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::select_candidate           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>index</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Select a candidate in current lookup table. 
<p>
When user click a candidate directly, this method will be invoked by FrontEnd.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td>- the index in current page of the selected candidate. </td></tr>
  </table>
</dl>

<p>
Reimplemented in <a class="el" href="a00013.html#2e18005dbe0f4e6cf996fe85dd9d14e8">scim::ComposeKeyInstance</a>, and <a class="el" href="a00028.html#cf7057362aa2a6aef2239cea90a1e2f6">scim::FilterInstanceBase</a>.
</div>
</div><p>
<a class="anchor" name="a62ab13f71a146cdaaee1e33c671b3c7"></a><!-- doxytag: member="scim::IMEngineInstanceBase::update_lookup_table_page_size" ref="a62ab13f71a146cdaaee1e33c671b3c7" args="(unsigned int page_size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::update_lookup_table_page_size           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>page_size</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Update the page size of current lookup table. 
<p>
In the next time, the lookup table should page down by this size.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>page_size</em>&nbsp;</td><td>- the new size of current page. </td></tr>
  </table>
</dl>

<p>
Reimplemented in <a class="el" href="a00013.html#de80bef3dfcd1010934661adb558ea13">scim::ComposeKeyInstance</a>, and <a class="el" href="a00028.html#c936bafb876747986e92c3f55c39cd45">scim::FilterInstanceBase</a>.
</div>
</div><p>
<a class="anchor" name="244f2132661b86d5b7232e3fee20ce74"></a><!-- doxytag: member="scim::IMEngineInstanceBase::lookup_table_page_up" ref="244f2132661b86d5b7232e3fee20ce74" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::lookup_table_page_up           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Flip the lookup table to the previous page. 
<p>
The method will be invoked by FrontEnd when user click the lookup table page up button. 
<p>
Reimplemented in <a class="el" href="a00013.html#7bcabbab7ff98fc2da3546991aa4e617">scim::ComposeKeyInstance</a>, and <a class="el" href="a00028.html#ffb38cd5ff9bf5ebac0d4cfaa2fc59f8">scim::FilterInstanceBase</a>.
</div>
</div><p>
<a class="anchor" name="4b460876bc485b2a636ff4a6c1ef951b"></a><!-- doxytag: member="scim::IMEngineInstanceBase::lookup_table_page_down" ref="4b460876bc485b2a636ff4a6c1ef951b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::lookup_table_page_down           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Flip the lookup table to the next page. 
<p>
The method will be invoked by FrontEnd when user click the lookup table page down button. 
<p>
Reimplemented in <a class="el" href="a00013.html#890483f519b780b29cec84f05587e49e">scim::ComposeKeyInstance</a>, and <a class="el" href="a00028.html#4df1003b5579d6326dc53b0ee2cb7b06">scim::FilterInstanceBase</a>.
</div>
</div><p>
<a class="anchor" name="cdc4f433def9d043eecb879061a8eb70"></a><!-- doxytag: member="scim::IMEngineInstanceBase::reset" ref="cdc4f433def9d043eecb879061a8eb70" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::reset           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Reset this engine instance. 
<p>
All status of this engine instance should be reset, including the working encoding.<p>
The client encoding may have been changed before calling this method, so if the IMEngine makes use of the client's encoding information, it should check whether the encoding has been changed. IMEngineInstance could call the get_encoding () method of base class to get the client encoding. 
<p>
Reimplemented in <a class="el" href="a00013.html#3a1406a0a72350026600016c5bb4b306">scim::ComposeKeyInstance</a>, and <a class="el" href="a00028.html#f1ed6e10244d1ab9d479ca3f4b8fa6f2">scim::FilterInstanceBase</a>.
</div>
</div><p>
<a class="anchor" name="44db147dc9892194c190efb6958a523d"></a><!-- doxytag: member="scim::IMEngineInstanceBase::focus_in" ref="44db147dc9892194c190efb6958a523d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::focus_in           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Focus in this engine instance. 
<p>
This function should update/show/hide the status area, preedit area and lookup table, and update the full width punctuation/letter state. 
<p>
Reimplemented in <a class="el" href="a00013.html#9e50118343446a8ceeba6188b899a374">scim::ComposeKeyInstance</a>, <a class="el" href="a00028.html#0b3e4ce3853ece7ce2ab037bb8cd8aea">scim::FilterInstanceBase</a>, and <a class="el" href="a00023.html#3a16c2f5718875c7f33a98a3064614e5">scim::DummyIMEngineInstance</a>.
</div>
</div><p>
<a class="anchor" name="e4488970b00d61456035ed59edab9037"></a><!-- doxytag: member="scim::IMEngineInstanceBase::focus_out" ref="e4488970b00d61456035ed59edab9037" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::focus_out           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Focus out this engine instance. 
<p>

<p>
Reimplemented in <a class="el" href="a00013.html#7cc0279c4638ef0f0d885fe542c904d1">scim::ComposeKeyInstance</a>, and <a class="el" href="a00028.html#8e3f8ec98f51a983e7f9a261bde25124">scim::FilterInstanceBase</a>.
</div>
</div><p>
<a class="anchor" name="07356c4e5fc2b563aae2a927ee284512"></a><!-- doxytag: member="scim::IMEngineInstanceBase::trigger_property" ref="07356c4e5fc2b563aae2a927ee284512" args="(const String &amp;property)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::trigger_property           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>property</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Trigger a property. 
<p>
This function should do some action according to the triggered property. For example toggle the input mode, etc.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>property</em>&nbsp;</td><td>the key of the triggered property. </td></tr>
  </table>
</dl>

<p>
Reimplemented in <a class="el" href="a00013.html#d6b4897a3b05f70e53f9fb32401120ea">scim::ComposeKeyInstance</a>, and <a class="el" href="a00028.html#21d6efc2c3fe743bd507a80bbea9a204">scim::FilterInstanceBase</a>.
</div>
</div><p>
<a class="anchor" name="4556d6e7b3a2bb3f9cf0e38724f6cf88"></a><!-- doxytag: member="scim::IMEngineInstanceBase::process_helper_event" ref="4556d6e7b3a2bb3f9cf0e38724f6cf88" args="(const String &amp;helper_uuid, const Transaction &amp;trans)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::process_helper_event           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>helper_uuid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00109.html">Transaction</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>trans</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Process the events sent from a Client Helper process. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>helper_uuid</em>&nbsp;</td><td>The UUID of the Helper process which sent the events. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>trans</em>&nbsp;</td><td>The transaction which contains the events. </td></tr>
  </table>
</dl>

<p>
Reimplemented in <a class="el" href="a00028.html#069d409be7160e466fccbd71a7deb5df">scim::FilterInstanceBase</a>.
</div>
</div><p>
<a class="anchor" name="114d906ab61980b1c38c55946c0674f3"></a><!-- doxytag: member="scim::IMEngineInstanceBase::update_client_capabilities" ref="114d906ab61980b1c38c55946c0674f3" args="(unsigned int cap)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void scim::IMEngineInstanceBase::update_client_capabilities           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>cap</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Update the capabilities of current client application which is attached to this IMEngineInstance. 
<p>
Some client may not support all capabilities provided by the IMEngine API. For example:<p>
<ul>
<li>OnTheSpot preedit string display (Embedded into client window).</li><li><a class="el" href="a00071.html">Property</a> display</li><li>Helper module</li><li>etc.</li></ul>
<p>
This method will be called to inform this IMEngineInstance object which capabilities are supported by the client application. It may be called multiple times, if the capabilities was changed.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>cap</em>&nbsp;</td><td>A bitmask to indicate which client capabilities are supported by the client application.</td></tr>
  </table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00160.html#g4f5e9e0461fb6a3dff0c2942429de97a">scim::ClientCapability</a> </dd></dl>

<p>
Reimplemented in <a class="el" href="a00028.html#dc3e228ef4a00e345e2f5d6b0827b47a">scim::FilterInstanceBase</a>.
</div>
</div><p>
<a class="anchor" name="2f32e45e107cdf2bf4cca0d5624a811a"></a><!-- doxytag: member="scim::IMEngineInstanceBase::show_preedit_string" ref="2f32e45e107cdf2bf4cca0d5624a811a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::show_preedit_string           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Show the preedit string area. 
<p>
The preedit string should be updated by calling update_preedit_string before or right after this call. 
</div>
</div><p>
<a class="anchor" name="b86c4f3d8cf60812d7b30c74bb2432fb"></a><!-- doxytag: member="scim::IMEngineInstanceBase::show_aux_string" ref="b86c4f3d8cf60812d7b30c74bb2432fb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::show_aux_string           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Show the aux string area. 
<p>
The aux string should be updated by calling update_aux_string before or right after this call.<p>
The aux string can contain any additional information whatever the input method engine want. 
</div>
</div><p>
<a class="anchor" name="d85660199d3e3a780e9bb9e866aa9d25"></a><!-- doxytag: member="scim::IMEngineInstanceBase::show_lookup_table" ref="d85660199d3e3a780e9bb9e866aa9d25" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::show_lookup_table           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Show the lookup table area. 
<p>
The lookup table should be updated by calling update_lookup_table before or right after this call. 
</div>
</div><p>
<a class="anchor" name="e42b6bdf0f6ecfa58bf311b747c3bd0f"></a><!-- doxytag: member="scim::IMEngineInstanceBase::hide_preedit_string" ref="e42b6bdf0f6ecfa58bf311b747c3bd0f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::hide_preedit_string           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Hide the preedit string area. 
<p>

</div>
</div><p>
<a class="anchor" name="7cc022a0fe58eafa26da98d21e148618"></a><!-- doxytag: member="scim::IMEngineInstanceBase::hide_aux_string" ref="7cc022a0fe58eafa26da98d21e148618" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::hide_aux_string           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Hide the aux string area. 
<p>

</div>
</div><p>
<a class="anchor" name="377d24bf544eb0bceebcc81c930f0801"></a><!-- doxytag: member="scim::IMEngineInstanceBase::hide_lookup_table" ref="377d24bf544eb0bceebcc81c930f0801" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::hide_lookup_table           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Hide the lookup table area. 
<p>

</div>
</div><p>
<a class="anchor" name="ae36fa3bc0abf692c78d71a3a121adc3"></a><!-- doxytag: member="scim::IMEngineInstanceBase::update_preedit_caret" ref="ae36fa3bc0abf692c78d71a3a121adc3" args="(int caret)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::update_preedit_caret           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>caret</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Update the preedit caret position in the preedit string. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>caret</em>&nbsp;</td><td>- the new position of the preedit caret. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="4bf207f7fbf5b5d762e4ea42570d88b3"></a><!-- doxytag: member="scim::IMEngineInstanceBase::update_preedit_string" ref="4bf207f7fbf5b5d762e4ea42570d88b3" args="(const WideString &amp;str, const AttributeList &amp;attrs=AttributeList())" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::update_preedit_string           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00158.html#g81a9bf12437e21157b5fb7dabda841fe">AttributeList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>attrs</em> = <code><a class="el" href="a00158.html#g81a9bf12437e21157b5fb7dabda841fe">AttributeList</a>()</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Update the content of the preedit string,. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>- the string content </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attrs</em>&nbsp;</td><td>- the string attributes </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="c8673de1b0b92f20c0dba4c8080098c2"></a><!-- doxytag: member="scim::IMEngineInstanceBase::update_aux_string" ref="c8673de1b0b92f20c0dba4c8080098c2" args="(const WideString &amp;str, const AttributeList &amp;attrs=AttributeList())" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::update_aux_string           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00158.html#g81a9bf12437e21157b5fb7dabda841fe">AttributeList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>attrs</em> = <code><a class="el" href="a00158.html#g81a9bf12437e21157b5fb7dabda841fe">AttributeList</a>()</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Update the content of the aux string,. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>- the string content </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attrs</em>&nbsp;</td><td>- the string attribute </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="484aab86607b33dbea2df2b69dcdf2ba"></a><!-- doxytag: member="scim::IMEngineInstanceBase::update_lookup_table" ref="484aab86607b33dbea2df2b69dcdf2ba" args="(const LookupTable &amp;table)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::update_lookup_table           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00055.html">LookupTable</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>table</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Update the content of the lookup table,. 
<p>
FrontEnd may reduce the page size of the table according to screen resolution. If the page size is changed, FrontEnd will inform this engine instance by calling update_lookup_table_page_size method.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>table</em>&nbsp;</td><td>- the new <a class="el" href="a00055.html">LookupTable</a> </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="c761303f81e6612498e79d1096aa347e"></a><!-- doxytag: member="scim::IMEngineInstanceBase::commit_string" ref="c761303f81e6612498e79d1096aa347e" args="(const WideString &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::commit_string           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Commit a string to the client application. 
<p>
The preedit string should be hid before calling this method. Otherwise the clients which use OnTheSpot input mode will flicker annoyingly.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>- the string to be committed. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="a3bb43e0b1a27f43bfd5c4ff79f2c1b7"></a><!-- doxytag: member="scim::IMEngineInstanceBase::forward_key_event" ref="a3bb43e0b1a27f43bfd5c4ff79f2c1b7" args="(const KeyEvent &amp;key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::forward_key_event           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00054.html">KeyEvent</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Forward a key event to the client application. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>- the key event to be forwarded. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="ef3c24341b92f57ca8c7e8e79cc3b72c"></a><!-- doxytag: member="scim::IMEngineInstanceBase::register_properties" ref="ef3c24341b92f57ca8c7e8e79cc3b72c" args="(const PropertyList &amp;properties)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::register_properties           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00158.html#gc4099a109cec998bbfad588fcf4c8f79">PropertyList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>properties</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Register all properties of this IMEngineInstance into the FrontEnd. 
<p>
The old properties previously registered by other IMEngineInstance will be discarded, so for each time <a class="el" href="a00052.html#44db147dc9892194c190efb6958a523d">focus_in()</a> is called, all properties should be registered no matter whether they had been registered before.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>properties</em>&nbsp;</td><td>the PropertyList contains all of the properties. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="a55e3aa345b40fb00fa1362bc6103326"></a><!-- doxytag: member="scim::IMEngineInstanceBase::update_property" ref="a55e3aa345b40fb00fa1362bc6103326" args="(const Property &amp;property)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::update_property           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00071.html">Property</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>property</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Update a registered property. 
<p>
Update a property which already registered by register_properties () method.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>property</em>&nbsp;</td><td>the property to be updated. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="8a042c5b57156a8ad5249e4e8dc1e2f9"></a><!-- doxytag: member="scim::IMEngineInstanceBase::beep" ref="8a042c5b57156a8ad5249e4e8dc1e2f9" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::beep           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Generate a short beep. 
<p>

</div>
</div><p>
<a class="anchor" name="e99a386f85ff59dc41a91e8eb7a759e4"></a><!-- doxytag: member="scim::IMEngineInstanceBase::start_helper" ref="e99a386f85ff59dc41a91e8eb7a759e4" args="(const String &amp;helper_uuid)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::start_helper           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>helper_uuid</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Start a Client Helper process. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>helper_uuid</em>&nbsp;</td><td>The UUID of the Helper object. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="217a5f8fd10797d49120c5d5a11a1682"></a><!-- doxytag: member="scim::IMEngineInstanceBase::stop_helper" ref="217a5f8fd10797d49120c5d5a11a1682" args="(const String &amp;helper_uuid)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::stop_helper           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>helper_uuid</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Stop a Client Helper process which was started by start_helper. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>helper_uuid</em>&nbsp;</td><td>The UUID of the Helper object. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="dad10bc689fc852648c61c1f16663b86"></a><!-- doxytag: member="scim::IMEngineInstanceBase::send_helper_event" ref="dad10bc689fc852648c61c1f16663b86" args="(const String &amp;helper_uuid, const Transaction &amp;trans)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::IMEngineInstanceBase::send_helper_event           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>helper_uuid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00109.html">Transaction</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>trans</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Send an events transaction to a client helper process. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>helper_uuid</em>&nbsp;</td><td>The UUID of the Helper object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>trans</em>&nbsp;</td><td>The transaction which contains events. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="12ae9dc0f6bd62bf77ef67d1c9681337"></a><!-- doxytag: member="scim::IMEngineInstanceBase::get_surrounding_text" ref="12ae9dc0f6bd62bf77ef67d1c9681337" args="(WideString &amp;text, int &amp;cursor, int maxlen_before=-1, int maxlen_after=-1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::IMEngineInstanceBase::get_surrounding_text           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00157.html#850f268430a53180832d6677ba9d27a8">WideString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>text</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>cursor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>maxlen_before</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>maxlen_after</em> = <code>-1</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Retrieves context around the insertion point. 
<p>
Input methods typically want context in order to constrain input text based on existing text; this is important for languages such as Thai where only some sequences of characters are allowed.<p>
Unlike other signal activation actions, this action will return the result immediately.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>text</em>&nbsp;</td><td>location to store the context string around the insertion point. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cursor</em>&nbsp;</td><td>location to store index of the insertion cursor within . </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>maxlen_before</em>&nbsp;</td><td>the maxmium length of context string to be retrieved before the cursor; -1 means unlimited. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>maxlen_after</em>&nbsp;</td><td>the maxmium length of context string to be retrieved after the cursor; -1 means unlimited.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if surrounding text was provided. </dd></dl>

</div>
</div><p>
<a class="anchor" name="b22bbc6780539bf9a423480457e37e63"></a><!-- doxytag: member="scim::IMEngineInstanceBase::delete_surrounding_text" ref="b22bbc6780539bf9a423480457e37e63" args="(int offset, int len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::IMEngineInstanceBase::delete_surrounding_text           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Ask the client to delete characters around the cursor position. 
<p>
In order to use this function, you should first call get_surrounding_text () to get the current context, and call this function immediately afterwards to make sure that you know what you are deleting. You should also account for the fact that even if the signal was handled, the input context might not have deleted all the characters that were requested to be deleted.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>offset from cursor position in chars; a negative value means start before the cursor. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>number of characters to delete.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the signal was handled. </dd></dl>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="a00136.html">scim_imengine.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Thu Jun 28 14:12:40 2007 for scim by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.0 </small></address>
</body>
</html>