<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qwindowsystem_qws.cpp:3127 --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>QWSInputMethod Class</title> <style type="text/css"><!-- fn { margin-left: 1cm; text-indent: -1cm; } a:link { color: #004faf; text-decoration: none } a:visited { color: #672967; text-decoration: none } body { background: #ffffff; color: black; } --></style> </head> <body> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr bgcolor="#E5E5E5"> <td valign=center> <a href="index.html"> <font color="#004faf">Home</font></a> | <a href="classes.html"> <font color="#004faf">All Classes</font></a> | <a href="mainclasses.html"> <font color="#004faf">Main Classes</font></a> | <a href="annotated.html"> <font color="#004faf">Annotated</font></a> | <a href="groups.html"> <font color="#004faf">Grouped Classes</font></a> | <a href="functions.html"> <font color="#004faf">Functions</font></a> </td> <td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QWSInputMethod Class Reference</h1> <p>The QWSInputMethod class provides international input methods for Qt/Embedded. <a href="#details">More...</a> <p><tt>#include <<a href="qwindowsystem_qws-h.html">qwindowsystem_qws.h</a>></tt> <p><a href="qwsinputmethod-members.html">List of all member functions.</a> <h2>Public Members</h2> <ul> <li class=fn><a href="#QWSInputMethod"><b>QWSInputMethod</b></a> ()</li> <li class=fn>virtual <a href="#~QWSInputMethod"><b>~QWSInputMethod</b></a> ()</li> <li class=fn>virtual bool <a href="#filter"><b>filter</b></a> ( int unicode, int keycode, int modifiers, bool isPress, bool autoRepeat ) = 0</li> <li class=fn>virtual void <a href="#reset"><b>reset</b></a> ()</li> <li class=fn>virtual void <a href="#setMicroFocus"><b>setMicroFocus</b></a> ( int x, int y )</li> <li class=fn>virtual void <a href="#setFont"><b>setFont</b></a> ( const QFont & )</li> </ul> <h2>Protected Members</h2> <ul> <li class=fn>void <a href="#sendIMEvent"><b>sendIMEvent</b></a> ( QWSServer::IMState state, const QString & txt, int cpos, int selLen = 0 )</li> </ul> <hr><a name="details"></a><h2>Detailed Description</h2> The QWSInputMethod class provides international input methods for Qt/Embedded. <p> <p> Subclass this class to implement your own input method. <p> An input methods consists of a keyboard filter and optionally a graphical interface. The keyboard filter intercepts key events from physical or virtual keyboards by implementing the <a href="#filter">filter</a>() function. <p> Use <a href="#sendIMEvent">sendIMEvent</a>() to send composition events. Composition starts with the input method sending an <tt>IMStart</tt> event, followed by a number of <tt>IMCompose</tt> events and ending with an <tt>IMEnd</tt> event or when the virtual <a href="#reset">reset</a>() function is called. <p> The functions <a href="#setMicroFocus">setMicroFocus</a>() and <a href="#setFont">setFont</a>() can be reimplemented to receive more information about the state of the focus widget. <p> Use QWSServer::setCurrentInputMethod() to install an input method. <p> <p>See also <a href="qws.html">Qt/Embedded</a>. <hr><h2>Member Function Documentation</h2> <h3 class=fn><a name="QWSInputMethod"></a>QWSInputMethod::QWSInputMethod () </h3> Constructs a new input method <h3 class=fn><a name="~QWSInputMethod"></a>QWSInputMethod::~QWSInputMethod ()<tt> [virtual]</tt> </h3> Destructs the input method uninstalling it if it is currently installed. <h3 class=fn>bool <a name="filter"></a>QWSInputMethod::filter ( int unicode, int keycode, int modifiers, bool isPress, bool autoRepeat )<tt> [pure virtual]</tt> </h3> <p> This function must be implemented in subclasses to handle key input from physical or virtual keyboards. Returning TRUE will block the event from further processing. <p> The Unicode value is given in <em>unicode</em> and the key code in <em>keycode</em>. Keyboard modifiers are OR-ed together in <em>modifiers</em>. If <em>isPress</em> is TRUE this is a key press; otherwise it is a key release. If <em>autoRepeat</em> is TRUE this is an auto-repeated key press. <p> All normal key events should be blocked while in compose mode (i.e., between <tt>IMStart</tt> and <tt>IMEnd</tt>). <p> <h3 class=fn>void <a name="reset"></a>QWSInputMethod::reset ()<tt> [virtual]</tt> </h3> Implemented in subclasses to reset the state of the input method. <h3 class=fn>void <a name="sendIMEvent"></a>QWSInputMethod::sendIMEvent ( QWSServer::IMState state, const <a href="qstring.html">QString</a> & txt, int cpos, int selLen = 0 )<tt> [protected]</tt> </h3> <p> Causes a <a href="qimevent.html">QIMEvent</a> to be sent to the focus widget. <em>state</em> may be one of <a href="qwsserver.html#IMState-enum">QWSServer::IMStart</a>, <a href="qwsserver.html#IMState-enum">QWSServer::IMCompose</a> or <a href="qwsserver.html#IMState-enum">QWSServer::IMEnd</a>. <p> <em>txt</em> is the text being composed (or the finished text if state is <tt>IMEnd</tt>). <em>cpos</em> is the current cursor position. <p> If state is <tt>IMCompose</tt>, <em>selLen</em> is the number of characters in the composition string (starting at <em>cpos</em>) that should be marked as selected by the input widget receiving the event. <h3 class=fn>void <a name="setFont"></a>QWSInputMethod::setFont ( const <a href="qfont.html">QFont</a> & )<tt> [virtual]</tt> </h3> Implemented in subclasses to handle font changes in the focus widget. <p> This functionality is provided for future expansion; it is not used in this version of Qt/Embedded. <h3 class=fn>void <a name="setMicroFocus"></a>QWSInputMethod::setMicroFocus ( int x, int y )<tt> [virtual]</tt> </h3> <p> Implemented in subclasses to handle microFocusHint changes in the focus widget. <em>x</em> and <em>y</em> are the global coordinates of the text cursor. <p> <!-- eof --> <hr><p> This file is part of the <a href="index.html">Qt toolkit</a>. Copyright © 1995-2007 <a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center> <table width=100% cellspacing=0 border=0><tr> <td>Copyright © 2007 <a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a> <td align=right><div align=right>Qt 3.3.8</div> </table></div></address></body> </html>