summaryrefslogtreecommitdiffstats
path: root/doc/html/qwsinputmethod.html
blob: e8668c9c45f81413b77a65d7fd9e1a35f8d5dade (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<!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&nbsp;Classes</font></a>
 | <a href="mainclasses.html">
<font color="#004faf">Main&nbsp;Classes</font></a>
 | <a href="annotated.html">
<font color="#004faf">Annotated</font></a>
 | <a href="groups.html">
<font color="#004faf">Grouped&nbsp;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 &lt;<a href="qwindowsystem_qws-h.html">qwindowsystem_qws.h</a>&gt;</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&nbsp;unicode, int&nbsp;keycode, int&nbsp;modifiers, bool&nbsp;isPress, bool&nbsp;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&nbsp;x, int&nbsp;y )</li>
<li class=fn>virtual void <a href="#setFont"><b>setFont</b></a> ( const QFont &amp; )</li>
</ul>
<h2>Protected Members</h2>
<ul>
<li class=fn>void <a href="#sendIMEvent"><b>sendIMEvent</b></a> ( QWSServer::IMState&nbsp;state, const&nbsp;QString&nbsp;&amp;&nbsp;txt, int&nbsp;cpos, int&nbsp;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&nbsp;unicode, int&nbsp;keycode, int&nbsp;modifiers, bool&nbsp;isPress, bool&nbsp;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&nbsp;state, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;txt, int&nbsp;cpos, int&nbsp;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&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp; )<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&nbsp;x, int&nbsp;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 &copy; 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 &copy; 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>