Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 3c9265ee0944a35fbede43df6ed55872 > files > 106

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::HotkeyMatcher 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="a00047.html">HotkeyMatcher</a></div>
<h1>scim::HotkeyMatcher Class Reference<br>
<small>
[<a class="el" href="a00158.html">Accessories</a>]</small>
</h1><!-- doxytag: class="scim::HotkeyMatcher" -->This class is used to match a <a class="el" href="a00054.html">KeyEvent</a> among a set of hotkeys.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;scim_hotkey.h&gt;</code>
<p>
<a href="a00365.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="a00047.html#1f5dcfffda5368bd4ae4274e316e96d7">HotkeyMatcher</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#1f5dcfffda5368bd4ae4274e316e96d7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#97a939101d6c51a22f32798e9f5ee830">~HotkeyMatcher</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor.  <a href="#97a939101d6c51a22f32798e9f5ee830"></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="a00047.html#91271f850315972a13e0db3799c1a013">add_hotkey</a> (const <a class="el" href="a00054.html">KeyEvent</a> &amp;key, int id)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a Hotkey into this <a class="el" href="a00047.html">HotkeyMatcher</a>.  <a href="#91271f850315972a13e0db3799c1a013"></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="a00047.html#dbc956decc6a8b47a210e15bb0e3ec47">add_hotkeys</a> (const <a class="el" href="a00158.html#gfe3e8c1f1276da4a6331fa96fb1b2398">KeyEventList</a> &amp;keys, int id)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a set of Hotkeys into this <a class="el" href="a00047.html">HotkeyMatcher</a>.  <a href="#dbc956decc6a8b47a210e15bb0e3ec47"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#a30516ed1aa20b7814dd90ef9716c38e">find_hotkeys</a> (int id, <a class="el" href="a00158.html#gfe3e8c1f1276da4a6331fa96fb1b2398">KeyEventList</a> &amp;keys) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find all Hotkeys binded to a specific id.  <a href="#a30516ed1aa20b7814dd90ef9716c38e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#94f33cf978c66166828dc2bb5db6a5a4">get_all_hotkeys</a> (<a class="el" href="a00158.html#gfe3e8c1f1276da4a6331fa96fb1b2398">KeyEventList</a> &amp;keys, std::vector&lt; int &gt; &amp;ids) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get all Hotkeys added into this <a class="el" href="a00047.html">HotkeyMatcher</a>.  <a href="#94f33cf978c66166828dc2bb5db6a5a4"></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="a00047.html#0e37c2403af39f0168f9a328f5d6977d">reset</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset the <a class="el" href="a00047.html">HotkeyMatcher</a>.  <a href="#0e37c2403af39f0168f9a328f5d6977d"></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="a00047.html#9bcb276e9c4a94173878e38cceb4369d">clear</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear all Hotkeys.  <a href="#9bcb276e9c4a94173878e38cceb4369d"></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="a00047.html#978b78101e8b3590c42a0d33bcd4a5ec">push_key_event</a> (const <a class="el" href="a00054.html">KeyEvent</a> &amp;key)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push a <a class="el" href="a00054.html">KeyEvent</a> into the queue.  <a href="#978b78101e8b3590c42a0d33bcd4a5ec"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#e593cf5c0fa16cd8b1296b9c1f4e7ff0">is_matched</a> (void) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the last <a class="el" href="a00054.html">KeyEvent</a> pushed by push_key_event () matched with any Hotkey.  <a href="#e593cf5c0fa16cd8b1296b9c1f4e7ff0"></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="a00047.html#90cc351840bce9439af73702d2061628">get_match_result</a> (void) const</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the match result.  <a href="#90cc351840bce9439af73702d2061628"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This class is used to match a <a class="el" href="a00054.html">KeyEvent</a> among a set of hotkeys. 
<p>
This class keeps the key event history so that it can match any kind of key events, including key release events, correctly.<p>
If there are large amount of hotkeys to be matched, this class can provide very good performance. 
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="1f5dcfffda5368bd4ae4274e316e96d7"></a><!-- doxytag: member="scim::HotkeyMatcher::HotkeyMatcher" ref="1f5dcfffda5368bd4ae4274e316e96d7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">scim::HotkeyMatcher::HotkeyMatcher           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor. 
<p>

</div>
</div><p>
<a class="anchor" name="97a939101d6c51a22f32798e9f5ee830"></a><!-- doxytag: member="scim::HotkeyMatcher::~HotkeyMatcher" ref="97a939101d6c51a22f32798e9f5ee830" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">scim::HotkeyMatcher::~HotkeyMatcher           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destructor. 
<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="91271f850315972a13e0db3799c1a013"></a><!-- doxytag: member="scim::HotkeyMatcher::add_hotkey" ref="91271f850315972a13e0db3799c1a013" args="(const KeyEvent &amp;key, int id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::HotkeyMatcher::add_hotkey           </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>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>id</em></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>
Add a Hotkey into this <a class="el" href="a00047.html">HotkeyMatcher</a>. 
<p>
If a same Hotkey was already added, then it'll be replaced by this new one.<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>A Hotkey to be added. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>An id to be binded to this Hotkey. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="dbc956decc6a8b47a210e15bb0e3ec47"></a><!-- doxytag: member="scim::HotkeyMatcher::add_hotkeys" ref="dbc956decc6a8b47a210e15bb0e3ec47" args="(const KeyEventList &amp;keys, int id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::HotkeyMatcher::add_hotkeys           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00158.html#gfe3e8c1f1276da4a6331fa96fb1b2398">KeyEventList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>keys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>id</em></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>
Add a set of Hotkeys into this <a class="el" href="a00047.html">HotkeyMatcher</a>. 
<p>
If a same Hotkey in the list was already added, then it'll be replaced by the new one.<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>keys</em>&nbsp;</td><td>A set of Hotkeys to be added. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>An id to be binded to these Hotkeys. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="a30516ed1aa20b7814dd90ef9716c38e"></a><!-- doxytag: member="scim::HotkeyMatcher::find_hotkeys" ref="a30516ed1aa20b7814dd90ef9716c38e" args="(int id, KeyEventList &amp;keys) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t scim::HotkeyMatcher::find_hotkeys           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00158.html#gfe3e8c1f1276da4a6331fa96fb1b2398">KeyEventList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>keys</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Find all Hotkeys binded to a specific id. 
<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>id</em>&nbsp;</td><td>The id to be found. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>keys</em>&nbsp;</td><td>A KeyEventList object to hold all KeyEvents binded to the id. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of Hotkeys found. </dd></dl>

</div>
</div><p>
<a class="anchor" name="94f33cf978c66166828dc2bb5db6a5a4"></a><!-- doxytag: member="scim::HotkeyMatcher::get_all_hotkeys" ref="94f33cf978c66166828dc2bb5db6a5a4" args="(KeyEventList &amp;keys, std::vector&lt; int &gt; &amp;ids) const" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t scim::HotkeyMatcher::get_all_hotkeys           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00158.html#gfe3e8c1f1276da4a6331fa96fb1b2398">KeyEventList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>keys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; int &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>ids</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get all Hotkeys added into this <a class="el" href="a00047.html">HotkeyMatcher</a>. 
<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>keys</em>&nbsp;</td><td>A KeyEventList object to hold all KeyEvents. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ids</em>&nbsp;</td><td>A int list to hold all corresponding IDs.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of available Hotkeys. </dd></dl>

</div>
</div><p>
<a class="anchor" name="0e37c2403af39f0168f9a328f5d6977d"></a><!-- doxytag: member="scim::HotkeyMatcher::reset" ref="0e37c2403af39f0168f9a328f5d6977d" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::HotkeyMatcher::reset           </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>
Reset the <a class="el" href="a00047.html">HotkeyMatcher</a>. 
<p>
The <a class="el" href="a00054.html">KeyEvent</a> queue will be cleared, all state will be reset. The Hotkeys which were already added will not be touched. 
</div>
</div><p>
<a class="anchor" name="9bcb276e9c4a94173878e38cceb4369d"></a><!-- doxytag: member="scim::HotkeyMatcher::clear" ref="9bcb276e9c4a94173878e38cceb4369d" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::HotkeyMatcher::clear           </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>
Clear all Hotkeys. 
<p>

</div>
</div><p>
<a class="anchor" name="978b78101e8b3590c42a0d33bcd4a5ec"></a><!-- doxytag: member="scim::HotkeyMatcher::push_key_event" ref="978b78101e8b3590c42a0d33bcd4a5ec" args="(const KeyEvent &amp;key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void scim::HotkeyMatcher::push_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%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Push a <a class="el" href="a00054.html">KeyEvent</a> into the queue. 
<p>
This <a class="el" href="a00054.html">KeyEvent</a> will be matched against the available Hotkeys 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>key</em>&nbsp;</td><td>The key to be pushed into. </td></tr>
  </table>
</dl>

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

<p>
Check if the last <a class="el" href="a00054.html">KeyEvent</a> pushed by push_key_event () matched with any Hotkey. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true If the <a class="el" href="a00054.html">KeyEvent</a> matched with a Hotkey. </dd></dl>

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

<p>
Get the match result. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The corresponding id of the matched Hotkey. If no Hotkey was matched, return -1. </dd></dl>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="a00134.html">scim_hotkey.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Thu Jun 28 14:12:39 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>