Qt API | Qtopia API | Qtopia Documentation |

# QWSInputMethod Class Reference

International input methods for Qt/Embedded. More...

`#include <qwindowsystem_qws.h>`

Inherits QObject.

List of all member functions.

## Public Members

- QWSInputMethod ()
- virtual ~QWSInputMethod ()
- virtual bool filter ( int unicode, int keycode, int modifiers, bool isPress, bool autoRepeat ) = 0
- virtual void reset ()
- virtual void setMicroFocus ( int x, int y )
- virtual void mouseHandler ( int x, int state )
- QFont font () const
- QRect inputRect () const

## Protected Members

- void sendIMEvent ( QWSServer::IMState state, const QString & txt, int cpos, int selLen = 0 )

## Detailed Description

International input methods for Qt/Embedded

Subclass this to implement your own input method

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 filter() function.

Use sendIMEvent() to send composition events. Composition starts with the input method sending the first `IMCompose` event. This can be followed by a number of `IMCompose` events and ending with an `IMEnd` event.

The function setMicroFocus() is called when the focus widget changes its cursor position.

The functions font() and inputRect() provide more information about the state of the focus widget.

Use QWSServer::setCurrentInputMethod() to install an input method.

## Member Function Documentation

### QWSInputMethod::QWSInputMethod ()

Constructs a new input method

### QWSInputMethod::~QWSInputMethod ()`[virtual]`

Destructs the input method uninstalling it if it is currently installed.

### bool QWSInputMethod::filter ( int unicode, int keycode, int modifiers, bool isPress, bool autoRepeat )`[pure virtual]`

Must be implemented in subclasses to handle key input from physical or virtual keyboards. Returning TRUE will block the event from further processing.

All normal key events should be blocked while in compose mode (between `IMCompose` and `IMEnd`).

### QFont QWSInputMethod::font () const

Returns the font of the current input widget

### QRect QWSInputMethod::inputRect () const

Returns the input rectangle of the current input widget. The input rectangle covers the width of the input widget, and may extend below it. This can be used to determine the geometry of an input widget for over-the-spot input methods.

### void QWSInputMethod::mouseHandler ( int x, int state )`[virtual]`

Implemented in subclasses to handle mouse presses/releases within the on-the-spot text. The parameter x is the offset within the string that was sent with the IMCompose event. state is either `QWSServer::MousePress` or `QWSServer::MouseRelease`

### void QWSInputMethod::reset ()`[virtual]`

Implemented in subclasses to reset the state of the input method.

### void QWSInputMethod::sendIMEvent ( QWSServer::IMState state, const QString & txt, int cpos, int selLen = 0 )`[protected]`

Causes a QIMEvent to be sent to the focus widget. state may be either `QWSServer::IMCompose` or `QWSServer::IMEnd`.

txt is the text being composed (or the finished text if state is `IMEnd`). cpos is the current cursor position.

If state is `IMCompose`, selLen is the number of characters in the composition string ( starting at cpos ) that should be marked as selected by the input widget receiving the event.

### void QWSInputMethod::setMicroFocus ( int x, int y )`[virtual]`

Implemented in subclasses to handle microFocusHint changes in the focus widget. x and y are the global coordinates of the cursor position.

This file is part of the Qtopia , copyright © 1995-2002 Trolltech, all rights reserved.