Home · API Reference · Modules

MAbstractInputMethod Class Reference
[Plugin API]

A base class for input methods. More...

List of all members.

Signals

void activeSubViewChanged (const QString &subViewId, MInputMethod::HandlerState state=MInputMethod::OnScreen)

Public Member Functions

 MAbstractInputMethod (MAbstractInputMethodHost *host, QWidget *mainWindow)
virtual ~MAbstractInputMethod ()
MAbstractInputMethodHostinputMethodHost () const
virtual void show ()
virtual void hide ()
virtual void setPreedit (const QString &preeditString, int cursorPos)
virtual void update ()
virtual void reset ()
virtual void handleMouseClickOnPreedit (const QPoint &pos, const QRect &preeditRect)
virtual void handleFocusChange (bool focusIn)
virtual void handleVisualizationPriorityChange (bool priority)
virtual void handleAppOrientationAboutToChange (int angle)
virtual void handleAppOrientationChanged (int angle)
virtual void setToolbar (QSharedPointer< const MToolbarData > toolbar)
virtual void processKeyEvent (QEvent::Type keyType, Qt::Key keyCode, Qt::KeyboardModifiers modifiers, const QString &text, bool autoRepeat, int count, quint32 nativeScanCode, quint32 nativeModifiers, unsigned long time)
virtual void setState (const QSet< MInputMethod::HandlerState > &state)
virtual void handleClientChange ()
virtual void switchContext (MInputMethod::SwitchDirection direction, bool enableAnimation)
virtual QList
< MInputMethodSubView > 
subViews (MInputMethod::HandlerState state=MInputMethod::OnScreen) const
virtual void showLanguageNotification ()
virtual void setKeyOverrides (const QMap< QString, QSharedPointer< MKeyOverride > > &overrides)
virtual bool imExtensionEvent (MImExtensionEvent *event)

Classes

struct  MInputMethodSubView


Detailed Description

A base class for input methods.

Defines the interface which input method framework uses for passing commands received from the applications to plugins. Communication in the other direction, from the input method plugin to the framework, is done using the MAbstractInputMethodHost object returned from inputMethodHost().


Constructor & Destructor Documentation

MAbstractInputMethod::MAbstractInputMethod ( MAbstractInputMethodHost host,
QWidget *  mainWindow 
)

Constructor

Note: Currently the entire widget hierarchy must be built and added to mainWindow here.

Parameters:
host serves as communication link to framework and application. Managed by framework.
mainWindow should be used to install plugin's UI into it. Managed by framework.

MAbstractInputMethod::~MAbstractInputMethod (  )  [virtual]


Member Function Documentation

MAbstractInputMethodHost * MAbstractInputMethod::inputMethodHost (  )  const

Returns input method host.

void MAbstractInputMethod::show (  )  [virtual]

Show request.

The input method should normally show its UI on this call, unless handleVisualizationPriorityChange(bool) was called with a true value.

See also:
handleVisualizationPriorityChange(bool)

void MAbstractInputMethod::hide (  )  [virtual]

Hide request.

The input method must hide itself when this is called.

void MAbstractInputMethod::setPreedit ( const QString &  preeditString,
int  cursorPos 
) [virtual]

Notifies input method about predit string changes.

This method informs the input method about preedit and the cursor position. The input method can fully control the preedit and the cursor inside it: whether and where to show cursor inside preedit, and how the preedit string should be styled.

See also:
MAbstractInputMethodHost::sendPreeditString()
Parameters:
preeditString preedit string
cursorPos the cursor position inside preedit.

void MAbstractInputMethod::update (  )  [virtual]

State update notification.

General update notification. Called in addition to the specific methods.

void MAbstractInputMethod::reset (  )  [virtual]

Reset notification.

void MAbstractInputMethod::handleMouseClickOnPreedit ( const QPoint &  pos,
const QRect &  preeditRect 
) [virtual]

Notifies input method about mouse click on the preedit string.

Reimplementing this method is optional. It is used by Meego Keyboard.

void MAbstractInputMethod::handleFocusChange ( bool  focusIn  )  [virtual]

Notifies input method about focus changes on application side.

Reimplementhing this method is optional.

Parameters:
focusIn true - focus has entered a widget, false - focus has left a widget

void MAbstractInputMethod::handleVisualizationPriorityChange ( bool  priority  )  [virtual]

Notifies that the focus widget in application changed visualization priority.

This method is used by the framework to allow the input method to be dismissed while a widget is focused. Further calls to show() when priority is true should not show the input method. When priority is set to false again, and the input method is not in hidden state, the input method should be shown.

Parameters:
priority If true, the application has priority, and the input method should not be shown.

void MAbstractInputMethod::handleAppOrientationAboutToChange ( int  angle  )  [virtual]

Target application is about to change orientation.

The input method usually changes its own orientation according to this. Note that this method might not be called when the input method shown for the first time.

See also:
handleAppOrientationChanged(int angle)
Parameters:
angle The angle in degrees. Possible values: 0, 90, 180, 270. 0 is the normal orientation of the display server.

void MAbstractInputMethod::handleAppOrientationChanged ( int  angle  )  [virtual]

Target application already finish changing orientation.

Parameters:
angle The angle in degrees. Possible values: 0, 90, 180, 270. 0 is the normal orientation of the display server.

void MAbstractInputMethod::setToolbar ( QSharedPointer< const MToolbarData toolbar  )  [virtual]

Uses a custom toolbar which is defined by given parameter.

Reimplementing this method is optional. It is used by Meego Keyboard.

Parameters:
toolbar Pointer to toolbar definition.

void MAbstractInputMethod::processKeyEvent ( QEvent::Type  keyType,
Qt::Key  keyCode,
Qt::KeyboardModifiers  modifiers,
const QString &  text,
bool  autoRepeat,
int  count,
quint32  nativeScanCode,
quint32  nativeModifiers,
unsigned long  time 
) [virtual]

Process a key event redirected from hardware keyboard to input method.

This is called only if one has enabled redirection by calling MInputContextConnection::setRedirectKeys.

Reimplementing this method is optional. It can be used to implement input methods that handle hardware keyboard.

void MAbstractInputMethod::setState ( const QSet< MInputMethod::HandlerState > &  state  )  [virtual]

This method is called to inform about keyboard status changes.

For example: Hardware keyboard is opened or closed, BT keyboard is connected or disconnected.

Parameters:
state set of current states for this plugin

void MAbstractInputMethod::handleClientChange (  )  [virtual]

This method is called when target client (application) has changed.

void MAbstractInputMethod::switchContext ( MInputMethod::SwitchDirection  direction,
bool  enableAnimation 
) [virtual]

Switch context to given direction.

If the input method arranges the subviews horizontally (like Meego Keyboard does) it should first try to change its subviews in the direction indicated. If there are no more subviews in the given direction, MInputMethodHost::switchPlugin(MInputMethod::SwitchDirection ) should be called.

Parameters:
direction Switching direction
enableAnimation Contains true if swipe should be animated

QList< MAbstractInputMethod::MInputMethodSubView > MAbstractInputMethod::subViews ( MInputMethod::HandlerState  state = MInputMethod::OnScreen  )  const [virtual]

Returns all subviews (IDs and titles) which are supported for state.

Implement this function to return the subviews which are supported by this input method for the specified state. An input method must return at least one subview for a supported state.

void MAbstractInputMethod::showLanguageNotification (  )  [virtual]

Show notification to user informing about current language/subview.

Reimplementing this method is optional.

void MAbstractInputMethod::setKeyOverrides ( const QMap< QString, QSharedPointer< MKeyOverride > > &  overrides  )  [virtual]

Uses custom key overrides which are defined by given parameter.

Reimplementing this method is optional. It is used in Meego Keyboard to provide context aware keys that can be customized from the application side.

Parameters:
overrides Pointer to key override definitions. An empty map means that no key override exists, and that the normal values should be used.

bool MAbstractInputMethod::imExtensionEvent ( MImExtensionEvent event  )  [virtual]

handles extension event not covered by a dedicated method.

Must return true if event is handled, otherwise false. Extensions can be registered on the application side, and will be passed through to the input method, allowing to add integration points between application and input method. Reimplementing this method is optional.

Parameters:
event event to handle

void MAbstractInputMethod::activeSubViewChanged ( const QString &  subViewId,
MInputMethod::HandlerState  state = MInputMethod::OnScreen 
) [signal]

Inform that active subview is changed to subViewId for state.

Must be emitted when plugin changes the active subview for specified state.

Parameters:
subViewId the identifier of the new subview.
state the state which subViewId belongs to.


Copyright © 2011 Nokia Corporation
Maliit