From 5042e3cf0d3514552769e441f5aad590c8eaf967 Mon Sep 17 00:00:00 2001 From: kergoth Date: Fri, 01 Nov 2002 00:10:42 +0000 Subject: Adding qmake in preperation for new build system --- (limited to 'qmake/include/private/qinputcontext_p.h') diff --git a/qmake/include/private/qinputcontext_p.h b/qmake/include/private/qinputcontext_p.h new file mode 100644 index 0000000..9ac0d2b --- a/dev/null +++ b/qmake/include/private/qinputcontext_p.h @@ -0,0 +1,121 @@ +/**************************************************************************** +** $Id$ +** +** Definition of ??? +** +** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. +** +** This file is part of the kernel module of the Qt GUI Toolkit. +** +** This file may be distributed under the terms of the Q Public License +** as defined by Trolltech AS of Norway and appearing in the file +** LICENSE.QPL included in the packaging of this file. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition +** licenses may use this file in accordance with the Qt Commercial License +** Agreement provided with the Software. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for +** information about Qt Commercial License Agreements. +** See http://www.trolltech.com/qpl/ for QPL licensing information. +** See http://www.trolltech.com/gpl/ for GPL licensing information. +** +** Contact info@trolltech.com if any conditions of this licensing are +** not clear to you. +** +**********************************************************************/ + +#ifndef QINPUTCONTEXT_P_H +#define QINPUTCONTEXT_P_H + + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists for the convenience +// of internal files. This header file may change from version to version +// without notice, or even be removed. +// +// We mean it. +// +// + +#include + +class QKeyEvent; +class QWidget; +class QFont; +class QString; + + +#ifdef Q_WS_X11 +#include "qarray.h" +#include "qwindowdefs.h" +#include "qt_x11.h" +#endif + +#ifdef Q_WS_WIN +#include +#endif + +#ifdef Q_WS_QWS +class QWSIMEvent; +#endif + +class QInputContext +{ +public: +#ifdef Q_WS_X11 + QInputContext(QWidget *); // should be a toplevel widget + ~QInputContext(); + + void setFocus(); + void setComposePosition(int, int); + void setComposeArea(int, int, int, int); + void reset(); + + int lookupString(XKeyEvent *, QCString &, KeySym *, Status *) const; + void setXFontSet(const QFont &); + + void *ic; + QString text, lastcompose; + QWidget *focusWidget; + bool composing; + QFont font; + XFontSet fontset; + QMemArray selectedChars; +#endif // Q_WS_X11 + +#ifdef Q_WS_QWS + static void translateIMEvent( QWSIMEvent *, QWidget * ); + static void reset(); +private: + static QWidget* focusWidget; + static QString* composition; +#endif //Q_WS_QWS + +#ifdef Q_WS_WIN + static void init(); + static void shutdown(); + + static void TranslateMessage( const MSG *msg); + static LRESULT DefWindowProc( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ); + + static void setFont( const QWidget *w, const QFont & ); + static void setFocusHint( int x, int y, int w, int h, const QWidget *widget ); + static bool startComposition(); + static bool endComposition( QWidget *fw = 0 ); + static bool composition( LPARAM lparam ); +#endif +}; + +#endif // QINPUTCONTEXT_P_H -- cgit v0.9.0.2