1
/****************************************************************************
3
** Copyright (C) 1992-2005 Trolltech AS. All rights reserved.
5
** This file is part of the input methods of the Qt Toolkit.
7
** This file may be distributed under the terms of the Q Public License
8
** as defined by Trolltech AS of Norway and appearing in the file
9
** LICENSE.QPL included in the packaging of this file.
11
** This file may be distributed and/or modified under the terms of the
12
** GNU General Public License version 2 as published by the Free Software
13
** Foundation and appearing in the file LICENSE.GPL included in the
14
** packaging of this file.
16
** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
17
** information about Qt Commercial License Agreements.
18
** See http://www.trolltech.com/qpl/ for QPL licensing information.
19
** See http://www.trolltech.com/gpl/ for GPL licensing information.
21
** Contact info@trolltech.com if any conditions of this licensing are
24
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
25
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27
****************************************************************************/
29
/****************************************************************************
31
** Definition of QInputContext class
33
** Copyright (C) 2003-2004 immodule for Qt Project. All rights reserved.
35
** This file is written to contribute to Trolltech AS under their own
36
** licence. You may use this file under your Qt license. Following
37
** description is copied from their original file headers. Contact
38
** immodule-qt@freedesktop.org if any conditions of this licensing are
41
****************************************************************************/
43
#ifndef QINPUTCONTEXT_H
44
#define QINPUTCONTEXT_H
48
#include "QtCore/qobject.h"
49
#include "QtCore/qglobal.h"
50
#include "QtGui/qevent.h"
51
#include "QtCore/qstring.h"
52
#include "QtCore/qlist.h"
53
#include "QtGui/qaction.h"
58
class QInputContextPrivate;
61
class Q_GUI_EXPORT QInputContext : public QObject
64
Q_DECLARE_PRIVATE(QInputContext)
66
explicit QInputContext(QObject* parent = 0);
67
virtual ~QInputContext();
69
virtual QString identifierName() = 0;
70
virtual QString language() = 0;
72
virtual void reset() = 0;
73
virtual void update();
75
virtual void mouseHandler( int x, QMouseEvent *event);
76
virtual QFont font() const;
77
virtual bool isComposing() const = 0;
79
QWidget *focusWidget() const;
80
virtual void setFocusWidget( QWidget *w );
82
virtual void widgetDestroyed(QWidget *w);
84
virtual QList<QAction *> actions();
87
virtual bool x11FilterEvent( QWidget *keywidget, XEvent *event );
89
virtual bool filterEvent( const QEvent *event );
91
void sendEvent(const QInputMethodEvent &event);
97
QTextFormat standardFormat(StandardFormat s) const;
100
friend class QInputContextFactory;
101
friend class QApplication;
103
private: // Disabled copy constructor and operator=
104
QInputContext( const QInputContext & );
105
QInputContext &operator=( const QInputContext & );
111
#endif // QINPUTCONTEXT_H