|  | Home · All Classes · Main Classes · Annotated · Grouped Classes · Functions |

# QWSInputMethod Class Reference

The QWSInputMethod class provides international input methods for Qt/Embedded. More...

    #include <QWSInputMethod>

Part of the QtGui module.

Inherits QObject.

- List of all members, including inherited members

### Public Functions

- QWSInputMethod ()
- virtual ~QWSInputMethod ()
- virtual bool filter ( int unicode, int keycode, int modifiers, bool isPress, bool autoRepeat ) = 0
- virtual void mouseHandler ( int x, int state )
- virtual void reset ()
- virtual void responseHandler ( int property, const QVariant & result )
- virtual void updateHandler ( int type )

- 28 public functions inherited from QObject

### Protected Functions

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

- 7 protected functions inherited from QObject

### Additional Inherited Members

- 1 property inherited from QObject
- 1 public slot inherited from QObject
- 1 signal inherited from QObject
- 4 static public members inherited from QObject

## Detailed Description

The QWSInputMethod class provides international input methods for Qt/Embedded.

Subclass this class 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.

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

This class is still subject to change.

## 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]`

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.

The Unicode value is given in unicode and the key code in keycode. Keyboard modifiers are OR-ed together in modifiers. If isPress is true this is a key press; otherwise it is a key release. If autoRepeat is true this is an auto-repeated key press.

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

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

if state < 0 then the mouse event is inside the widget, but outside the preedit text

QWSServer::MouseOutside is sent when clicking in a different widget.

The default implementation resets the input method on all mouse presses.

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

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

The default implementation calls sendIMEvent() with empty preedit and commit strings, if the input method is in compose mode.

### void QWSInputMethod::responseHandler ( int property, const QVariant & result ) `[virtual]`

This event handler is implemented in subclasses to receive replies to an input method query.

The specified property and result contain the property queried and the result returned in the reply.

See also sendIMQuery().

### 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.

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

If state is InputMethodPreedit, 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::sendIMQuery ( int property ) `[protected]`

Sends an input method query for the specified property.

You must reimplement the responseHandler() event handler in your subclasses if you want to receive responses to input method queries.

See also responseHandler().

### void QWSInputMethod::updateHandler ( int type ) `[virtual]`

Handles update events, including resets and focus changes.

Reimplementations must call the base implementation for all cases that it does not handle itself.

type is a value defined in QWSIMUpdateCommand::UpdateType.