summaryrefslogtreecommitdiff
path: root/qmake/include/private
Side-by-side diff
Diffstat (limited to 'qmake/include/private') (more/less context) (ignore whitespace changes)
-rw-r--r--qmake/include/private/qapplication_p.h5
-rw-r--r--qmake/include/private/qcom_p.h6
-rw-r--r--qmake/include/private/qcomlibrary_p.h6
-rw-r--r--qmake/include/private/qcomplextext_p.h8
-rw-r--r--qmake/include/private/qcomponentfactory_p.h6
-rw-r--r--qmake/include/private/qcriticalsection_p.h4
-rw-r--r--qmake/include/private/qdir_p.h9
-rw-r--r--qmake/include/private/qeffects_p.h2
-rw-r--r--qmake/include/private/qeventloop_p.h70
-rw-r--r--qmake/include/private/qfontcodecs_p.h4
-rw-r--r--qmake/include/private/qfontdata_p.h3
-rw-r--r--qmake/include/private/qgfxdriverinterface_p.h18
-rw-r--r--qmake/include/private/qgpluginmanager_p.h8
-rw-r--r--qmake/include/private/qimageformatinterface_p.h8
-rw-r--r--qmake/include/private/qinputcontext_p.h5
-rw-r--r--qmake/include/private/qkbddriverinterface_p.h18
-rw-r--r--qmake/include/private/qlibrary_p.h5
-rw-r--r--qmake/include/private/qlock_p.h93
-rw-r--r--qmake/include/private/qmousedriverinterface_p.h18
-rw-r--r--qmake/include/private/qmutexpool_p.h44
-rw-r--r--qmake/include/private/qpluginmanager_p.h16
-rw-r--r--qmake/include/private/qpsprinter_p.h4
-rw-r--r--qmake/include/private/qrichtext_p.h59
-rw-r--r--qmake/include/private/qsettings_p.h2
-rw-r--r--qmake/include/private/qsharedmemory_p.h11
-rw-r--r--qmake/include/private/qsqldriverinterface_p.h17
-rw-r--r--qmake/include/private/qsqlextension_p.h41
-rw-r--r--qmake/include/private/qstyleinterface_p.h18
-rw-r--r--qmake/include/private/qsvgdevice_p.h8
-rw-r--r--qmake/include/private/qtextcodecinterface_p.h2
-rw-r--r--qmake/include/private/qtitlebar_p.h2
-rw-r--r--qmake/include/private/qucom_p.h76
-rw-r--r--qmake/include/private/qucomextra_p.h18
-rw-r--r--qmake/include/private/qwidgetinterface_p.h65
-rw-r--r--qmake/include/private/qwidgetresizehandler_p.h18
35 files changed, 510 insertions, 187 deletions
diff --git a/qmake/include/private/qapplication_p.h b/qmake/include/private/qapplication_p.h
index 6fab6b3..280992e 100644
--- a/qmake/include/private/qapplication_p.h
+++ b/qmake/include/private/qapplication_p.h
@@ -1,87 +1,88 @@
/****************************************************************************
** $Id$
**
** Definition of some Qt private functions.
**
** Created : 000228
**
** Copyright (C) 2000-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 QAPPLICATION_P_H
#define QAPPLICATION_P_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of qapplication_*.cpp, qwidget*.cpp, qcolor_x11.cpp, qfiledialog.cpp
// and many other. This header file may change from version to version
// without notice, or even be removed.
//
// We mean it.
//
//
#ifndef QT_H
#endif // QT_H
class QWidget;
class QObject;
class QClipboard;
class QKeyEvent;
class QMouseEvent;
class QWheelEvent;
extern Q_EXPORT bool qt_modal_state();
extern Q_EXPORT void qt_enter_modal( QWidget* );
extern Q_EXPORT void qt_leave_modal( QWidget* );
extern bool qt_is_gui_used;
#ifndef QT_NO_CLIPBOARD
extern QClipboard *qt_clipboard;
#endif
#if defined (Q_OS_WIN32) || defined (Q_OS_CYGWIN)
extern Qt::WindowsVersion qt_winver;
+#elif defined (Q_OS_MAC)
+extern Qt::MacintoshVersion qt_macver;
#endif
#if defined (Q_WS_X11)
extern int qt_ncols_option;
#endif
extern void qt_dispatchEnterLeave( QWidget*, QWidget* );
-
-
+extern bool qt_tryModalHelper( QWidget *, QWidget ** = 0 );
#endif
diff --git a/qmake/include/private/qcom_p.h b/qmake/include/private/qcom_p.h
index 6e7e1c8..5bed8c8c 100644
--- a/qmake/include/private/qcom_p.h
+++ b/qmake/include/private/qcom_p.h
@@ -1,337 +1,337 @@
/****************************************************************************
** $Id$
**
** ...
**
** Copyright (C) 2001-2002 Trolltech AS. All rights reserved.
**
** This file is part of the tools 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 QCOM_H
-#define QCOM_H
+#ifndef QCOM_P_H
+#define QCOM_P_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of a number of Qt sources files. This header file may change from
// version to version without notice, or even be removed.
//
// We mean it.
//
//
#ifndef QT_H
#include "qstringlist.h"
#include "quuid.h"
#endif // QT_H
#ifndef QT_NO_COMPONENT
class QObject;
struct QUInterfaceDescription;
struct QUObject;
#define QRESULT unsigned long
#define QS_OK (QRESULT)0x00000000
#define QS_FALSE (QRESULT)0x00000001
#define QE_NOTIMPL (QRESULT)0x80000001
#define QE_OUTOFMEMORY (QRESULT)0x80000002
#define QE_INVALIDARG (QRESULT)0x80000003
#define QE_NOINTERFACE (QRESULT)0x80000004
#define QE_NOCOMPONENT (QRESULT)0x80000005
// {1D8518CD-E8F5-4366-99E8-879FD7E482DE}
#ifndef IID_QUnknown
#define IID_QUnknown QUuid(0x1d8518cd, 0xe8f5, 0x4366, 0x99, 0xe8, 0x87, 0x9f, 0xd7, 0xe4, 0x82, 0xde)
#endif
struct Q_EXPORT QUnknownInterface
{
virtual QRESULT queryInterface( const QUuid&, QUnknownInterface** ) = 0;
virtual ulong addRef() = 0;
virtual ulong release() = 0;
};
// {FBAC965E-A441-413F-935E-CDF582573FAB}
#ifndef IID_QDispatch
#define IID_QDispatch QUuid( 0xfbac965e, 0xa441, 0x413f, 0x93, 0x5e, 0xcd, 0xf5, 0x82, 0x57, 0x3f, 0xab)
#endif
// the dispatch interface that inherits the unknown interface.. It is
// used to explore interfaces during runtime and to do dynamic calls.
struct Q_EXPORT QDispatchInterface : public QUnknownInterface
{
// returns the interface description of this dispatch interface.
virtual const QUInterfaceDescription* interfaceDescription() const = 0;
// returns the event description of this dispatch interface.
virtual const QUInterfaceDescription* eventsDescription() const = 0;
// invokes method id with parameters V*. Returns some sort of
// exception code.
virtual QRESULT invoke( int id, QUObject* o ) = 0;
// installs listener as event listener
virtual void installListener( QDispatchInterface* listener ) = 0;
// remove listener as event listener
virtual void removeListener( QDispatchInterface* listener ) = 0;
};
template <class T>
class QInterfacePtr
{
public:
QInterfacePtr():iface(0){}
QInterfacePtr( T* i) {
if ( (iface = i) )
iface->addRef();
}
QInterfacePtr(const QInterfacePtr<T> &p) {
if ( (iface = p.iface) )
iface->addRef();
}
~QInterfacePtr() {
if ( iface )
iface->release();
}
QInterfacePtr<T> &operator=(const QInterfacePtr<T> &p) {
if ( iface != p.iface ) {
if ( iface )
iface->release();
if ( (iface = p.iface) )
iface->addRef();
}
return *this;
}
QInterfacePtr<T> &operator=(T* i) {
if (iface != i ) {
if ( iface )
iface->release();
if ( (iface = i) )
iface->addRef();
}
return *this;
}
bool operator==( const QInterfacePtr<T> &p ) const { return iface == p.iface; }
bool operator!= ( const QInterfacePtr<T>& p ) const { return !( *this == p ); }
bool isNull() const { return !iface; }
T* operator->() const { return iface; }
T& operator*() const { return *iface; }
operator T*() const { return iface; }
QUnknownInterface** operator &() const {
if( iface )
iface->release();
return (QUnknownInterface**)&iface;
}
T** operator &() {
if ( iface )
iface->release();
return &iface;
}
private:
T* iface;
};
// {10A1501B-4C5F-4914-95DD-C400486CF900}
#ifndef IID_QObject
#define IID_QObject QUuid( 0x10a1501b, 0x4c5f, 0x4914, 0x95, 0xdd, 0xc4, 0x00, 0x48, 0x6c, 0xf9, 0x00)
#endif
struct Q_EXPORT QObjectInterface
{
virtual QObject* qObject() = 0;
};
// {5F3968A5-F451-45b1-96FB-061AD98F926E}
#ifndef IID_QComponentInformation
#define IID_QComponentInformation QUuid(0x5f3968a5, 0xf451, 0x45b1, 0x96, 0xfb, 0x6, 0x1a, 0xd9, 0x8f, 0x92, 0x6e)
#endif
struct Q_EXPORT QComponentInformationInterface : public QUnknownInterface
{
virtual QString name() const = 0;
virtual QString description() const = 0;
virtual QString author() const = 0;
virtual QString version() const = 0;
};
// {6CAA771B-17BB-4988-9E78-BA5CDDAAC31E}
#ifndef IID_QComponentFactory
#define IID_QComponentFactory QUuid( 0x6caa771b, 0x17bb, 0x4988, 0x9e, 0x78, 0xba, 0x5c, 0xdd, 0xaa, 0xc3, 0x1e)
#endif
struct Q_EXPORT QComponentFactoryInterface : public QUnknownInterface
{
virtual QRESULT createInstance( const QUuid &cid, const QUuid &iid, QUnknownInterface** instance, QUnknownInterface *outer ) = 0;
};
// {D16111D4-E1E7-4C47-8599-24483DAE2E07}
#ifndef IID_QLibrary
#define IID_QLibrary QUuid( 0xd16111d4, 0xe1e7, 0x4c47, 0x85, 0x99, 0x24, 0x48, 0x3d, 0xae, 0x2e, 0x07)
#endif
struct Q_EXPORT QLibraryInterface : public QUnknownInterface
{
virtual bool init() = 0;
virtual void cleanup() = 0;
virtual bool canUnload() const = 0;
};
// {3F8FDC44-3015-4f3e-B6D6-E4AAAABDEAAD}
#ifndef IID_QFeatureList
#define IID_QFeatureList QUuid(0x3f8fdc44, 0x3015, 0x4f3e, 0xb6, 0xd6, 0xe4, 0xaa, 0xaa, 0xbd, 0xea, 0xad)
#endif
struct Q_EXPORT QFeatureListInterface : public QUnknownInterface
{
virtual QStringList featureList() const = 0;
};
// {B5FEB5DE-E0CD-4E37-B0EB-8A812499A0C1}
#ifndef IID_QComponentRegistration
#define IID_QComponentRegistration QUuid( 0xb5feb5de, 0xe0cd, 0x4e37, 0xb0, 0xeb, 0x8a, 0x81, 0x24, 0x99, 0xa0, 0xc1)
#endif
struct Q_EXPORT QComponentRegistrationInterface : public QUnknownInterface
{
virtual bool registerComponents( const QString &filepath ) const = 0;
virtual bool unregisterComponents() const = 0;
};
// internal class that wraps an initialized ulong
struct Q_EXPORT QtULong
{
QtULong() : ref( 0 ) { }
operator unsigned long () const { return ref; }
unsigned long& operator++() { return ++ref; }
unsigned long operator++( int ) { return ref++; }
unsigned long& operator--() { return --ref; }
unsigned long operator--( int ) { return ref--; }
unsigned long ref;
};
// default implementation of ref counting. A variable "ulong ref" has to be a member
#define Q_REFCOUNT \
private: \
QtULong qtrefcount; \
public: \
ulong addRef() {return qtrefcount++;} \
ulong release() {if(!--qtrefcount){delete this;return 0;}return qtrefcount;}
#ifndef Q_EXPORT_COMPONENT
#if defined(QT_THREAD_SUPPORT)
#define QT_THREADED_BUILD 1
#define Q_UCM_FLAGS_STRING "11"
#else
#define QT_THREADED_BUILD 0
#define Q_UCM_FLAGS_STRING "01"
#endif
#ifndef Q_EXTERN_C
#ifdef __cplusplus
#define Q_EXTERN_C extern "C"
#else
#define Q_EXTERN_C extern
#endif
#endif
// this is duplicated at Q_PLUGIN_VERIFICATION_DATA in qgplugin.h
// NOTE: if you change pattern, you MUST change the pattern in
// qcomlibrary.cpp as well. changing the pattern will break all
// backwards compatibility as well (no old plugins will be loaded).
#ifndef Q_UCM_VERIFICATION_DATA
# define Q_UCM_VERIFICATION_DATA \
static const char *qt_ucm_verification_data = \
"pattern=""QT_UCM_VERIFICATION_DATA""\n" \
"version="QT_VERSION_STR"\n" \
"flags="Q_UCM_FLAGS_STRING"\n" \
"buildkey="QT_BUILD_KEY"\0";
#endif // Q_UCM_VERIFICATION_DATA
// This macro expands to the default implementation of ucm_instantiate.
#ifndef Q_CREATE_INSTANCE
# define Q_CREATE_INSTANCE( IMPLEMENTATION ) \
IMPLEMENTATION *i = new IMPLEMENTATION; \
QUnknownInterface* iface = 0; \
i->queryInterface( IID_QUnknown, &iface ); \
return iface;
#endif // Q_CREATE_INSTANCE
# ifdef Q_WS_WIN
# ifdef Q_CC_BOR
# define Q_EXPORT_COMPONENT() \
Q_UCM_VERIFICATION_DATA \
Q_EXTERN_C __declspec(dllexport) \
const char * __stdcall qt_ucm_query_verification_data() \
{ return qt_ucm_verification_data; } \
Q_EXTERN_C __declspec(dllexport) QUnknownInterface* \
__stdcall ucm_instantiate()
# else
# define Q_EXPORT_COMPONENT() \
Q_UCM_VERIFICATION_DATA \
Q_EXTERN_C __declspec(dllexport) \
const char *qt_ucm_query_verification_data() \
{ return qt_ucm_verification_data; } \
Q_EXTERN_C __declspec(dllexport) QUnknownInterface* ucm_instantiate()
# endif
# else
# define Q_EXPORT_COMPONENT() \
Q_UCM_VERIFICATION_DATA \
Q_EXTERN_C \
const char *qt_ucm_query_verification_data() \
{ return qt_ucm_verification_data; } \
Q_EXTERN_C QUnknownInterface* ucm_instantiate()
# endif
# define Q_EXPORT_INTERFACE() Q_EXPORT_COMPONENT()
#endif
#endif //QT_NO_COMPONENT
-#endif //QCOM_H
+#endif //QCOM_P_H
diff --git a/qmake/include/private/qcomlibrary_p.h b/qmake/include/private/qcomlibrary_p.h
index f52f679..3f440c0 100644
--- a/qmake/include/private/qcomlibrary_p.h
+++ b/qmake/include/private/qcomlibrary_p.h
@@ -1,79 +1,79 @@
/****************************************************************************
** $Id$
**
** Definition of QComLibrary class
**
** Copyright (C) 2001-2002 Trolltech AS. All rights reserved.
**
** This file is part of the tools 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 QUCOMLIBRARY_H
-#define QUCOMLIBRARY_H
+#ifndef QCOMLIBRARY_P_H
+#define QCOMLIBRARY_P_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of a number of Qt sources files. This header file may change from
// version to version without notice, or even be removed.
//
// We mean it.
//
//
#ifndef QT_H
#include "qcom_p.h"
#include "qlibrary.h"
#endif // QT_H
#ifndef QT_NO_COMPONENT
class Q_EXPORT QComLibrary : public QLibrary
{
public:
QComLibrary( const QString &filename );
~QComLibrary();
bool unload();
QRESULT queryInterface( const QUuid &iid, QUnknownInterface **iface );
uint qtVersion();
private:
void createInstanceInternal();
QUnknownInterface *entry;
QLibraryInterface *libiface;
uint qt_version;
};
#endif //QT_NO_COMPONENT
-#endif // QUCOMLIBRARY_H
+#endif
diff --git a/qmake/include/private/qcomplextext_p.h b/qmake/include/private/qcomplextext_p.h
index 2132522..c3aeeb1 100644
--- a/qmake/include/private/qcomplextext_p.h
+++ b/qmake/include/private/qcomplextext_p.h
@@ -1,123 +1,121 @@
/****************************************************************************
** $Id$
**
** Internal header file.
**
-** Created :
-**
-** Copyright (C) 2001 Trolltech AS. All rights reserved.
+** Copyright (C) 2001-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 QCOMPLEXTEXT_H
-#define QCOMPLEXTEXT_H
+#ifndef QCOMPLEXTEXT_P_H
+#define QCOMPLEXTEXT_P_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of Qt Remote Control. This header file may change from version to
// version without notice, or even be removed.
//
// We mean it.
//
//
#ifndef QT_H
#include <qstring.h>
#include <qpointarray.h>
#include <qfont.h>
#include <qpainter.h>
#include <qptrlist.h>
#include <qshared.h>
#endif // QT_H
#ifndef QT_NO_COMPLEXTEXT
// bidi helper classes. Internal to Qt
struct Q_EXPORT QBidiStatus {
QBidiStatus() {
eor = QChar::DirON;
lastStrong = QChar::DirON;
last = QChar:: DirON;
}
QChar::Direction eor;
QChar::Direction lastStrong;
QChar::Direction last;
};
struct Q_EXPORT QBidiContext : public QShared {
// ### ref and deref parent?
QBidiContext( uchar level, QChar::Direction embedding, QBidiContext *parent = 0, bool override = FALSE );
~QBidiContext();
unsigned char level;
bool override : 1;
QChar::Direction dir : 5;
QBidiContext *parent;
};
struct Q_EXPORT QBidiControl {
QBidiControl() { context = 0; }
QBidiControl( QBidiContext *c, QBidiStatus s)
{ context = c; if( context ) context->ref(); status = s; }
~QBidiControl() { if ( context && context->deref() ) delete context; }
void setContext( QBidiContext *c ) { if ( context == c ) return; if ( context && context->deref() ) delete context; context = c; context->ref(); }
QBidiContext *context;
QBidiStatus status;
};
struct Q_EXPORT QTextRun {
QTextRun(int _start, int _stop, QBidiContext *context, QChar::Direction dir);
int start;
int stop;
// explicit + implicit levels here
uchar level;
};
class Q_EXPORT QComplexText {
public:
static QString shapedString( const QString &str, int from = 0, int len = -1, QPainter::TextDirection dir = QPainter::Auto, const QFontMetrics *fm = 0);
static QChar shapedCharacter(const QString &str, int pos, const QFontMetrics *fm = 0);
// positions non spacing marks relative to the base character at position pos.
static QPointArray positionMarks( QFontPrivate *f, const QString &str, int pos, QRect *boundingRect = 0 );
static QPtrList<QTextRun> *bidiReorderLine( QBidiControl *control, const QString &str, int start, int len,
QChar::Direction basicDir = QChar::DirON );
static QString bidiReorderString( const QString &str, QChar::Direction basicDir = QChar::DirON );
};
#endif //QT_NO_COMPLEXTEXT
#endif
diff --git a/qmake/include/private/qcomponentfactory_p.h b/qmake/include/private/qcomponentfactory_p.h
index 1ac973f..d5c1743 100644
--- a/qmake/include/private/qcomponentfactory_p.h
+++ b/qmake/include/private/qcomponentfactory_p.h
@@ -1,73 +1,73 @@
/****************************************************************************
** $Id$
**
** Definition of the QComponentFactory class
**
** Created : 990101
**
** Copyright (C) 1992-2002 Trolltech AS. All rights reserved.
**
** This file is part of the tools 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 QCOMPONENTFACTORY_H
-#define QCOMPONENTFACTORY_H
+#ifndef QCOMPONENTFACTORY_P_H
+#define QCOMPONENTFACTORY_P_H
#ifndef QT_H
#include "qcom_p.h"
#endif // QT_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of a number of Qt sources files. This header file may change from
// version to version without notice, or even be removed.
//
// We mean it.
//
//
#ifndef QT_NO_COMPONENT
class Q_EXPORT QComponentFactory
{
public:
static QRESULT createInstance( const QString &cid, const QUuid &iid, QUnknownInterface** instance, QUnknownInterface *outer = 0 );
static QRESULT registerServer( const QString &filename );
static QRESULT unregisterServer( const QString &filename );
static bool registerComponent( const QUuid &cid, const QString &filename, const QString &name = QString::null,
int version = 0, const QString &description = QString::null );
static bool unregisterComponent( const QUuid &cid );
};
#endif // QT_NO_COMPONENT
-#endif // QCOMPONENTFACTORY_H
+#endif // QCOMPONENTFACTORY_P_H
diff --git a/qmake/include/private/qcriticalsection_p.h b/qmake/include/private/qcriticalsection_p.h
index 7d9feca..8dacc62 100644
--- a/qmake/include/private/qcriticalsection_p.h
+++ b/qmake/include/private/qcriticalsection_p.h
@@ -1,80 +1,80 @@
/****************************************************************************
** $Id$
**
** Definition of QCriticalSection class
**
** Copyright (C) 2001-2002 Trolltech AS. All rights reserved.
**
** This file is part 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 QCRITICALSECTION_H
-#define QCRITICALSECTION_H
+#ifndef QCRITICALSECTION_P_H
+#define QCRITICALSECTION_P_H
#ifndef QT_H
#endif // QT_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of Qt Remote Control. This header file may change from version to
// version without notice, or even be removed.
//
// We mean it.
//
//
#if defined(QT_THREAD_SUPPORT)
#if defined(Q_WS_WIN)
/*
QCriticalSection
*/
class QCriticalSectionPrivate;
class QCriticalSection
{
public:
QCriticalSection();
~QCriticalSection();
void enter();
void leave();
private:
QCriticalSectionPrivate *d;
};
#endif
#endif
#endif
diff --git a/qmake/include/private/qdir_p.h b/qmake/include/private/qdir_p.h
index 35dba28..a6c7c91 100644
--- a/qmake/include/private/qdir_p.h
+++ b/qmake/include/private/qdir_p.h
@@ -1,78 +1,79 @@
/****************************************************************************
** $Id$
**
** Definition of some private QDir functions.
**
-** Created : 2000.11.06
+** Created : 001106
**
** Copyright (C) 2000 Trolltech AS. All rights reserved.
**
** This file is part of the tools 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 QDIR_P_H
#define QDIR_P_H
-
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of qdir.cpp and qdir_*.cpp.
// This header file may change from version to version without notice,
// or even be removed.
//
// We mean it.
//
//
#ifndef QT_H
+#include "qregexp.h"
+#include "qvaluelist.h"
#endif // QT_H
-extern QStringList qt_makeFilterList( const QString & );
-
+extern QValueList<QRegExp> qt_makeFilterList( const QString & );
+extern bool qt_matchFilterList( const QValueList<QRegExp> &, const QString & );
extern int qt_cmp_si_sortSpec;
#if defined(Q_C_CALLBACKS)
extern "C" {
#endif
#ifdef Q_OS_TEMP
extern int __cdecl qt_cmp_si( const void *, const void * );
#else
extern int qt_cmp_si( const void *, const void * );
#endif
#if defined(Q_C_CALLBACKS)
}
#endif
#endif // QDIR_P_H
diff --git a/qmake/include/private/qeffects_p.h b/qmake/include/private/qeffects_p.h
index 4178b6f..3b6c212 100644
--- a/qmake/include/private/qeffects_p.h
+++ b/qmake/include/private/qeffects_p.h
@@ -1,78 +1,78 @@
/****************************************************************************
** $Id$
**
** Definition of QEffects functions
**
-** Created : 2000.06.21
+** Created : 000621
**
** Copyright (C) 2000 Trolltech AS. All rights reserved.
**
** This file is part of the widgets 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 QEFFECTS_P_H
#define QEFFECTS_P_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of qeffects.cpp, qcombobox.cpp, qpopupmenu.cpp and qtooltip.cpp.
// This header file may change from version to version without notice,
// or even be removed.
//
// We mean it.
//
//
#ifndef QT_H
#include "qnamespace.h"
#endif // QT_H
#ifndef QT_NO_EFFECTS
class QWidget;
struct QEffects
{
enum Direction {
LeftScroll = 0x0001,
RightScroll = 0x0002,
UpScroll = 0x0004,
DownScroll = 0x0008
};
typedef uint DirFlags;
};
extern void Q_EXPORT qScrollEffect( QWidget*, QEffects::DirFlags dir = QEffects::DownScroll, int time = -1 );
extern void Q_EXPORT qFadeEffect( QWidget*, int time = -1 );
#endif // QT_NO_EFFECTS
#endif // QEFFECTS_P_H
diff --git a/qmake/include/private/qeventloop_p.h b/qmake/include/private/qeventloop_p.h
index b64d0df..3a5350e 100644
--- a/qmake/include/private/qeventloop_p.h
+++ b/qmake/include/private/qeventloop_p.h
@@ -1,74 +1,138 @@
+/****************************************************************************
+** $Id$
+**
+** Definition of QEventLoop class
+**
+** Copyright (C) 1992-2003 Trolltech AS. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** 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 for Qt/Embedded may use this file in accordance with the
+** Qt Embedded 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/gpl/ for GPL licensing information.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
#ifndef QEVENTLOOP_P_H
#define QEVENTLOOP_P_H
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. This header file may
+// change from version to version without notice, or even be
+// removed.
+//
+// We mean it.
+//
+//
+
#include "qplatformdefs.h"
+
+// SCO OpenServer redefines raise -> kill
+#if defined(raise)
+# undef raise
+#endif
+
#include "qwindowdefs.h"
class QSocketNotifier;
-#if defined(Q_OS_UNIX)
+#if defined(Q_OS_UNIX) || defined (Q_WS_WIN)
#include <qptrlist.h>
+#endif // Q_OS_UNIX || Q_WS_WIN
+#if defined(Q_OS_UNIX)
struct QSockNot
{
QSocketNotifier *obj;
int fd;
fd_set *queue;
};
class QSockNotType
{
public:
QSockNotType();
~QSockNotType();
QPtrList<QSockNot> *list;
fd_set select_fds;
fd_set enabled_fds;
fd_set pending_fds;
};
#endif // Q_OS_UNIX
+#if defined(Q_WS_WIN)
+struct QSockNot {
+ QSocketNotifier *obj;
+ int fd;
+};
+#endif // Q_WS_WIN
class QEventLoopPrivate
{
public:
QEventLoopPrivate()
{
reset();
}
void reset() {
looplevel = 0;
quitcode = 0;
quitnow = FALSE;
exitloop = FALSE;
+ shortcut = FALSE;
}
int looplevel;
int quitcode;
- bool quitnow;
- bool exitloop;
+ unsigned int quitnow : 1;
+ unsigned int exitloop : 1;
+ unsigned int shortcut : 1;
#if defined(Q_WS_MAC)
EventLoopTimerRef select_timer;
#endif
#if defined(Q_WS_X11)
int xfd;
#endif // Q_WS_X11
#if defined(Q_OS_UNIX)
int thread_pipe[2];
// pending socket notifiers list
QPtrList<QSockNot> sn_pending_list;
// highest fd for all socket notifiers
int sn_highest;
// 3 socket notifier types - read, write and exception
QSockNotType sn_vec[3];
#endif
+
+#ifdef Q_WS_WIN
+ // pending socket notifiers list
+ QPtrList<QSockNot> sn_pending_list;
+#endif // Q_WS_WIN
+
};
#endif // QEVENTLOOP_P_H
diff --git a/qmake/include/private/qfontcodecs_p.h b/qmake/include/private/qfontcodecs_p.h
index 8222f98..54b0ac1 100644
--- a/qmake/include/private/qfontcodecs_p.h
+++ b/qmake/include/private/qfontcodecs_p.h
@@ -1,368 +1,368 @@
/****************************************************************************
** $Id$
**
** Font utilities for X11
**
** Created : 20001101
**
** Copyright (C) 1992-2002 Trolltech AS. All rights reserved.
**
** This file is part of the tools 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 QFONTCODECS_P_H
#define QFONTCODECS_P_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of qfontencodings_x11.cpp and qfont_x11.cpp. This header file may
// change from version to version without notice, or even be removed.
//
// We mean it.
//
//
#ifndef QT_H
-#include <qglobal.h>
-#include <qtextcodec.h>
+#include "qglobal.h"
+#include "qtextcodec.h"
#endif // QT_H
#ifndef QT_NO_CODECS
#ifndef QT_NO_BIG_CODECS
class QJpUnicodeConv;
class QFontJis0201Codec : public QTextCodec
{
public:
QFontJis0201Codec();
const char *name() const;
int mibEnum() const;
#if !defined(Q_NO_USING_KEYWORD)
using QTextCodec::fromUnicode;
#endif
QCString fromUnicode(const QString& uc, int& lenInOut ) const;
int heuristicContentMatch(const char *, int) const;
int heuristicNameMatch(const char* hint) const;
#if !defined(Q_NO_USING_KEYWORD)
using QTextCodec::canEncode;
#endif
bool canEncode( QChar ) const;
};
class QFontJis0208Codec : public QTextCodec
{
public:
QFontJis0208Codec();
~QFontJis0208Codec();
// Return the official name for the encoding.
const char* name() const ;
// Return the MIB enum for the encoding if it is listed in the
// IANA character-sets encoding file.
int mibEnum() const ;
// Converts len characters from chars to Unicode.
QString toUnicode(const char* chars, int len) const ;
// Converts lenInOut characters (of type QChar) from the start of
// the string uc, returning a QCString result, and also returning
// the length of the result in lenInOut.
#if !defined(Q_NO_USING_KEYWORD)
using QTextCodec::fromUnicode;
#endif
QCString fromUnicode(const QString& uc, int& lenInOut ) const;
int heuristicContentMatch(const char *, int) const;
int heuristicNameMatch(const char* hint) const;
#if !defined(Q_NO_USING_KEYWORD)
using QTextCodec::canEncode;
#endif
bool canEncode( QChar ) const;
private:
QJpUnicodeConv *convJP;
};
class QFontKsc5601Codec : public QTextCodec
{
public:
QFontKsc5601Codec();
// Return the official name for the encoding.
const char* name() const ;
// Return the MIB enum for the encoding if it is listed in the
// IANA character-sets encoding file.
int mibEnum() const ;
// Converts len characters from chars to Unicode.
QString toUnicode(const char* chars, int len) const ;
// Converts lenInOut characters (of type QChar) from the start of
// the string uc, returning a QCString result, and also returning
// the length of the result in lenInOut.
#if !defined(Q_NO_USING_KEYWORD)
using QTextCodec::fromUnicode;
#endif
QCString fromUnicode(const QString& uc, int& lenInOut ) const;
int heuristicContentMatch(const char *, int) const;
#if !defined(Q_NO_USING_KEYWORD)
using QTextCodec::canEncode;
#endif
bool canEncode( QChar ) const;
};
class QFontGb2312Codec : public QTextCodec
{
public:
QFontGb2312Codec();
// Return the official name for the encoding.
const char* name() const ;
// Return the MIB enum for the encoding if it is listed in the
// IANA character-sets encoding file.
int mibEnum() const ;
// Converts len characters from chars to Unicode.
QString toUnicode(const char* chars, int len) const ;
// Converts lenInOut characters (of type QChar) from the start of
// the string uc, returning a QCString result, and also returning
// the length of the result in lenInOut.
QCString fromUnicode(const QString& uc, int& lenInOut ) const;
int heuristicContentMatch(const char *, int) const;
bool canEncode( QChar ) const;
};
class QFontGbkCodec : public QTextCodec
{
public:
QFontGbkCodec();
// Return the official name for the encoding.
const char* name() const ;
// Return the MIB enum for the encoding if it is listed in the
// IANA character-sets encoding file.
int mibEnum() const ;
// Converts len characters from chars to Unicode.
QString toUnicode(const char* chars, int len) const ;
// Converts lenInOut characters (of type QChar) from the start of
// the string uc, returning a QCString result, and also returning
// the length of the result in lenInOut.
QCString fromUnicode(const QString& uc, int& lenInOut ) const;
int heuristicContentMatch(const char *, int) const;
int heuristicNameMatch(const char* hint) const;
bool canEncode( QChar ) const;
};
class QFontGb18030_0Codec : public QTextCodec
{
public:
QFontGb18030_0Codec();
// Return the official name for the encoding.
const char* name() const ;
// Return the MIB enum for the encoding if it is listed in the
// IANA character-sets encoding file.
int mibEnum() const ;
// Converts len characters from chars to Unicode.
QString toUnicode(const char* chars, int len) const ;
// Converts lenInOut characters (of type QChar) from the start of
// the string uc, returning a QCString result, and also returning
// the length of the result in lenInOut.
#if !defined(Q_NO_USING_KEYWORD)
using QTextCodec::fromUnicode;
#endif
QCString fromUnicode(const QString& uc, int& lenInOut ) const;
int heuristicContentMatch(const char *, int) const;
#if !defined(Q_NO_USING_KEYWORD)
using QTextCodec::canEncode;
#endif
bool canEncode( QChar ) const;
};
class QFontBig5Codec : public QTextCodec
{
public:
QFontBig5Codec();
// Return the official name for the encoding.
const char* name() const ;
// Return the MIB enum for the encoding if it is listed in the
// IANA character-sets encoding file.
int mibEnum() const ;
// Converts len characters from chars to Unicode.
QString toUnicode(const char* chars, int len) const ;
// Converts lenInOut characters (of type QChar) from the start of
// the string uc, returning a QCString result, and also returning
// the length of the result in lenInOut.
#if !defined(Q_NO_USING_KEYWORD)
using QTextCodec::fromUnicode;
#endif
QCString fromUnicode(const QString& uc, int& lenInOut ) const;
int heuristicContentMatch(const char *, int) const;
#if !defined(Q_NO_USING_KEYWORD)
using QTextCodec::canEncode;
#endif
int heuristicNameMatch(const char* hint) const;
bool canEncode( QChar ) const;
};
class QFontBig5hkscsCodec : public QTextCodec
{
public:
QFontBig5hkscsCodec();
// Return the official name for the encoding.
const char* name() const ;
// Return the MIB enum for the encoding if it is listed in the
// IANA character-sets encoding file.
int mibEnum() const ;
// Converts len characters from chars to Unicode.
QString toUnicode(const char* chars, int len) const ;
// Converts lenInOut characters (of type QChar) from the start of
// the string uc, returning a QCString result, and also returning
// the length of the result in lenInOut.
QCString fromUnicode(const QString& uc, int& lenInOut ) const;
int heuristicContentMatch(const char *, int) const;
int heuristicNameMatch(const char* hint) const;
#if !defined(Q_NO_USING_KEYWORD)
using QTextCodec::canEncode;
#endif
bool canEncode( QChar ) const;
};
// ------------------------------------------------------------------
// the shaping codec for iso8859-6.8x fonts (see www.langbox.com)
class QFontArabic68Codec : public QTextCodec
{
public:
QFontArabic68Codec();
// Return the official name for the encoding.
const char* name() const ;
// Return the MIB enum for the encoding if it is listed in the
// IANA character-sets encoding file.
int mibEnum() const ;
// Converts len characters from chars to Unicode.
QString toUnicode(const char* chars, int len) const ;
// Converts lenInOut characters (of type QChar) from the start of
// the string uc, returning a QCString result, and also returning
// the length of the result in lenInOut.
QCString fromUnicode(const QString& uc, int& lenInOut ) const;
int heuristicContentMatch(const char *, int) const;
QByteArray fromUnicode( const QString &str, int from, int len ) const;
unsigned short characterFromUnicode(const QString &str, int pos) const;
};
class QFontLaoCodec : public QTextCodec
{
public:
QFontLaoCodec();
const char *name() const;
int mibEnum() const;
#if !defined(Q_NO_USING_KEYWORD)
using QTextCodec::fromUnicode;
#endif
QCString fromUnicode(const QString& uc, int& lenInOut ) const;
int heuristicContentMatch(const char *, int) const;
#if !defined(Q_NO_USING_KEYWORD)
using QTextCodec::canEncode;
#endif
bool canEncode( QChar ) const;
};
#endif // QT_NO_BIG_CODECS
#endif // QT_NO_CODECS
#endif // QFONTCODECS_P_H
diff --git a/qmake/include/private/qfontdata_p.h b/qmake/include/private/qfontdata_p.h
index 917d14f..1eaf80c 100644
--- a/qmake/include/private/qfontdata_p.h
+++ b/qmake/include/private/qfontdata_p.h
@@ -1,479 +1,480 @@
/****************************************************************************
** $Id$
**
** Definition of internal QFontData struct
**
** Created : 941229
**
** 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 QFONTDATA_P_H
#define QFONTDATA_P_H
#ifndef QT_H
#include <qcache.h>
#include <qobject.h>
#include <qpaintdevice.h>
#endif // QT_H
#include <limits.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.
//
//
class QPaintDevice;
#ifdef Q_WS_WIN
#include <qt_windows.h>
#endif
#ifdef Q_WS_X11
#include <qt_x11.h>
class QCharStruct;
#endif
// font description
struct QFontDef {
QFontDef()
: pixelSize(0), pointSize(0), lbearing(SHRT_MIN), rbearing(SHRT_MIN),
styleStrategy(QFont::PreferDefault), styleHint(QFont::AnyStyle),
weight(0), italic(FALSE), underline(FALSE), strikeOut(FALSE),
fixedPitch(FALSE), hintSetByUser(FALSE), rawMode(FALSE), dirty(TRUE)
{ ; }
QString family;
QString addStyle;
int pixelSize;
int pointSize;
short lbearing;
short rbearing;
ushort styleStrategy;
uchar styleHint;
uchar weight;
bool italic;
bool underline;
bool strikeOut;
bool fixedPitch;
bool hintSetByUser;
bool rawMode;
bool dirty;
};
class QTextCodec;
#ifdef Q_WS_X11
// this is a shared wrapper for XFontStruct (to prevent a font being freed by
// the cache while it's being used)
class QFontStruct : public QShared
{
public:
QFontStruct(Qt::HANDLE h, Qt::HANDLE xfth, Qt::HANDLE xftp,
QCString n, QTextCodec *c, int a) :
QShared(), handle(h), xfthandle(xfth), xftpattern(xftp),
name(n), codec(c), cache_cost(a), scale( 1. )
{ ; }
~QFontStruct();
Qt::HANDLE handle, xfthandle, xftpattern;
QCString name;
QTextCodec *codec;
int cache_cost;
float scale; // needed for printing, to correctly scale font metrics for bitmap fonts
};
enum { widthCacheSize = 0x500 };
class QFontX11Data // used as a QFontPrivate member
{
public:
// X fontstruct handles for each character set
QFontStruct *fontstruct[QFont::LastPrivateScript];
uchar widthCache[widthCacheSize];
QFontX11Data();
~QFontX11Data();
};
#endif // Q_WS_X11
#ifdef Q_WS_WIN
class QFontStruct : public QShared
{
public:
QFontStruct( const QString &key );
~QFontStruct() { reset(); }
bool dirty() const { return hfont == 0; }
HDC dc() const;
HFONT font() const { return hfont; }
const TEXTMETRICA *textMetricA() const { return &tm.a; }
const TEXTMETRICW *textMetricW() const { return &tm.w; }
QString key() const { return k; }
void reset();
QString k;
HDC hdc;
HFONT hfont;
uint stockFont:1;
uint paintDevice:1;
+ uint useTextOutA:1;
union {
TEXTMETRICW w;
TEXTMETRICA a;
} tm;
int lw;
int cache_cost;
// friend void QFont::initFontInfo() const;
};
#endif // Q_WS_WIN
#if defined( Q_WS_MAC )
#if defined( Q_WS_MACX )
# define QMAC_FONT_ATSUI
#endif
#include "qt_mac.h"
class QMacFontInfo;
class QFontStruct : public QShared
{
public:
inline QFontStruct() : QShared(), info(NULL), fnum(-1), cache_cost(0), internal_fi(NULL) { }
#if defined( QMAC_FONT_ATSUI ) && 0
ATSFontMetrics *info;
int maxWidth() const { return (int)info->maxAdvanceWidth; }
#else
FontInfo *info;
int maxWidth() const { return info->widMax; }
#endif
int ascent() const { return (int)info->ascent; }
int descent() const { return (int)info->descent; }
int leading() const { return (int)info->leading; }
int minLeftBearing() const { return 0; }
int minRightBearing() const { return 0; }
short fnum;
int psize, cache_cost;
QMacFontInfo *internal_fi;
};
#endif
#ifdef Q_WS_QWS
class QFontStruct;
class QGfx;
#endif
typedef QCacheIterator<QFontStruct> QFontCacheIterator;
class QFontCache : public QObject, public QCache<QFontStruct>
{
public:
QFontCache();
~QFontCache();
bool insert(const QString &, const QFontStruct *, int c);
#ifndef Q_WS_MAC
void deleteItem(Item d);
#endif
void timerEvent(QTimerEvent *);
protected:
private:
int timer_id;
bool fast;
};
// QFontPrivate - holds all data on which a font operates
class QFontPrivate : public QShared
{
public:
static QFontCache *fontCache;
public:
QFontPrivate();
QFontPrivate(const QFontPrivate &fp);
QFontPrivate( const QFontPrivate &fp, QPaintDevice *pd );
~QFontPrivate();
// requested font
QFontDef request;
// actual font
QFontDef actual;
bool exactMatch;
int lineWidth;
// common functions
QString defaultFamily() const;
QString lastResortFamily() const;
QString lastResortFont() const;
QString key() const;
static int getFontWeight(const QCString &, bool = FALSE);
QRect boundingRect( const QChar &ch );
struct TextRun {
TextRun()
{
xoff = 0;
yoff = 0;
x2off = 0;
script = QFont::NoScript;
string = 0;
length = 0;
next = 0;
}
~TextRun()
{
if ( next )
delete next;
}
void setParams( int x, int y, int x2, const QChar *s, int len,
QFont::Script sc = QFont::NoScript ) {
xoff = x;
yoff = y;
x2off = x2;
string = s;
length = len;
script = sc;
}
int xoff;
int yoff;
int x2off;
QFont::Script script;
const QChar *string;
int length;
TextRun *next;
#ifdef Q_WS_X11
QByteArray mapped;
#endif
};
// some replacement functions for native calls. This is needed, because shaping and
// non spacing marks can change the extents of a string to draw. At the same time
// drawing needs to take care to correctly position non spacing marks.
int textWidth( const QString &str, int pos, int len );
// returns the script a certain character is in. Needed to separate the string
// into runs of different scripts as required for X11 and opentype.
QFont::Script scriptForChar(const QChar &c);
#ifdef Q_WS_X11
QFont::Script hanHack( const QChar & c );
static char **getXFontNames(const char *, int *);
static bool fontExists(const QString &);
static bool parseXFontName(char *, char **);
static QCString fixXLFD( const QCString & );
static bool fillFontDef(XFontStruct *, QFontDef *, int);
static bool fillFontDef(const QCString &, QFontDef *, int);
static inline bool isZero(char *x)
{
return (x[0] == '0' && x[1] == 0);
}
static inline bool isScalable( char **tokens )
{
return (isZero(tokens[PixelSize]) &&
isZero(tokens[PointSize]) &&
isZero(tokens[AverageWidth]));
}
static inline bool isSmoothlyScalable( char **tokens )
{
return (isZero(tokens[ResolutionX]) && isZero(tokens[ResolutionY]));
}
static inline bool isFixedPitch( char **tokens )
{
return (tokens[Spacing][0] == 'm' ||
tokens[Spacing][0] == 'c' ||
tokens[Spacing][0] == 'M' ||
tokens[Spacing][0] == 'C');
}
// XLFD fields
enum FontFieldNames {
Foundry,
Family,
Weight,
Slant,
Width,
AddStyle,
PixelSize,
PointSize,
ResolutionX,
ResolutionY,
Spacing,
AverageWidth,
CharsetRegistry,
CharsetEncoding,
NFontFields
};
#ifndef QT_NO_XFTFREETYPE
XftPattern *findXftFont(const QChar &, bool *, double *scale) const;
XftPattern *bestXftPattern(const QString &, const QString &, const QChar &, double *scale) const;
#endif // QT_NO_XFTFREETYPE
QCString findFont(QFont::Script, bool *, double *) const;
QCString bestFamilyMember(QFont::Script, const QString &, const QString &,
const QString &, int *, double *) const;
QCString bestMatch(const char *, int *, QFont::Script, double *) const;
int fontMatchScore(const char *, QCString &, float *, int *, bool *,
bool *, QFont::Script, double *) const;
void initFontInfo(QFont::Script, double scale);
void load(QFont::Script = QFont::NoScript, bool = TRUE);
bool loadUnicode(QFont::Script, const QChar &);
void computeLineWidth();
int textWidth( const QString &str, int pos, int len, TextRun *cache );
void textExtents( const QString &str, int pos, int len, QCharStruct *overall );
void drawText( Display *dpy, int screen, Qt::HANDLE hd, Qt::HANDLE rendhd,
GC gc, const QColor &pen, Qt::BGMode, const QColor &bgcolor,
int x, int y, const TextRun *cache, int pdWidth );
bool inFont( const QChar &ch );
QFontX11Data x11data;
static QFont::Script defaultScript;
int x11Screen;
#endif // Q_WS_X11
QPaintDevice *paintdevice;
#ifdef Q_WS_WIN
void load();
void initFontInfo();
HFONT create( bool *stockFont, HDC hdc = 0, bool compatMode = FALSE );
QFontStruct *fin;
void buildCache( HDC hdc, const QString &str, int pos, int len, TextRun *cache );
void drawText( HDC hdc, int x, int y, TextRun *cache );
#endif // Q_WS_WIN
#ifdef Q_WS_QWS
void load();
QFontStruct *fin;
int textWidth( const QString &str, int pos, int len, TextRun *cache );
void drawText( QGfx *gfx, int x, int y, const TextRun *cache );
#endif
#if defined( Q_WS_MAC )
void macSetFont(QPaintDevice *);
- void drawText(int x, int y, QString s, int len, QPaintDevice *dev, const QRegion *rgn);
+ void drawText(int x, int y, const QString &s, int from, int len, QPaintDevice *dev, const QRegion *rgn, int dir);
void computeLineWidth();
void load();
QFontStruct *fin;
#endif
};
inline QFontPrivate::QFontPrivate()
: QShared(), exactMatch(FALSE), lineWidth(1)
{
#if defined(Q_WS_WIN) || defined(Q_WS_QWS) || defined(Q_WS_MAC)
fin = 0;
#endif // Q_WS_WIN || Q_WS_QWS
#if defined(Q_WS_X11)
x11Screen = QPaintDevice::x11AppScreen();
#endif // Q_WS_X11
paintdevice = 0;
}
inline QFontPrivate::QFontPrivate(const QFontPrivate &fp)
: QShared(), request(fp.request), actual(fp.actual),
exactMatch(fp.exactMatch), lineWidth(1)
{
Q_ASSERT(!fp.paintdevice);
#if defined(Q_WS_WIN) || defined(Q_WS_QWS) || defined(Q_WS_MAC)
fin = 0;
#endif // Q_WS_WIN || Q_WS_QWS
#if defined(Q_WS_X11)
x11Screen = fp.x11Screen;
#endif // Q_WS_X11
paintdevice = 0;
}
inline QFontPrivate::QFontPrivate( const QFontPrivate &fp, QPaintDevice *pd )
: QShared(), request(fp.request), actual(fp.actual),
exactMatch(fp.exactMatch), lineWidth(1)
{
#if defined(Q_WS_WIN) || defined(Q_WS_QWS) || defined(Q_WS_MAC)
fin = 0;
#endif // Q_WS_WIN || Q_WS_QWS
#if defined(Q_WS_X11)
x11Screen = pd->x11Screen();
#endif // Q_WS_X11
paintdevice = pd;
}
#ifndef Q_WS_QWS
inline QFontPrivate::~QFontPrivate()
{
#if defined(Q_WS_WIN)
if( fin )
fin->deref();
#endif
#if defined(Q_WS_MAC)
if( fin && fin->deref() )
delete fin;
#endif
}
#endif
#endif // QFONTDATA_P_H
diff --git a/qmake/include/private/qgfxdriverinterface_p.h b/qmake/include/private/qgfxdriverinterface_p.h
index 1782ed4..e8259ac 100644
--- a/qmake/include/private/qgfxdriverinterface_p.h
+++ b/qmake/include/private/qgfxdriverinterface_p.h
@@ -1,56 +1,68 @@
/****************************************************************************
** $Id$
**
** Definition of Qt/Embedded Graphics Driver Interface
**
** Created : 20020211
**
** 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 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 for Qt/Embedded may use this file in accordance with the
** Qt Embedded 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/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
-#ifndef QGFXDRIVERINTERFACE_H
-#define QGFXDRIVERINTERFACE_H
+#ifndef QGFXDRIVERINTERFACE_P_H
+#define QGFXDRIVERINTERFACE_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. This header file may
+// change from version to version without notice, or even be
+// removed.
+//
+// We mean it.
+//
+//
#ifndef QT_H
#include <private/qcom_p.h>
#endif // QT_H
#ifndef QT_NO_COMPONENT
// {449EC6C6-DF3E-43E3-9E57-354A3D05AB34}
#ifndef IID_QGfxDriver
#define IID_QGfxDriver QUuid( 0x449ec6c6, 0xdf3e, 0x43e3, 0x9e, 0x57, 0x35, 0x4a, 0x3d, 0x05, 0xab, 0x34)
#endif
class QScreen;
struct Q_EXPORT QGfxDriverInterface : public QFeatureListInterface
{
virtual QScreen* create( const QString& driver, int displayId ) = 0;
};
#endif // QT_NO_COMPONENT
-#endif // QGFXDRIVERINTERFACE_H
+#endif // QGFXDRIVERINTERFACE_P_H
diff --git a/qmake/include/private/qgpluginmanager_p.h b/qmake/include/private/qgpluginmanager_p.h
index e0c0e78..2e4e9c5 100644
--- a/qmake/include/private/qgpluginmanager_p.h
+++ b/qmake/include/private/qgpluginmanager_p.h
@@ -1,107 +1,107 @@
/**********************************************************************
** $Id$
**
** Definition of QGPluginManager class
**
-** Copyright (C) 2000-2001 Trolltech AS. All rights reserved.
+** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
**
** This file is part of the tools 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 QGPLUGINMANAGER_H
-#define QGPLUGINMANAGER_H
+#ifndef QGPLUGINMANAGER_P_H
+#define QGPLUGINMANAGER_P_H
#ifndef QT_H
#include "qdict.h"
#include "qlibrary.h"
#include "quuid.h"
#include "qstringlist.h"
#include "qcom_p.h"
#endif // QT_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of a number of Qt sources files. This header file may change from
// version to version without notice, or even be removed.
//
// We mean it.
//
//
#ifndef QT_NO_COMPONENT
#if defined(Q_TEMPLATEDLL)
// MOC_SKIP_BEGIN
Q_TEMPLATE_EXTERN template class Q_EXPORT QDict<QLibrary>;
// MOC_SKIP_END
#endif
class Q_EXPORT QGPluginManager
{
public:
QGPluginManager( const QUuid& id, const QStringList& paths = QString::null, const QString &suffix = QString::null, bool cs = TRUE );
~QGPluginManager();
void addLibraryPath( const QString& path );
const QLibrary* library( const QString& feature ) const;
QStringList featureList() const;
bool autoUnload() const;
void setAutoUnload( bool );
protected:
bool enabled() const;
bool addLibrary( QLibrary* plugin );
QRESULT queryUnknownInterface(const QString& feature, QUnknownInterface** iface) const;
QUuid interfaceId;
QDict<QLibrary> plugDict; // Dict to match feature with library
QDict<QLibrary> libDict; // Dict to match library file with library
QStringList libList;
uint casesens : 1;
uint autounload : 1;
};
inline void QGPluginManager::setAutoUnload( bool unload )
{
autounload = unload;
}
inline bool QGPluginManager::autoUnload() const
{
return autounload;
}
#endif
-#endif //QGPLUGINMANAGER_H
+#endif //QGPLUGINMANAGER_P_H
diff --git a/qmake/include/private/qimageformatinterface_p.h b/qmake/include/private/qimageformatinterface_p.h
index 5f7601c..fd4c256 100644
--- a/qmake/include/private/qimageformatinterface_p.h
+++ b/qmake/include/private/qimageformatinterface_p.h
@@ -1,75 +1,75 @@
/****************************************************************************
** $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 QIMAGEFORMATINTERFACE_H
-#define QIMAGEFORMATINTERFACE_H
+#ifndef QIMAGEFORMATINTERFACE_P_H
+#define QIMAGEFORMATINTERFACE_P_H
#ifndef QT_H
#include <private/qcom_p.h>
#endif // QT_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.
//
//
#ifndef QT_NO_COMPONENT
// {04903F05-54B1-4726-A849-FB5CB097CA87}
#ifndef IID_QImageFormat
#define IID_QImageFormat QUuid( 0x04903f05, 0x54b1, 0x4726, 0xa8, 0x49, 0xfb, 0x5c, 0xb0, 0x97, 0xca, 0x87 )
#endif
class QImage;
struct Q_EXPORT QImageFormatInterface : public QFeatureListInterface
{
virtual QRESULT loadImage( const QString &format, const QString &filename, QImage * ) = 0;
virtual QRESULT saveImage( const QString &format, const QString &filename, const QImage & ) = 0;
virtual QRESULT installIOHandler( const QString & ) = 0;
};
#endif // QT_NO_COMPONENT
-#endif // QIMAGEFORMATINTERFACE_H
+#endif // QIMAGEFORMATINTERFACE_P_H
diff --git a/qmake/include/private/qinputcontext_p.h b/qmake/include/private/qinputcontext_p.h
index 9ac0d2b..4d94147 100644
--- a/qmake/include/private/qinputcontext_p.h
+++ b/qmake/include/private/qinputcontext_p.h
@@ -1,121 +1,124 @@
/****************************************************************************
** $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 <qglobal.h>
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 <qt_windows.h>
#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;
+ QString text;
QWidget *focusWidget;
bool composing;
QFont font;
XFontSet fontset;
QMemArray<bool> 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 );
+
+ static void accept( QWidget *fw = 0 );
+ static void enable( bool );
#endif
};
#endif // QINPUTCONTEXT_P_H
diff --git a/qmake/include/private/qkbddriverinterface_p.h b/qmake/include/private/qkbddriverinterface_p.h
index efc7ded..fe13487 100644
--- a/qmake/include/private/qkbddriverinterface_p.h
+++ b/qmake/include/private/qkbddriverinterface_p.h
@@ -1,56 +1,68 @@
/****************************************************************************
** $Id$
**
** Definition of Qt/Embedded Keyboard Driver Interface
**
** Created : 20020218
**
** 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 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 for Qt/Embedded may use this file in accordance with the
** Qt Embedded 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/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
-#ifndef QKBDDRIVERINTERFACE_H
-#define QKBDDRIVERINTERFACE_H
+#ifndef QKBDDRIVERINTERFACE_P_H
+#define QKBDDRIVERINTERFACE_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. This header file may
+// change from version to version without notice, or even be
+// removed.
+//
+// We mean it.
+//
+//
#ifndef QT_H
#include <private/qcom_p.h>
#endif // QT_H
#ifndef QT_NO_COMPONENT
// {C7C838EA-FC3E-4905-92AD-F479E81F1D02}
#ifndef IID_QKbdDriver
#define IID_QKbdDriver QUuid( 0xc7c838ea, 0xfc3e, 0x4905, 0x92, 0xad, 0xf4, 0x79, 0xe8, 0x1f, 0x1d, 0x02)
#endif
class QWSKeyboardHandler;
struct Q_EXPORT QKbdDriverInterface : public QFeatureListInterface
{
virtual QWSKeyboardHandler* create( const QString& driver, const QString& device ) = 0;
};
#endif // QT_NO_COMPONENT
-#endif // QKBDDRIVERINTERFACE_H
+#endif // QKBDDRIVERINTERFACE_P_H
diff --git a/qmake/include/private/qlibrary_p.h b/qmake/include/private/qlibrary_p.h
index c4dd565..1624ca5 100644
--- a/qmake/include/private/qlibrary_p.h
+++ b/qmake/include/private/qlibrary_p.h
@@ -1,84 +1,81 @@
/****************************************************************************
** $Id$
**
** Definition of an internal QLibrary class
**
-** Created : 2000-01-01
+** Created : 000101
**
** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
**
** This file is part of the tools 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 QLIBRARY_P_H
#define QLIBRARY_P_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of the QLibrary class. This header file may change from
// version to version without notice, or even be removed.
//
// We mean it.
//
//
#include "qlibrary.h"
#ifndef QT_NO_LIBRARY
#ifndef QT_H
-#if defined(Q_CC_GNU)
-#warning "avoid including header file \"qwindowdefs.h\" in directory 'tools'"
-#endif
#include "qwindowdefs.h"
#endif // QT_H
class QLibraryPrivate
{
public:
QLibraryPrivate( QLibrary *lib );
#ifdef Q_WS_WIN
HINSTANCE pHnd;
#else
void *pHnd;
#endif
bool loadLibrary();
bool freeLibrary();
void *resolveSymbol( const char * );
private:
QLibrary *library;
};
#endif // QT_NO_LIBRARY
#endif // QLIBRARY_P_H
diff --git a/qmake/include/private/qlock_p.h b/qmake/include/private/qlock_p.h
new file mode 100644
index 0000000..5c261aa
--- a/dev/null
+++ b/qmake/include/private/qlock_p.h
@@ -0,0 +1,93 @@
+/****************************************************************************
+** $Id$
+**
+** Definition of QLock class. This manages interprocess locking
+**
+** Created : 20000406
+**
+** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** 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 for Qt/Embedded may use this file in accordance with the
+** Qt Embedded 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/gpl/ for GPL licensing information.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
+#ifndef QLOCK_P_H
+#define QLOCK_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. This header file may
+// change from version to version without notice, or even be
+// removed.
+//
+// We mean it.
+//
+//
+
+#ifndef QT_H
+#include <qstring.h>
+#endif // QT_H
+
+class QLockData;
+
+class QLock
+{
+public:
+ QLock( const QString &filename, char id, bool create = FALSE );
+ ~QLock();
+
+ enum Type { Read, Write };
+
+ bool isValid() const;
+ void lock( Type type );
+ void unlock();
+ bool locked() const;
+
+private:
+ Type type;
+ QLockData *data;
+};
+
+
+// Nice class for ensuring the lock is released.
+// Just create one on the stack and the lock is automatically released
+// when QLockHolder is destructed.
+class QLockHolder
+{
+public:
+ QLockHolder( QLock *l, QLock::Type type ) : qlock(l) {
+ qlock->lock( type );
+ }
+ ~QLockHolder() { if ( locked() ) qlock->unlock(); }
+
+ void lock( QLock::Type type ) { qlock->lock( type ); }
+ void unlock() { qlock->unlock(); }
+ bool locked() const { return qlock->locked(); }
+
+private:
+ QLock *qlock;
+};
+
+#endif
+
diff --git a/qmake/include/private/qmousedriverinterface_p.h b/qmake/include/private/qmousedriverinterface_p.h
index fd76308..42a2e3e 100644
--- a/qmake/include/private/qmousedriverinterface_p.h
+++ b/qmake/include/private/qmousedriverinterface_p.h
@@ -1,56 +1,68 @@
/****************************************************************************
** $Id$
**
** Definition of Qt/Embedded Mouse Driver Interface
**
** Created : 20020220
**
** 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 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 for Qt/Embedded may use this file in accordance with the
** Qt Embedded 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/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
-#ifndef QMOUSEDRIVERINTERFACE_H
-#define QMOUSEDRIVERINTERFACE_H
+#ifndef QMOUSEDRIVERINTERFACE_P_H
+#define QMOUSEDRIVERINTERFACE_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. This header file may
+// change from version to version without notice, or even be
+// removed.
+//
+// We mean it.
+//
+//
#ifndef QT_H
#include <private/qcom_p.h>
#endif // QT_H
#ifndef QT_NO_COMPONENT
// {4367CF5A-F7CE-407B-8BB6-DF19AEDA2EBB}
#ifndef IID_QMouseDriver
#define IID_QMouseDriver QUuid( 0x4367cf5a, 0xf7ce, 0x407b, 0x8b, 0xb6, 0xdf, 0x19, 0xae, 0xda, 0x2e, 0xbb)
#endif
class QWSMouseHandler;
struct Q_EXPORT QMouseDriverInterface : public QFeatureListInterface
{
virtual QWSMouseHandler* create( const QString& driver, const QString &device ) = 0;
};
#endif // QT_NO_COMPONENT
-#endif // QMOUSEDRIVERINTERFACE_H
+#endif // QMOUSEDRIVERINTERFACE_P_H
diff --git a/qmake/include/private/qmutexpool_p.h b/qmake/include/private/qmutexpool_p.h
index 3d9fef7..fb84157 100644
--- a/qmake/include/private/qmutexpool_p.h
+++ b/qmake/include/private/qmutexpool_p.h
@@ -1,39 +1,75 @@
-#ifndef QMUTEXPOOL_H
-#define QMUTEXPOOL_H
+/****************************************************************************
+** $Id$
+**
+** ...
+**
+** Copyright (C) 2002 Trolltech AS. All rights reserved.
+**
+** This file is part of the tools 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 QMUTEXPOOL_P_H
+#define QMUTEXPOOL_P_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of QSettings. This header file may change from version to
// version without notice, or even be removed.
//
// We mean it.
//
//
#ifdef QT_THREAD_SUPPORT
#include "qmutex.h"
#include "qmemarray.h"
class QMutexPool
{
public:
QMutexPool( bool recursive = FALSE, int size = 17 );
~QMutexPool();
QMutex *get( void *address );
private:
QMutex mutex;
- QMemArray<QMutex*> mutexes;
+ QMutex **mutexes;
+ int count;
bool recurs;
};
extern QMutexPool *qt_global_mutexpool;
#endif // QT_THREAD_SUPPORT
-#endif // QMUTEXPOOL_H
+#endif // QMUTEXPOOL_P_H
diff --git a/qmake/include/private/qpluginmanager_p.h b/qmake/include/private/qpluginmanager_p.h
index 4b64ba0..a8da10e 100644
--- a/qmake/include/private/qpluginmanager_p.h
+++ b/qmake/include/private/qpluginmanager_p.h
@@ -1,73 +1,73 @@
/****************************************************************************
** $Id$
**
** Definition of QPluginManager class
**
-** Created : 2000-01-01
+** Created : 000101
**
** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
**
** This file is part of the tools 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 QPLUGINMANAGER_H
-#define QPLUGINMANAGER_H
-
-#ifndef QT_H
-#include "qgpluginmanager_p.h"
-#endif // QT_H
+#ifndef QPLUGINMANAGER_P_H
+#define QPLUGINMANAGER_P_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of a number of Qt sources files. This header file may change from
// version to version without notice, or even be removed.
//
// We mean it.
//
//
+#ifndef QT_H
+#include "qgpluginmanager_p.h"
+#endif // QT_H
+
#ifndef QT_NO_COMPONENT
template<class Type>
class QPluginManager : public QGPluginManager
{
public:
QPluginManager( const QUuid& id, const QStringList& paths = QString::null, const QString &suffix = QString::null, bool cs = TRUE )
: QGPluginManager( id, paths, suffix, cs ) {}
QRESULT queryInterface(const QString& feature, Type** iface) const
{
return queryUnknownInterface( feature, (QUnknownInterface**)iface );
}
};
#endif //QT_NO_COMPONENT
-#endif //QPLUGINMANAGER_H
+#endif //QPLUGINMANAGER_P_H
diff --git a/qmake/include/private/qpsprinter_p.h b/qmake/include/private/qpsprinter_p.h
index 27a4968..692cb44 100644
--- a/qmake/include/private/qpsprinter_p.h
+++ b/qmake/include/private/qpsprinter_p.h
@@ -1,89 +1,89 @@
/**********************************************************************
** $Id$
**
** Definition of internal QPSPrinter class.
** QPSPrinter implements PostScript (tm) output via QPrinter.
**
** Created : 940927
**
-** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
+** 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 QPSPRINTER_P_H
#define QPSPRINTER_P_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of qpsprinter.cpp and qprinter_x11.cpp.
// This header file may change from version to version without notice,
// or even be removed.
//
// We mean it.
//
//
#ifndef QT_H
#include "qprinter.h"
#include "qtextstream.h"
#endif // QT_H
#ifndef QT_NO_PRINTER
-struct QPSPrinterPrivate;
+class QPSPrinterPrivate;
class Q_EXPORT QPSPrinter : public QPaintDevice
{
private:
// QPrinter uses these
QPSPrinter( QPrinter *, int );
~QPSPrinter();
bool cmd ( int, QPainter *, QPDevCmdParam * );
enum { NewPage = 100, AbortPrinting };
friend class QPrinter;
private:
// not used by QPrinter
QPSPrinterPrivate *d;
// Disabled copy constructor and operator=
QPSPrinter( const QPSPrinter & );
QPSPrinter &operator=( const QPSPrinter & );
};
#endif // QT_NO_PRINTER
#endif // QPSPRINTER_P_H
diff --git a/qmake/include/private/qrichtext_p.h b/qmake/include/private/qrichtext_p.h
index 8e29804..9ed87cf 100644
--- a/qmake/include/private/qrichtext_p.h
+++ b/qmake/include/private/qrichtext_p.h
@@ -1,2133 +1,2156 @@
/****************************************************************************
** $Id$
**
** Definition of internal rich text classes
**
** Created : 990124
**
** Copyright (C) 1999-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 QRICHTEXT_P_H
#define QRICHTEXT_P_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of a number of Qt sources files. This header file may change from
// version to version without notice, or even be removed.
//
// We mean it.
//
//
#ifndef QT_H
#include "qstring.h"
#include "qptrlist.h"
#include "qrect.h"
#include "qfontmetrics.h"
#include "qintdict.h"
#include "qmap.h"
#include "qstringlist.h"
#include "qfont.h"
#include "qcolor.h"
#include "qsize.h"
#include "qvaluelist.h"
#include "qvaluestack.h"
#include "qobject.h"
#include "qdict.h"
#include "qpixmap.h"
#include "qstylesheet.h"
#include "qptrvector.h"
#include "qpainter.h"
#include "qlayout.h"
#include "qobject.h"
#include "private/qcomplextext_p.h"
#include "qapplication.h"
#endif // QT_H
#ifndef QT_NO_RICHTEXT
class QTextDocument;
class QTextString;
class QTextPreProcessor;
class QTextFormat;
class QTextCursor;
class QTextParagraph;
class QTextFormatter;
class QTextIndent;
class QTextFormatCollection;
class QStyleSheetItem;
#ifndef QT_NO_TEXTCUSTOMITEM
class QTextCustomItem;
#endif
class QTextFlow;
struct QBidiContext;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class Q_EXPORT QTextStringChar
{
friend class QTextString;
public:
// this is never called, initialize variables in QTextString::insert()!!!
QTextStringChar() : lineStart( 0 ), type( Regular ), startOfRun( 0 ) {d.format=0;}
~QTextStringChar();
QChar c;
enum Type { Regular=0, Custom=1, Anchor=2, CustomAnchor=3 };
uint lineStart : 1;
uint rightToLeft : 1;
uint hasCursor : 1;
uint canBreak : 1;
Type type : 2;
uint startOfRun : 1;
int x;
int height() const;
int ascent() const;
int descent() const;
bool isCustom() const { return (type & Custom) != 0; }
QTextFormat *format() const;
#ifndef QT_NO_TEXTCUSTOMITEM
QTextCustomItem *customItem() const;
#endif
void setFormat( QTextFormat *f );
#ifndef QT_NO_TEXTCUSTOMITEM
void setCustomItem( QTextCustomItem *i );
#endif
struct CustomData
{
QTextFormat *format;
#ifndef QT_NO_TEXTCUSTOMITEM
QTextCustomItem *custom;
#endif
QString anchorName;
QString anchorHref;
};
#ifndef QT_NO_TEXTCUSTOMITEM
void loseCustomItem();
#endif
union {
QTextFormat* format;
CustomData* custom;
} d;
bool isAnchor() const { return ( type & Anchor) != 0; }
bool isLink() const { return isAnchor() && !!d.custom->anchorHref; }
QString anchorName() const;
QString anchorHref() const;
void setAnchor( const QString& name, const QString& href );
private:
QTextStringChar &operator=( const QTextStringChar & ) {
//abort();
return *this;
}
+ QTextStringChar( const QTextStringChar & ) {
+ }
friend class QComplexText;
friend class QTextParagraph;
};
#if defined(Q_TEMPLATEDLL)
// MOC_SKIP_BEGIN
Q_TEMPLATE_EXTERN template class Q_EXPORT QMemArray<QTextStringChar>;
// MOC_SKIP_END
#endif
class Q_EXPORT QTextString
{
public:
QTextString();
QTextString( const QTextString &s );
virtual ~QTextString();
- static QString toString( const QMemArray<QTextStringChar> &data );
- QString toString() const;
+ static QString toString( const QMemArray<QTextStringChar> &data, bool fixspaces = TRUE );
+ QString toString( bool fixspaces = TRUE ) const;
QTextStringChar &at( int i ) const;
#if defined(Q_STRICT_INLINING_RULES)
// This is for the IRIX MIPSpro o32 ABI - it fails, claiming the
// implementation to be a redefinition.
inline int length() const;
#else
int length() const;
#endif
int width( int idx ) const;
void insert( int index, const QString &s, QTextFormat *f );
void insert( int index, const QChar *unicode, int len, QTextFormat *f );
void insert( int index, QTextStringChar *c, bool doAddRefFormat = FALSE );
void truncate( int index );
void remove( int index, int len );
void clear();
void setFormat( int index, QTextFormat *f, bool useCollection );
void setBidi( bool b ) { bidi = b; }
bool isBidi() const;
bool isRightToLeft() const;
QChar::Direction direction() const;
void setDirection( QChar::Direction d ) { dir = d; bidiDirty = TRUE; }
QMemArray<QTextStringChar> subString( int start = 0, int len = 0xFFFFFF ) const;
QMemArray<QTextStringChar> rawData() const { return data.copy(); }
void operator=( const QString &s ) { clear(); insert( 0, s, 0 ); }
void operator+=( const QString &s ) { insert( length(), s, 0 ); }
void prepend( const QString &s ) { insert( 0, s, 0 ); }
private:
void checkBidi() const;
QMemArray<QTextStringChar> data;
uint bidiDirty : 1;
uint bidi : 1; // true when the paragraph has right to left characters
uint rightToLeft : 1;
uint dir : 5;
};
inline bool QTextString::isBidi() const
{
if ( bidiDirty )
checkBidi();
return bidi;
}
inline bool QTextString::isRightToLeft() const
{
if ( bidiDirty )
checkBidi();
return rightToLeft;
}
inline QChar::Direction QTextString::direction() const
{
return (QChar::Direction) dir;
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#if defined(Q_TEMPLATEDLL)
// MOC_SKIP_BEGIN
Q_TEMPLATE_EXTERN template class Q_EXPORT QValueStack<int>;
Q_TEMPLATE_EXTERN template class Q_EXPORT QValueStack<QTextParagraph*>;
Q_TEMPLATE_EXTERN template class Q_EXPORT QValueStack<bool>;
// MOC_SKIP_END
#endif
class Q_EXPORT QTextCursor
{
public:
QTextCursor( QTextDocument *d = 0 );
QTextCursor( const QTextCursor &c );
QTextCursor &operator=( const QTextCursor &c );
virtual ~QTextCursor() {}
bool operator==( const QTextCursor &c ) const;
bool operator!=( const QTextCursor &c ) const { return !(*this == c); }
#if defined(Q_STRICT_INLINING_RULES)
// This is for the IRIX MIPSpro o32 ABI - it fails, claiming the
// implementation to be a redefinition.
inline QTextParagraph *paragraph() const;
#else
QTextParagraph *paragraph() const;
#endif
void setParagraph( QTextParagraph*p ) { gotoPosition(p, 0 ); }
QTextDocument *document() const;
int index() const;
void setIndex( int index ) { gotoPosition(paragraph(), index ); }
void gotoPosition( QTextParagraph* p, int index = 0);
void gotoLeft();
void gotoRight();
void gotoNextLetter();
void gotoPreviousLetter();
void gotoUp();
void gotoDown();
void gotoLineEnd();
void gotoLineStart();
void gotoHome();
void gotoEnd();
void gotoPageUp( int visibleHeight );
void gotoPageDown( int visibleHeight );
- void gotoNextWord();
- void gotoPreviousWord();
+ void gotoNextWord( bool onlySpace = FALSE );
+ void gotoPreviousWord( bool onlySpace = FALSE );
void gotoWordLeft();
void gotoWordRight();
void insert( const QString &s, bool checkNewLine, QMemArray<QTextStringChar> *formatting = 0 );
void splitAndInsertEmptyParagraph( bool ind = TRUE, bool updateIds = TRUE );
bool remove();
void indent();
bool atParagStart();
bool atParagEnd();
int x() const; // x in current paragraph
int y() const; // y in current paragraph
int globalX() const;
int globalY() const;
QTextParagraph *topParagraph() const { return paras.isEmpty() ? para : paras.first(); }
int offsetX() const { return ox; } // inner document offset
int offsetY() const { return oy; } // inner document offset
int totalOffsetX() const; // total document offset
int totalOffsetY() const; // total document offset
bool place( const QPoint &pos, QTextParagraph *s ) { return place( pos, s, FALSE ); }
bool place( const QPoint &pos, QTextParagraph *s, bool link );
void restoreState();
int nestedDepth() const { return (int)indices.count(); } //### size_t/int cast
void oneUp() { if ( !indices.isEmpty() ) pop(); }
void setValid( bool b ) { valid = b; }
bool isValid() const { return valid; }
private:
enum Operation { EnterBegin, EnterEnd, Next, Prev, Up, Down };
void push();
void pop();
- void processNesting( Operation op );
+ bool processNesting( Operation op );
void invalidateNested();
void gotoIntoNested( const QPoint &globalPos );
QTextParagraph *para;
int idx, tmpIndex;
int ox, oy;
QValueStack<int> indices;
QValueStack<QTextParagraph*> paras;
QValueStack<int> xOffsets;
QValueStack<int> yOffsets;
uint valid : 1;
};
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class Q_EXPORT QTextCommand
{
public:
enum Commands { Invalid, Insert, Delete, Format, Style };
QTextCommand( QTextDocument *d ) : doc( d ), cursor( d ) {}
virtual ~QTextCommand();
virtual Commands type() const;
virtual QTextCursor *execute( QTextCursor *c ) = 0;
virtual QTextCursor *unexecute( QTextCursor *c ) = 0;
protected:
QTextDocument *doc;
QTextCursor cursor;
};
#if defined(Q_TEMPLATEDLL)
// MOC_SKIP_BEGIN
Q_TEMPLATE_EXTERN template class Q_EXPORT QPtrList<QTextCommand>;
// MOC_SKIP_END
#endif
class Q_EXPORT QTextCommandHistory
{
public:
QTextCommandHistory( int s ) : current( -1 ), steps( s ) { history.setAutoDelete( TRUE ); }
virtual ~QTextCommandHistory();
void clear() { history.clear(); current = -1; }
void addCommand( QTextCommand *cmd );
QTextCursor *undo( QTextCursor *c );
QTextCursor *redo( QTextCursor *c );
bool isUndoAvailable();
bool isRedoAvailable();
void setUndoDepth( int d ) { steps = d; }
int undoDepth() const { return steps; }
int historySize() const { return history.count(); }
int currentPosition() const { return current; }
private:
QPtrList<QTextCommand> history;
int current, steps;
};
inline QTextCommandHistory::~QTextCommandHistory()
{
clear();
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#ifndef QT_NO_TEXTCUSTOMITEM
class Q_EXPORT QTextCustomItem
{
public:
QTextCustomItem( QTextDocument *p )
: xpos(0), ypos(-1), width(-1), height(0), parent( p )
{}
virtual ~QTextCustomItem();
virtual void draw(QPainter* p, int x, int y, int cx, int cy, int cw, int ch, const QColorGroup& cg, bool selected ) = 0;
virtual void adjustToPainter( QPainter* );
enum Placement { PlaceInline = 0, PlaceLeft, PlaceRight };
virtual Placement placement() const;
bool placeInline() { return placement() == PlaceInline; }
virtual bool ownLine() const;
virtual void resize( int nwidth );
virtual void invalidate();
virtual int ascent() const { return height; }
virtual bool isNested() const;
virtual int minimumWidth() const;
virtual QString richText() const;
int xpos; // used for floating items
int ypos; // used for floating items
int width;
int height;
QRect geometry() const { return QRect( xpos, ypos, width, height ); }
virtual bool enter( QTextCursor *, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy, bool atEnd = FALSE );
virtual bool enterAt( QTextCursor *, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy, const QPoint & );
virtual bool next( QTextCursor *, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy );
virtual bool prev( QTextCursor *, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy );
virtual bool down( QTextCursor *, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy );
virtual bool up( QTextCursor *, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy );
void setParagraph( QTextParagraph *p ) { parag = p; }
QTextParagraph *paragraph() const { return parag; }
QTextDocument *parent;
QTextParagraph *parag;
virtual void pageBreak( int y, QTextFlow* flow );
};
#endif
#if defined(Q_TEMPLATEDLL)
// MOC_SKIP_BEGIN
Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<QString, QString>;
// MOC_SKIP_END
#endif
#ifndef QT_NO_TEXTCUSTOMITEM
class Q_EXPORT QTextImage : public QTextCustomItem
{
public:
QTextImage( QTextDocument *p, const QMap<QString, QString> &attr, const QString& context,
QMimeSourceFactory &factory );
virtual ~QTextImage();
Placement placement() const { return place; }
void adjustToPainter( QPainter* );
int minimumWidth() const { return width; }
QString richText() const;
void draw( QPainter* p, int x, int y, int cx, int cy, int cw, int ch, const QColorGroup& cg, bool selected );
private:
QRegion* reg;
QPixmap pm;
Placement place;
int tmpwidth, tmpheight;
QMap<QString, QString> attributes;
QString imgId;
};
#endif
#ifndef QT_NO_TEXTCUSTOMITEM
class Q_EXPORT QTextHorizontalLine : public QTextCustomItem
{
public:
QTextHorizontalLine( QTextDocument *p, const QMap<QString, QString> &attr, const QString& context,
QMimeSourceFactory &factory );
virtual ~QTextHorizontalLine();
void adjustToPainter( QPainter* );
void draw(QPainter* p, int x, int y, int cx, int cy, int cw, int ch, const QColorGroup& cg, bool selected );
QString richText() const;
bool ownLine() const { return TRUE; }
private:
int tmpheight;
QColor color;
bool shade;
};
#endif
#ifndef QT_NO_TEXTCUSTOMITEM
#if defined(Q_TEMPLATEDLL)
// MOC_SKIP_BEGIN
Q_TEMPLATE_EXTERN template class Q_EXPORT QPtrList<QTextCustomItem>;
// MOC_SKIP_END
#endif
#endif
class Q_EXPORT QTextFlow
{
friend class QTextDocument;
#ifndef QT_NO_TEXTCUSTOMITEM
friend class QTextTableCell;
#endif
public:
QTextFlow();
virtual ~QTextFlow();
virtual void setWidth( int width );
int width() const;
virtual void setPageSize( int ps );
int pageSize() const { return pagesize; }
virtual int adjustLMargin( int yp, int h, int margin, int space );
virtual int adjustRMargin( int yp, int h, int margin, int space );
#ifndef QT_NO_TEXTCUSTOMITEM
virtual void registerFloatingItem( QTextCustomItem* item );
virtual void unregisterFloatingItem( QTextCustomItem* item );
#endif
virtual QRect boundingRect() const;
virtual void drawFloatingItems(QPainter* p, int cx, int cy, int cw, int ch, const QColorGroup& cg, bool selected );
virtual int adjustFlow( int y, int w, int h ); // adjusts y according to the defined pagesize. Returns the shift.
virtual bool isEmpty();
void clear();
private:
int w;
int pagesize;
#ifndef QT_NO_TEXTCUSTOMITEM
QPtrList<QTextCustomItem> leftItems;
QPtrList<QTextCustomItem> rightItems;
#endif
};
inline int QTextFlow::width() const { return w; }
#ifndef QT_NO_TEXTCUSTOMITEM
class QTextTable;
class Q_EXPORT QTextTableCell : public QLayoutItem
{
friend class QTextTable;
public:
QTextTableCell( QTextTable* table,
int row, int column,
const QMap<QString, QString> &attr,
const QStyleSheetItem* style,
const QTextFormat& fmt, const QString& context,
QMimeSourceFactory &factory, QStyleSheet *sheet, const QString& doc );
virtual ~QTextTableCell();
QSize sizeHint() const ;
QSize minimumSize() const ;
QSize maximumSize() const ;
QSizePolicy::ExpandData expanding() const;
bool isEmpty() const;
void setGeometry( const QRect& ) ;
QRect geometry() const;
bool hasHeightForWidth() const;
int heightForWidth( int ) const;
void adjustToPainter( QPainter* );
int row() const { return row_; }
int column() const { return col_; }
int rowspan() const { return rowspan_; }
int colspan() const { return colspan_; }
int stretch() const { return stretch_; }
QTextDocument* richText() const { return richtext; }
QTextTable* table() const { return parent; }
void draw( QPainter* p, int x, int y, int cx, int cy, int cw, int ch, const QColorGroup& cg, bool selected );
QBrush *backGround() const { return background; }
virtual void invalidate();
int verticalAlignmentOffset() const;
int horizontalAlignmentOffset() const;
private:
QRect geom;
QTextTable* parent;
QTextDocument* richtext;
int row_;
int col_;
int rowspan_;
int colspan_;
int stretch_;
int maxw;
int minw;
bool hasFixedWidth;
QBrush *background;
int cached_width;
int cached_sizehint;
QMap<QString, QString> attributes;
int align;
};
#endif
#if defined(Q_TEMPLATEDLL)
// MOC_SKIP_BEGIN
Q_TEMPLATE_EXTERN template class Q_EXPORT QPtrList<QTextTableCell>;
Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<QTextCursor*, int>;
// MOC_SKIP_END
#endif
#ifndef QT_NO_TEXTCUSTOMITEM
class Q_EXPORT QTextTable: public QTextCustomItem
{
friend class QTextTableCell;
public:
QTextTable( QTextDocument *p, const QMap<QString, QString> &attr );
virtual ~QTextTable();
void adjustToPainter( QPainter *p );
void pageBreak( int y, QTextFlow* flow );
void draw( QPainter* p, int x, int y, int cx, int cy, int cw, int ch,
const QColorGroup& cg, bool selected );
bool noErase() const { return TRUE; }
bool ownLine() const { return TRUE; }
Placement placement() const { return place; }
bool isNested() const { return TRUE; }
void resize( int nwidth );
virtual void invalidate();
virtual bool enter( QTextCursor *c, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy, bool atEnd = FALSE );
virtual bool enterAt( QTextCursor *c, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy, const QPoint &pos );
virtual bool next( QTextCursor *c, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy );
virtual bool prev( QTextCursor *c, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy );
virtual bool down( QTextCursor *c, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy );
virtual bool up( QTextCursor *c, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy );
QString richText() const;
int minimumWidth() const;
QPtrList<QTextTableCell> tableCells() const { return cells; }
bool isStretching() const { return stretch; }
private:
void format( int w );
void addCell( QTextTableCell* cell );
private:
QGridLayout* layout;
QPtrList<QTextTableCell> cells;
int cachewidth;
int fixwidth;
int cellpadding;
int cellspacing;
int border;
int outerborder;
int stretch;
int innerborder;
int us_cp, us_ib, us_b, us_ob, us_cs;
QMap<QString, QString> attributes;
QMap<QTextCursor*, int> currCell;
Placement place;
void adjustCells( int y , int shift );
int pageBreakFor;
};
#endif
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#ifndef QT_NO_TEXTCUSTOMITEM
class QTextTableCell;
class QTextParagraph;
#endif
struct Q_EXPORT QTextDocumentSelection
{
QTextCursor startCursor, endCursor;
bool swapped;
+ Q_DUMMY_COMPARISON_OPERATOR(QTextDocumentSelection)
};
#if defined(Q_TEMPLATEDLL)
// MOC_SKIP_BEGIN
Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<int, QColor>;
Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<int, bool>;
Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<int, QTextDocumentSelection>;
Q_TEMPLATE_EXTERN template class Q_EXPORT QPtrList<QTextDocument>;
// MOC_SKIP_END
#endif
class Q_EXPORT QTextDocument : public QObject
{
Q_OBJECT
#ifndef QT_NO_TEXTCUSTOMITEM
friend class QTextTableCell;
#endif
friend class QTextCursor;
friend class QTextEdit;
friend class QTextParagraph;
public:
enum SelectionIds {
Standard = 0,
IMSelectionText = 31998,
IMCompositionText = 31999, // this must be higher!
Temp = 32000 // This selection must not be drawn, it's used e.g. by undo/redo to
// remove multiple lines with removeSelectedText()
};
QTextDocument( QTextDocument *p );
QTextDocument( QTextDocument *d, QTextFormatCollection *f );
virtual ~QTextDocument();
QTextDocument *parent() const { return par; }
QTextParagraph *parentParagraph() const { return parentPar; }
void setText( const QString &text, const QString &context );
QMap<QString, QString> attributes() const { return attribs; }
void setAttributes( const QMap<QString, QString> &attr ) { attribs = attr; }
QString text() const;
QString text( int parag ) const;
QString originalText() const;
int x() const;
int y() const;
int width() const;
int widthUsed() const;
int visibleWidth() const;
int height() const;
void setWidth( int w );
int minimumWidth() const;
bool setMinimumWidth( int needed, int used = -1, QTextParagraph *parag = 0 );
void setY( int y );
int leftMargin() const;
void setLeftMargin( int lm );
int rightMargin() const;
void setRightMargin( int rm );
QTextParagraph *firstParagraph() const;
QTextParagraph *lastParagraph() const;
void setFirstParagraph( QTextParagraph *p );
void setLastParagraph( QTextParagraph *p );
void invalidate();
void setPreProcessor( QTextPreProcessor *sh );
QTextPreProcessor *preProcessor() const;
void setFormatter( QTextFormatter *f );
QTextFormatter *formatter() const;
void setIndent( QTextIndent *i );
QTextIndent *indent() const;
QColor selectionColor( int id ) const;
bool invertSelectionText( int id ) const;
void setSelectionColor( int id, const QColor &c );
void setInvertSelectionText( int id, bool b );
bool hasSelection( int id, bool visible = FALSE ) const;
void setSelectionStart( int id, const QTextCursor &cursor );
bool setSelectionEnd( int id, const QTextCursor &cursor );
void selectAll( int id );
bool removeSelection( int id );
void selectionStart( int id, int &paragId, int &index );
QTextCursor selectionStartCursor( int id );
QTextCursor selectionEndCursor( int id );
void selectionEnd( int id, int &paragId, int &index );
void setFormat( int id, QTextFormat *f, int flags );
int numSelections() const { return nSelections; }
void addSelection( int id );
QString selectedText( int id, bool asRichText = FALSE ) const;
void removeSelectedText( int id, QTextCursor *cursor );
void indentSelection( int id );
QTextParagraph *paragAt( int i ) const;
void addCommand( QTextCommand *cmd );
QTextCursor *undo( QTextCursor *c = 0 );
QTextCursor *redo( QTextCursor *c = 0 );
QTextCommandHistory *commands() const { return commandHistory; }
QTextFormatCollection *formatCollection() const;
bool find( QTextCursor &cursor, const QString &expr, bool cs, bool wo, bool forward);
void setTextFormat( Qt::TextFormat f );
Qt::TextFormat textFormat() const;
bool inSelection( int selId, const QPoint &pos ) const;
QStyleSheet *styleSheet() const { return sheet_; }
#ifndef QT_NO_MIME
QMimeSourceFactory *mimeSourceFactory() const { return factory_; }
#endif
QString context() const { return contxt; }
void setStyleSheet( QStyleSheet *s );
void setDefaultFormat( const QFont &font, const QColor &color );
#ifndef QT_NO_MIME
void setMimeSourceFactory( QMimeSourceFactory *f ) { if ( f ) factory_ = f; }
#endif
void setContext( const QString &c ) { if ( !c.isEmpty() ) contxt = c; }
void setUnderlineLinks( bool b );
bool underlineLinks() const { return underlLinks; }
void setPaper( QBrush *brush ) { if ( backBrush ) delete backBrush; backBrush = brush; }
QBrush *paper() const { return backBrush; }
void doLayout( QPainter *p, int w );
void draw( QPainter *p, const QRect& rect, const QColorGroup &cg, const QBrush *paper = 0 );
+ void eraseParagraphEmptyArea( QTextParagraph *parag, QPainter *p, const QColorGroup &cg );
+ bool useDoubleBuffer( QTextParagraph *parag, QPainter *p );
+
void drawParagraph( QPainter *p, QTextParagraph *parag, int cx, int cy, int cw, int ch,
QPixmap *&doubleBuffer, const QColorGroup &cg,
bool drawCursor, QTextCursor *cursor, bool resetChanged = TRUE );
QTextParagraph *draw( QPainter *p, int cx, int cy, int cw, int ch, const QColorGroup &cg,
bool onlyChanged = FALSE, bool drawCursor = FALSE, QTextCursor *cursor = 0,
bool resetChanged = TRUE );
#ifndef QT_NO_TEXTCUSTOMITEM
void registerCustomItem( QTextCustomItem *i, QTextParagraph *p );
void unregisterCustomItem( QTextCustomItem *i, QTextParagraph *p );
#endif
void setFlow( QTextFlow *f );
void takeFlow();
QTextFlow *flow() const { return flow_; }
bool isPageBreakEnabled() const { return pages; }
void setPageBreakEnabled( bool b ) { pages = b; }
void setUseFormatCollection( bool b ) { useFC = b; }
bool useFormatCollection() const { return useFC; }
#ifndef QT_NO_TEXTCUSTOMITEM
QTextTableCell *tableCell() const { return tc; }
void setTableCell( QTextTableCell *c ) { tc = c; }
#endif
void setPlainText( const QString &text );
void setRichText( const QString &text, const QString &context );
QString richText() const;
QString plainText() const;
bool focusNextPrevChild( bool next );
int alignment() const;
void setAlignment( int a );
int *tabArray() const;
int tabStopWidth() const;
void setTabArray( int *a );
void setTabStops( int tw );
void setUndoDepth( int d ) { commandHistory->setUndoDepth( d ); }
int undoDepth() const { return commandHistory->undoDepth(); }
int length() const;
void clear( bool createEmptyParag = FALSE );
virtual QTextParagraph *createParagraph( QTextDocument *d, QTextParagraph *pr = 0, QTextParagraph *nx = 0, bool updateIds = TRUE );
void insertChild( QObject *o ) { QObject::insertChild( o ); }
void removeChild( QObject *o ) { QObject::removeChild( o ); }
void insertChild( QTextDocument *d ) { childList.append( d ); }
void removeChild( QTextDocument *d ) { childList.removeRef( d ); }
QPtrList<QTextDocument> children() const { return childList; }
bool hasFocusParagraph() const;
QString focusHref() const;
QString focusName() const;
void invalidateOriginalText() { oTextValid = FALSE; oText = ""; }
signals:
void minimumWidthChanged( int );
private:
void init();
QPixmap *bufferPixmap( const QSize &s );
// HTML parser
bool hasPrefix(const QChar* doc, int length, int pos, QChar c);
bool hasPrefix(const QChar* doc, int length, int pos, const QString& s);
#ifndef QT_NO_TEXTCUSTOMITEM
QTextCustomItem* parseTable( const QMap<QString, QString> &attr, const QTextFormat &fmt,
const QChar* doc, int length, int& pos, QTextParagraph *curpar );
#endif
bool eatSpace(const QChar* doc, int length, int& pos, bool includeNbsp = FALSE );
bool eat(const QChar* doc, int length, int& pos, QChar c);
QString parseOpenTag(const QChar* doc, int length, int& pos, QMap<QString, QString> &attr, bool& emptyTag);
QString parseCloseTag( const QChar* doc, int length, int& pos );
QChar parseHTMLSpecialChar(const QChar* doc, int length, int& pos);
QString parseWord(const QChar* doc, int length, int& pos, bool lower = TRUE);
QChar parseChar(const QChar* doc, int length, int& pos, QStyleSheetItem::WhiteSpaceMode wsm );
void setRichTextInternal( const QString &text, QTextCursor* cursor = 0 );
void setRichTextMarginsInternal( QPtrList< QPtrVector<QStyleSheetItem> >& styles, QTextParagraph* stylesPar );
private:
struct Q_EXPORT Focus {
QTextParagraph *parag;
int start, len;
QString href;
QString name;
};
int cx, cy, cw, vw;
QTextParagraph *fParag, *lParag;
QTextPreProcessor *pProcessor;
QMap<int, QColor> selectionColors;
QMap<int, QTextDocumentSelection> selections;
QMap<int, bool> selectionText;
QTextCommandHistory *commandHistory;
QTextFormatter *pFormatter;
QTextIndent *indenter;
QTextFormatCollection *fCollection;
Qt::TextFormat txtFormat;
uint preferRichText : 1;
uint pages : 1;
uint useFC : 1;
uint withoutDoubleBuffer : 1;
uint underlLinks : 1;
uint nextDoubleBuffered : 1;
uint oTextValid : 1;
uint mightHaveCustomItems : 1;
int align;
int nSelections;
QTextFlow *flow_;
QTextDocument *par;
QTextParagraph *parentPar;
#ifndef QT_NO_TEXTCUSTOMITEM
QTextTableCell *tc;
#endif
QBrush *backBrush;
QPixmap *buf_pixmap;
Focus focusIndicator;
int minw;
int wused;
int leftmargin;
int rightmargin;
QTextParagraph *minwParag, *curParag;
QStyleSheet* sheet_;
#ifndef QT_NO_MIME
QMimeSourceFactory* factory_;
#endif
QString contxt;
QMap<QString, QString> attribs;
int *tArray;
int tStopWidth;
int uDepth;
QString oText;
QPtrList<QTextDocument> childList;
QColor linkColor;
double scaleFontsFactor;
short list_tm,list_bm, list_lm, li_tm, li_bm, par_tm, par_bm;
#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
QTextDocument( const QTextDocument & );
QTextDocument &operator=( const QTextDocument & );
#endif
};
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class Q_EXPORT QTextDeleteCommand : public QTextCommand
{
public:
QTextDeleteCommand( QTextDocument *d, int i, int idx, const QMemArray<QTextStringChar> &str,
const QByteArray& oldStyle );
QTextDeleteCommand( QTextParagraph *p, int idx, const QMemArray<QTextStringChar> &str );
virtual ~QTextDeleteCommand();
Commands type() const { return Delete; }
QTextCursor *execute( QTextCursor *c );
QTextCursor *unexecute( QTextCursor *c );
protected:
int id, index;
QTextParagraph *parag;
QMemArray<QTextStringChar> text;
QByteArray styleInformation;
};
class Q_EXPORT QTextInsertCommand : public QTextDeleteCommand
{
public:
QTextInsertCommand( QTextDocument *d, int i, int idx, const QMemArray<QTextStringChar> &str,
const QByteArray& oldStyleInfo )
: QTextDeleteCommand( d, i, idx, str, oldStyleInfo ) {}
QTextInsertCommand( QTextParagraph *p, int idx, const QMemArray<QTextStringChar> &str )
: QTextDeleteCommand( p, idx, str ) {}
virtual ~QTextInsertCommand() {}
Commands type() const { return Insert; }
QTextCursor *execute( QTextCursor *c ) { return QTextDeleteCommand::unexecute( c ); }
QTextCursor *unexecute( QTextCursor *c ) { return QTextDeleteCommand::execute( c ); }
};
class Q_EXPORT QTextFormatCommand : public QTextCommand
{
public:
QTextFormatCommand( QTextDocument *d, int sid, int sidx, int eid, int eidx, const QMemArray<QTextStringChar> &old, QTextFormat *f, int fl );
virtual ~QTextFormatCommand();
Commands type() const { return Format; }
QTextCursor *execute( QTextCursor *c );
QTextCursor *unexecute( QTextCursor *c );
protected:
int startId, startIndex, endId, endIndex;
QTextFormat *format;
QMemArray<QTextStringChar> oldFormats;
int flags;
};
class Q_EXPORT QTextStyleCommand : public QTextCommand
{
public:
QTextStyleCommand( QTextDocument *d, int fParag, int lParag, const QByteArray& beforeChange );
virtual ~QTextStyleCommand() {}
Commands type() const { return Style; }
QTextCursor *execute( QTextCursor *c );
QTextCursor *unexecute( QTextCursor *c );
static QByteArray readStyleInformation( QTextDocument* d, int fParag, int lParag );
static void writeStyleInformation( QTextDocument* d, int fParag, const QByteArray& style );
private:
int firstParag, lastParag;
QByteArray before;
QByteArray after;
};
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
struct Q_EXPORT QTextParagraphSelection
{
int start, end;
+ Q_DUMMY_COMPARISON_OPERATOR(QTextParagraphSelection)
};
struct Q_EXPORT QTextLineStart
{
QTextLineStart() : y( 0 ), baseLine( 0 ), h( 0 )
#ifndef QT_NO_COMPLEXTEXT
, bidicontext( 0 )
#endif
{ }
QTextLineStart( ushort y_, ushort bl, ushort h_ ) : y( y_ ), baseLine( bl ), h( h_ ),
w( 0 )
#ifndef QT_NO_COMPLEXTEXT
, bidicontext( 0 )
#endif
{ }
#ifndef QT_NO_COMPLEXTEXT
QTextLineStart( QBidiContext *c, QBidiStatus s ) : y(0), baseLine(0), h(0),
status( s ), bidicontext( c ) { if ( bidicontext ) bidicontext->ref(); }
#endif
virtual ~QTextLineStart()
{
#ifndef QT_NO_COMPLEXTEXT
if ( bidicontext && bidicontext->deref() )
delete bidicontext;
#endif
}
#ifndef QT_NO_COMPLEXTEXT
void setContext( QBidiContext *c ) {
if ( c == bidicontext )
return;
if ( bidicontext && bidicontext->deref() )
delete bidicontext;
bidicontext = c;
if ( bidicontext )
bidicontext->ref();
}
QBidiContext *context() const { return bidicontext; }
#endif
public:
ushort y, baseLine, h;
#ifndef QT_NO_COMPLEXTEXT
QBidiStatus status;
#endif
int w;
private:
#ifndef QT_NO_COMPLEXTEXT
QBidiContext *bidicontext;
#endif
};
#if defined(Q_TEMPLATEDLL)
// MOC_SKIP_BEGIN
Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<int, QTextParagraphSelection>;
Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<int, QTextLineStart*>;
// MOC_SKIP_END
#endif
class Q_EXPORT QTextParagraphData
{
public:
QTextParagraphData() {}
virtual ~QTextParagraphData();
virtual void join( QTextParagraphData * );
};
-class Q_EXPORT QTextParagraphPseudoDocument
-{
-public:
- QTextParagraphPseudoDocument();
- ~QTextParagraphPseudoDocument();
- QRect docRect;
- QTextFormatter *pFormatter;
- QTextCommandHistory *commandHistory;
- int minw;
- int wused;
-};
+class QTextParagraphPseudoDocument;
+
+class QSyntaxHighlighter;
-//nase
class Q_EXPORT QTextParagraph
{
friend class QTextDocument;
friend class QTextCursor;
+ friend class QSyntaxHighlighter;
public:
QTextParagraph( QTextDocument *d, QTextParagraph *pr = 0, QTextParagraph *nx = 0, bool updateIds = TRUE );
virtual ~QTextParagraph();
QTextString *string() const;
QTextStringChar *at( int i ) const; // maybe remove later
int leftGap() const;
int length() const; // maybe remove later
void setListStyle( QStyleSheetItem::ListStyle ls ) { lstyle = ls; changed = TRUE; }
QStyleSheetItem::ListStyle listStyle() const { return lstyle; }
void setListItem( bool li );
bool isListItem() const { return litem; }
void setListValue( int v ) { list_val = v; }
int listValue() const { return list_val > 0 ? list_val : -1; }
void setListDepth( int depth );
int listDepth() const { return ldepth; }
// void setFormat( QTextFormat *fm );
// QTextFormat *paragFormat() const;
+#if defined(Q_STRICT_INLINING_RULES)
+ // This is for the IRIX MIPSpro o32 ABI - it fails, claiming the
+ // implementation to be a redefinition.
+ inline QTextDocument *document() const;
+#else
QTextDocument *document() const;
+#endif
QTextParagraphPseudoDocument *pseudoDocument() const;
QRect rect() const;
void setHeight( int h ) { r.setHeight( h ); }
void show();
void hide();
bool isVisible() const { return visible; }
QTextParagraph *prev() const;
QTextParagraph *next() const;
void setPrev( QTextParagraph *s );
void setNext( QTextParagraph *s );
void insert( int index, const QString &s );
void insert( int index, const QChar *unicode, int len );
void append( const QString &s, bool reallyAtEnd = FALSE );
void truncate( int index );
void remove( int index, int len );
void join( QTextParagraph *s );
void invalidate( int chr );
void move( int &dy );
void format( int start = -1, bool doMove = TRUE );
bool isValid() const;
bool hasChanged() const;
void setChanged( bool b, bool recursive = FALSE );
int lineHeightOfChar( int i, int *bl = 0, int *y = 0 ) const;
QTextStringChar *lineStartOfChar( int i, int *index = 0, int *line = 0 ) const;
int lines() const;
QTextStringChar *lineStartOfLine( int line, int *index = 0 ) const;
int lineY( int l ) const;
int lineBaseLine( int l ) const;
int lineHeight( int l ) const;
void lineInfo( int l, int &y, int &h, int &bl ) const;
void setSelection( int id, int start, int end );
void removeSelection( int id );
int selectionStart( int id ) const;
int selectionEnd( int id ) const;
bool hasSelection( int id ) const;
bool hasAnySelection() const;
bool fullSelected( int id ) const;
void setEndState( int s );
int endState() const;
void setParagId( int i );
int paragId() const;
bool firstPreProcess() const;
void setFirstPreProcess( bool b );
void indent( int *oldIndent = 0, int *newIndent = 0 );
void setExtraData( QTextParagraphData *data );
QTextParagraphData *extraData() const;
QMap<int, QTextLineStart*> &lineStartList();
void setFormat( int index, int len, QTextFormat *f, bool useCollection = TRUE, int flags = -1 );
void setAlignment( int a );
int alignment() const;
virtual void paint( QPainter &painter, const QColorGroup &cg, QTextCursor *cursor = 0, bool drawSelections = FALSE,
int clipx = -1, int clipy = -1, int clipw = -1, int cliph = -1 );
virtual int topMargin() const;
virtual int bottomMargin() const;
virtual int leftMargin() const;
virtual int firstLineMargin() const;
virtual int rightMargin() const;
virtual int lineSpacing() const;
#ifndef QT_NO_TEXTCUSTOMITEM
void registerFloatingItem( QTextCustomItem *i );
void unregisterFloatingItem( QTextCustomItem *i );
#endif
void setFullWidth( bool b ) { fullWidth = b; }
bool isFullWidth() const { return fullWidth; }
#ifndef QT_NO_TEXTCUSTOMITEM
QTextTableCell *tableCell() const;
#endif
QBrush *background() const;
int documentWidth() const;
int documentVisibleWidth() const;
int documentX() const;
int documentY() const;
QTextFormatCollection *formatCollection() const;
QTextFormatter *formatter() const;
virtual int nextTab( int i, int x );
int *tabArray() const;
void setTabArray( int *a );
void setTabStops( int tw );
void adjustToPainter( QPainter *p );
void setNewLinesAllowed( bool b );
bool isNewLinesAllowed() const;
QString richText() const;
void addCommand( QTextCommand *cmd );
QTextCursor *undo( QTextCursor *c = 0 );
QTextCursor *redo( QTextCursor *c = 0 );
QTextCommandHistory *commands() const;
virtual void copyParagData( QTextParagraph *parag );
void setBreakable( bool b ) { breakable = b; }
bool isBreakable() const { return breakable; }
void setBackgroundColor( const QColor &c );
QColor *backgroundColor() const { return bgcol; }
void clearBackgroundColor();
void setMovedDown( bool b ) { movedDown = b; }
bool wasMovedDown() const { return movedDown; }
void setDirection( QChar::Direction d );
QChar::Direction direction() const;
void setPaintDevice( QPaintDevice *pd ) { paintdevice = pd; }
void readStyleInformation( QDataStream& stream );
void writeStyleInformation( QDataStream& stream ) const;
protected:
virtual void setColorForSelection( QColor &c, QPainter &p, const QColorGroup& cg, int selection );
virtual void drawLabel( QPainter* p, int x, int y, int w, int h, int base, const QColorGroup& cg );
virtual void drawString( QPainter &painter, const QString &str, int start, int len, int xstart,
int y, int baseLine, int w, int h, int selection,
QTextStringChar *formatChar, const QColorGroup& cg,
bool rightToLeft );
private:
QMap<int, QTextParagraphSelection> &selections() const;
#ifndef QT_NO_TEXTCUSTOMITEM
QPtrList<QTextCustomItem> &floatingItems() const;
#endif
QBrush backgroundBrush( const QColorGroup&cg ) { if ( bgcol ) return *bgcol; return cg.brush( QColorGroup::Base ); }
void invalidateStyleCache();
QMap<int, QTextLineStart*> lineStarts;
int invalid;
QRect r;
QTextParagraph *p, *n;
void *docOrPseudo;
uint changed : 1;
uint firstFormat : 1;
uint firstPProcess : 1;
uint needPreProcess : 1;
uint fullWidth : 1;
uint lastInFrame : 1;
uint visible : 1;
uint breakable : 1;
uint movedDown : 1;
uint mightHaveCustomItems : 1;
uint hasdoc : 1;
uint litem : 1; // whether the paragraph is a list item
uint rtext : 1; // whether the paragraph needs rich text margin
int align : 4;
int state, id;
QTextString *str;
QMap<int, QTextParagraphSelection> *mSelections;
#ifndef QT_NO_TEXTCUSTOMITEM
QPtrList<QTextCustomItem> *mFloatingItems;
#endif
QStyleSheetItem::ListStyle lstyle;
short utm, ubm, ulm, urm, uflm, ulinespacing;
int *tArray;
short tabStopWidth;
QTextParagraphData *eData;
short list_val;
QColor *bgcol;
ushort ldepth;
QPaintDevice *paintdevice;
};
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class Q_EXPORT QTextFormatter
{
public:
QTextFormatter();
virtual ~QTextFormatter();
virtual int format( QTextDocument *doc, QTextParagraph *parag, int start, const QMap<int, QTextLineStart*> &oldLineStarts ) = 0;
virtual int formatVertically( QTextDocument* doc, QTextParagraph* parag );
bool isWrapEnabled( QTextParagraph *p ) const { if ( !wrapEnabled ) return FALSE; if ( p && !p->isBreakable() ) return FALSE; return TRUE;}
int wrapAtColumn() const { return wrapColumn;}
virtual void setWrapEnabled( bool b );
virtual void setWrapAtColumn( int c );
virtual void setAllowBreakInWords( bool b ) { biw = b; }
bool allowBreakInWords() const { return biw; }
int minimumWidth() const { return thisminw; }
int widthUsed() const { return thiswused; }
static bool isBreakable( QTextString *string, int pos );
protected:
virtual QTextLineStart *formatLine( QTextParagraph *parag, QTextString *string, QTextLineStart *line, QTextStringChar *start,
QTextStringChar *last, int align = Qt::AlignAuto, int space = 0 );
#ifndef QT_NO_COMPLEXTEXT
virtual QTextLineStart *bidiReorderLine( QTextParagraph *parag, QTextString *string, QTextLineStart *line, QTextStringChar *start,
QTextStringChar *last, int align, int space );
#endif
void insertLineStart( QTextParagraph *parag, int index, QTextLineStart *ls );
int thisminw;
int thiswused;
private:
bool wrapEnabled;
int wrapColumn;
bool biw;
#ifdef HAVE_THAI_BREAKS
static QCString *thaiCache;
static QTextString *cachedString;
static ThBreakIterator *thaiIt;
#endif
};
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class Q_EXPORT QTextFormatterBreakInWords : public QTextFormatter
{
public:
QTextFormatterBreakInWords();
virtual ~QTextFormatterBreakInWords() {}
int format( QTextDocument *doc, QTextParagraph *parag, int start, const QMap<int, QTextLineStart*> &oldLineStarts );
};
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class Q_EXPORT QTextFormatterBreakWords : public QTextFormatter
{
public:
QTextFormatterBreakWords();
virtual ~QTextFormatterBreakWords() {}
int format( QTextDocument *doc, QTextParagraph *parag, int start, const QMap<int, QTextLineStart*> &oldLineStarts );
};
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class Q_EXPORT QTextIndent
{
public:
QTextIndent();
virtual ~QTextIndent() {}
virtual void indent( QTextDocument *doc, QTextParagraph *parag, int *oldIndent = 0, int *newIndent = 0 ) = 0;
};
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class Q_EXPORT QTextPreProcessor
{
public:
enum Ids {
Standard = 0
};
QTextPreProcessor();
virtual ~QTextPreProcessor() {}
virtual void process( QTextDocument *doc, QTextParagraph *, int, bool = TRUE ) = 0;
virtual QTextFormat *format( int id ) = 0;
};
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class Q_EXPORT QTextFormat
{
friend class QTextFormatCollection;
friend class QTextDocument;
public:
enum Flags {
NoFlags,
Bold = 1,
Italic = 2,
Underline = 4,
Family = 8,
Size = 16,
Color = 32,
Misspelled = 64,
VAlign = 128,
StrikeOut= 256,
Font = Bold | Italic | Underline | Family | Size | StrikeOut,
Format = Font | Color | Misspelled | VAlign
};
enum VerticalAlignment { AlignNormal, AlignSuperScript, AlignSubScript };
QTextFormat();
virtual ~QTextFormat();
QTextFormat( const QStyleSheetItem *s );
QTextFormat( const QFont &f, const QColor &c, QTextFormatCollection *parent = 0 );
QTextFormat( const QTextFormat &fm );
QTextFormat makeTextFormat( const QStyleSheetItem *style, const QMap<QString,QString>& attr, double scaleFontsFactor ) const;
QTextFormat& operator=( const QTextFormat &fm );
QColor color() const;
QFont font() const;
bool isMisspelled() const;
VerticalAlignment vAlign() const;
int minLeftBearing() const;
int minRightBearing() const;
int width( const QChar &c ) const;
int width( const QString &str, int pos ) const;
int height() const;
int ascent() const;
int descent() const;
int leading() const;
bool useLinkColor() const;
void setBold( bool b );
void setItalic( bool b );
void setUnderline( bool b );
void setStrikeOut( bool b );
void setFamily( const QString &f );
void setPointSize( int s );
void setFont( const QFont &f );
void setColor( const QColor &c );
void setMisspelled( bool b );
void setVAlign( VerticalAlignment a );
bool operator==( const QTextFormat &f ) const;
QTextFormatCollection *parent() const;
const QString &key() const;
static QString getKey( const QFont &f, const QColor &c, bool misspelled, VerticalAlignment vAlign );
void addRef();
void removeRef();
QString makeFormatChangeTags( QTextFormat* defaultFormat, QTextFormat *f, const QString& oldAnchorHref, const QString& anchorHref ) const;
QString makeFormatEndTags( QTextFormat* defaultFormat, const QString& anchorHref ) const;
static void setPainter( QPainter *p );
static QPainter* painter();
bool fontSizesInPixels() { return usePixelSizes; }
protected:
virtual void generateKey();
private:
void update();
static void applyFont( const QFont &f );
private:
QFont fn;
QColor col;
QFontMetrics fm;
uint missp : 1;
uint linkColor : 1;
uint usePixelSizes : 1;
int leftBearing, rightBearing;
VerticalAlignment ha;
uchar widths[ 256 ];
int hei, asc, dsc;
QTextFormatCollection *collection;
int ref;
QString k;
int logicalFontSize;
int stdSize;
static QPainter *pntr;
static QFontMetrics *pntr_fm;
static int pntr_asc;
static int pntr_hei;
static int pntr_ldg;
static int pntr_dsc;
};
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#if defined(Q_TEMPLATEDLL)
// MOC_SKIP_BEGIN
Q_TEMPLATE_EXTERN template class Q_EXPORT QDict<QTextFormat>;
// MOC_SKIP_END
#endif
class Q_EXPORT QTextFormatCollection
{
friend class QTextDocument;
friend class QTextFormat;
public:
QTextFormatCollection();
virtual ~QTextFormatCollection();
void setDefaultFormat( QTextFormat *f );
QTextFormat *defaultFormat() const;
virtual QTextFormat *format( QTextFormat *f );
virtual QTextFormat *format( QTextFormat *of, QTextFormat *nf, int flags );
virtual QTextFormat *format( const QFont &f, const QColor &c );
virtual void remove( QTextFormat *f );
virtual QTextFormat *createFormat( const QTextFormat &f ) { return new QTextFormat( f ); }
virtual QTextFormat *createFormat( const QFont &f, const QColor &c ) { return new QTextFormat( f, c, this ); }
void updateDefaultFormat( const QFont &font, const QColor &c, QStyleSheet *sheet );
- QDict<QTextFormat> dict() const { return cKey; }
QPaintDevice *paintDevice() const { return paintdevice; }
void setPaintDevice( QPaintDevice * );
private:
void updateKeys();
private:
QTextFormat *defFormat, *lastFormat, *cachedFormat;
QDict<QTextFormat> cKey;
QTextFormat *cres;
QFont cfont;
QColor ccol;
QString kof, knf;
int cflags;
QPaintDevice *paintdevice;
};
+class Q_EXPORT QTextParagraphPseudoDocument
+{
+public:
+ QTextParagraphPseudoDocument();
+ ~QTextParagraphPseudoDocument();
+ QRect docRect;
+ QTextFormatter *pFormatter;
+ QTextCommandHistory *commandHistory;
+ int minw;
+ int wused;
+ QTextFormatCollection collection;
+};
+
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
inline int QTextString::length() const
{
return data.size();
}
inline int QTextParagraph::length() const
{
return str->length();
}
inline QRect QTextParagraph::rect() const
{
return r;
}
inline QTextParagraph *QTextCursor::paragraph() const
{
return para;
}
inline int QTextCursor::index() const
{
return idx;
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
inline int QTextDocument::x() const
{
return cx;
}
inline int QTextDocument::y() const
{
return cy;
}
inline int QTextDocument::width() const
{
return QMAX( cw, flow_->width() );
}
inline int QTextDocument::visibleWidth() const
{
return vw;
}
inline QTextParagraph *QTextDocument::firstParagraph() const
{
return fParag;
}
inline QTextParagraph *QTextDocument::lastParagraph() const
{
return lParag;
}
inline void QTextDocument::setFirstParagraph( QTextParagraph *p )
{
fParag = p;
}
inline void QTextDocument::setLastParagraph( QTextParagraph *p )
{
lParag = p;
}
inline void QTextDocument::setWidth( int w )
{
cw = QMAX( w, minw );
flow_->setWidth( cw );
vw = w;
}
inline int QTextDocument::minimumWidth() const
{
return minw;
}
inline void QTextDocument::setY( int y )
{
cy = y;
}
inline int QTextDocument::leftMargin() const
{
return leftmargin;
}
inline void QTextDocument::setLeftMargin( int lm )
{
leftmargin = lm;
}
inline int QTextDocument::rightMargin() const
{
return rightmargin;
}
inline void QTextDocument::setRightMargin( int rm )
{
rightmargin = rm;
}
inline QTextPreProcessor *QTextDocument::preProcessor() const
{
return pProcessor;
}
inline void QTextDocument::setPreProcessor( QTextPreProcessor * sh )
{
pProcessor = sh;
}
inline void QTextDocument::setFormatter( QTextFormatter *f )
{
delete pFormatter;
pFormatter = f;
}
inline QTextFormatter *QTextDocument::formatter() const
{
return pFormatter;
}
inline void QTextDocument::setIndent( QTextIndent *i )
{
indenter = i;
}
inline QTextIndent *QTextDocument::indent() const
{
return indenter;
}
inline QColor QTextDocument::selectionColor( int id ) const
{
return selectionColors[ id ];
}
inline bool QTextDocument::invertSelectionText( int id ) const
{
return selectionText[ id ];
}
inline void QTextDocument::setSelectionColor( int id, const QColor &c )
{
selectionColors[ id ] = c;
}
inline void QTextDocument::setInvertSelectionText( int id, bool b )
{
selectionText[ id ] = b;
}
inline QTextFormatCollection *QTextDocument::formatCollection() const
{
return fCollection;
}
inline int QTextDocument::alignment() const
{
return align;
}
inline void QTextDocument::setAlignment( int a )
{
align = a;
}
inline int *QTextDocument::tabArray() const
{
return tArray;
}
inline int QTextDocument::tabStopWidth() const
{
return tStopWidth;
}
inline void QTextDocument::setTabArray( int *a )
{
tArray = a;
}
inline void QTextDocument::setTabStops( int tw )
{
tStopWidth = tw;
}
inline QString QTextDocument::originalText() const
{
if ( oTextValid )
return oText;
return text();
}
inline void QTextDocument::setFlow( QTextFlow *f )
{
if ( flow_ )
delete flow_;
flow_ = f;
}
inline void QTextDocument::takeFlow()
{
flow_ = 0;
}
+inline bool QTextDocument::useDoubleBuffer( QTextParagraph *parag, QPainter *p )
+{
+ return ( !parag->document()->parent() || parag->document()->nextDoubleBuffered ) &&
+ ( !p || !p->device() || p->device()->devType() != QInternal::Printer );
+}
+
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
inline QColor QTextFormat::color() const
{
return col;
}
inline QFont QTextFormat::font() const
{
return fn;
}
inline bool QTextFormat::isMisspelled() const
{
return missp;
}
inline QTextFormat::VerticalAlignment QTextFormat::vAlign() const
{
return ha;
}
inline bool QTextFormat::operator==( const QTextFormat &f ) const
{
return k == f.k;
}
inline QTextFormatCollection *QTextFormat::parent() const
{
return collection;
}
inline void QTextFormat::addRef()
{
ref++;
}
inline void QTextFormat::removeRef()
{
ref--;
if ( !collection )
return;
if ( this == collection->defFormat )
return;
if ( ref == 0 )
collection->remove( this );
}
inline const QString &QTextFormat::key() const
{
return k;
}
inline bool QTextFormat::useLinkColor() const
{
return linkColor;
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
inline QTextStringChar &QTextString::at( int i ) const
{
return data[ i ];
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
inline QTextStringChar *QTextParagraph::at( int i ) const
{
return &str->at( i );
}
inline bool QTextParagraph::isValid() const
{
return invalid == -1;
}
inline bool QTextParagraph::hasChanged() const
{
return changed;
}
inline void QTextParagraph::setBackgroundColor( const QColor & c )
{
delete bgcol;
bgcol = new QColor( c );
setChanged( TRUE );
}
inline void QTextParagraph::clearBackgroundColor()
{
delete bgcol; bgcol = 0; setChanged( TRUE );
}
inline void QTextParagraph::append( const QString &s, bool reallyAtEnd )
{
if ( reallyAtEnd )
insert( str->length(), s );
else
insert( QMAX( str->length() - 1, 0 ), s );
}
inline QTextParagraph *QTextParagraph::prev() const
{
return p;
}
inline QTextParagraph *QTextParagraph::next() const
{
return n;
}
inline bool QTextParagraph::hasAnySelection() const
{
return mSelections ? !selections().isEmpty() : FALSE;
}
inline void QTextParagraph::setEndState( int s )
{
if ( s == state )
return;
state = s;
}
inline int QTextParagraph::endState() const
{
return state;
}
inline void QTextParagraph::setParagId( int i )
{
id = i;
}
inline int QTextParagraph::paragId() const
{
if ( id == -1 )
qWarning( "invalid parag id!!!!!!!! (%p)", (void*)this );
return id;
}
inline bool QTextParagraph::firstPreProcess() const
{
return firstPProcess;
}
inline void QTextParagraph::setFirstPreProcess( bool b )
{
firstPProcess = b;
}
inline QMap<int, QTextLineStart*> &QTextParagraph::lineStartList()
{
return lineStarts;
}
inline QTextString *QTextParagraph::string() const
{
return str;
}
inline QTextDocument *QTextParagraph::document() const
{
if ( hasdoc )
return (QTextDocument*) docOrPseudo;
return 0;
}
inline QTextParagraphPseudoDocument *QTextParagraph::pseudoDocument() const
{
if ( hasdoc )
return 0;
return (QTextParagraphPseudoDocument*) docOrPseudo;
}
#ifndef QT_NO_TEXTCUSTOMITEM
inline QTextTableCell *QTextParagraph::tableCell() const
{
return hasdoc ? document()->tableCell () : 0;
}
#endif
inline QTextCommandHistory *QTextParagraph::commands() const
{
return hasdoc ? document()->commands() : pseudoDocument()->commandHistory;
}
inline int QTextParagraph::alignment() const
{
return align;
}
#ifndef QT_NO_TEXTCUSTOMITEM
inline void QTextParagraph::registerFloatingItem( QTextCustomItem *i )
{
floatingItems().append( i );
}
inline void QTextParagraph::unregisterFloatingItem( QTextCustomItem *i )
{
floatingItems().removeRef( i );
}
#endif
inline QBrush *QTextParagraph::background() const
{
#ifndef QT_NO_TEXTCUSTOMITEM
return tableCell() ? tableCell()->backGround() : 0;
#else
return 0;
#endif
}
inline int QTextParagraph::documentWidth() const
{
return hasdoc ? document()->width() : pseudoDocument()->docRect.width();
}
inline int QTextParagraph::documentVisibleWidth() const
{
return hasdoc ? document()->visibleWidth() : pseudoDocument()->docRect.width();
}
inline int QTextParagraph::documentX() const
{
return hasdoc ? document()->x() : pseudoDocument()->docRect.x();
}
inline int QTextParagraph::documentY() const
{
return hasdoc ? document()->y() : pseudoDocument()->docRect.y();
}
inline void QTextParagraph::setExtraData( QTextParagraphData *data )
{
eData = data;
}
inline QTextParagraphData *QTextParagraph::extraData() const
{
return eData;
}
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
inline void QTextFormatCollection::setDefaultFormat( QTextFormat *f )
{
defFormat = f;
}
inline QTextFormat *QTextFormatCollection::defaultFormat() const
{
return defFormat;
}
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
inline QTextFormat *QTextStringChar::format() const
{
return (type == Regular) ? d.format : d.custom->format;
}
#ifndef QT_NO_TEXTCUSTOMITEM
inline QTextCustomItem *QTextStringChar::customItem() const
{
return isCustom() ? d.custom->custom : 0;
}
#endif
inline int QTextStringChar::height() const
{
#ifndef QT_NO_TEXTCUSTOMITEM
return !isCustom() ? format()->height() : ( customItem()->placement() == QTextCustomItem::PlaceInline ? customItem()->height : 0 );
#else
return format()->height();
#endif
}
inline int QTextStringChar::ascent() const
{
#ifndef QT_NO_TEXTCUSTOMITEM
return !isCustom() ? format()->ascent() : ( customItem()->placement() == QTextCustomItem::PlaceInline ? customItem()->ascent() : 0 );
#else
return format()->ascent();
#endif
}
inline int QTextStringChar::descent() const
{
#ifndef QT_NO_TEXTCUSTOMITEM
return !isCustom() ? format()->descent() : 0;
#else
return format()->descent();
#endif
}
#endif //QT_NO_RICHTEXT
#endif
diff --git a/qmake/include/private/qsettings_p.h b/qmake/include/private/qsettings_p.h
index 18d118b..095291c 100644
--- a/qmake/include/private/qsettings_p.h
+++ b/qmake/include/private/qsettings_p.h
@@ -1,133 +1,133 @@
/****************************************************************************
** $Id$
**
** Definition of QSettings related classes
**
** Copyright (C) 1992-2002 Trolltech AS. All rights reserved.
**
** This file is part of the tools module of the Qt GUI Toolkit.
**
** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
** licenses for Windows may use this file in accordance with the Qt Commercial
** License Agreement provided with the Software.
**
** This file is not available for use under any other license without
** express written permission from the copyright holder.
**
** 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.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#ifndef QSETTINGS_P_H
#define QSETTINGS_P_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of QSettings. This header file may change from version to
// version without notice, or even be removed.
//
// We mean it.
//
//
#ifndef QT_H
#include "qstringlist.h"
#include "qmap.h"
#include "qvaluestack.h"
#endif // QT_H
class QSettingsSysPrivate;
// QSettingsGroup is a map of key/value pairs
class QSettingsGroup : public QMap<QString,QString>
{
public:
QSettingsGroup();
bool modified;
};
// QSettingsHeading is a map of heading/group pairs
class QSettingsHeading : public QMap<QString,QSettingsGroup>
{
public:
QSettingsHeading::Iterator git;
void read(const QString &);
void parseLine(QTextStream &);
};
class QSettingsPrivate
{
public:
QSettingsPrivate( QSettings::Format format );
~QSettingsPrivate();
QSettingsGroup readGroup();
void removeGroup(const QString &);
void writeGroup(const QString &, const QString &);
QDateTime modificationTime();
QStringList searchPaths;
QMap<QString,QSettingsHeading> headings;
QString group;
QString heading;
/*### static data brings threading trouble
static QString *defProduct;
static QString *defDomain;
*/
QValueStack<QString> groupStack;
QString groupPrefix;
bool groupDirty :1;
bool modified :1;
bool globalScope :1;
-#if defined(Q_WS_WIN) || defined(Q_OS_MAC)
+#if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC))
// system dependent implementations to use the
// system specific setting database (ie. registry on Windows)
QSettingsSysPrivate *sysd;
void sysInit();
void sysClear();
#if !defined(Q_NO_BOOL_TYPE)
bool sysWriteEntry( const QString &, bool );
#endif
bool sysWriteEntry( const QString &, double );
bool sysWriteEntry( const QString &, int );
bool sysWriteEntry( const QString &, const QString & );
bool sysWriteEntry( const QString &, const QStringList & );
bool sysWriteEntry( const QString &, const QStringList &, const QChar& sep );
QStringList sysEntryList(const QString &) const;
QStringList sysSubkeyList(const QString &) const;
QStringList sysReadListEntry( const QString &, bool * = 0 ) const;
QStringList sysReadListEntry( const QString &, const QChar& sep, bool * = 0 ) const;
QString sysReadEntry( const QString &, const QString &def = QString::null, bool * = 0 ) const;
int sysReadNumEntry( const QString &, int def = 0, bool * = 0 ) const;
double sysReadDoubleEntry( const QString &, double def = 0, bool * = 0 ) const;
bool sysReadBoolEntry( const QString &, bool def = 0, bool * = 0 ) const;
bool sysRemoveEntry( const QString & );
bool sysSync();
void sysInsertSearchPath( QSettings::System, const QString & );
void sysRemoveSearchPath( QSettings::System, const QString & );
#endif
};
#endif // QSETTINGS_P_H
diff --git a/qmake/include/private/qsharedmemory_p.h b/qmake/include/private/qsharedmemory_p.h
index 4a8339d..927de89 100644
--- a/qmake/include/private/qsharedmemory_p.h
+++ b/qmake/include/private/qsharedmemory_p.h
@@ -1,84 +1,87 @@
/****************************************************************************
** $Id$
**
** Includes system files for shared memory
**
** Created : 020124
**
-** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
+** Copyright (C) 2002 Trolltech AS. All rights reserved.
**
** This file is part of the kernel module of the Qt GUI Toolkit.
**
** 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 for Qt/Embedded may use this file in accordance with the
** Qt Embedded 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/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
+#ifndef QSHAREDMEMORY_P_H
+#define QSHAREDMEMORY_P_H
+
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of qapplication_qws.cpp and qgfxvnc_qws.cpp. This header file may
// change from version to version without notice, or even be removed.
//
+// We mean it.
+//
//
-
-#if !defined(QT_QSHM_H)
-#define QT_QSHM_H
#include <qstring.h>
#if !defined (QT_QWS_NO_SHM)
#include <sys/types.h>
#include <sys/ipc.h>
class QSharedMemory {
public:
QSharedMemory(){};
QSharedMemory(int, QString, char c = 'Q');
~QSharedMemory(){};
bool create();
void destroy();
bool attach();
void detach();
void setPermissions(mode_t mode);
int size();
void * base() { return shmBase; };
private:
void *shmBase;
int shmSize;
QString shmFile;
char character;
#if defined(QT_POSIX_QSHM)
int shmFD;
#else
int shmId;
key_t key;
int idInitted;
#endif
};
#endif
+
#endif
diff --git a/qmake/include/private/qsqldriverinterface_p.h b/qmake/include/private/qsqldriverinterface_p.h
index 8957b86..8a39ddf 100644
--- a/qmake/include/private/qsqldriverinterface_p.h
+++ b/qmake/include/private/qsqldriverinterface_p.h
@@ -1,69 +1,82 @@
/****************************************************************************
+** $Id$
**
** Definition of QSqlDriverInterface class
**
** Created : 2000-11-03
**
-** Copyright (C) 2000 Trolltech AS. All rights reserved.
+** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
**
** This file is part of the sql 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 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 QSQLDRIVERINTERFACE_H
#define QSQLDRIVERINTERFACE_H
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. This header file may
+// change from version to version without notice, or even be
+// removed.
+//
+// We mean it.
+//
+//
+
#ifndef QT_H
#include <private/qcom_p.h>
#endif // QT_H
#if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL )
#define QM_EXPORT_SQL
#else
#define QM_EXPORT_SQL Q_EXPORT
#endif
#ifndef QT_NO_SQL
#ifndef QT_NO_COMPONENT
// {EDDD5AD5-DF3C-400c-A711-163B72FE5F61}
#ifndef IID_QSqlDriverFactory
#define IID_QSqlDriverFactory QUuid(0xeddd5ad5, 0xdf3c, 0x400c, 0xa7, 0x11, 0x16, 0x3b, 0x72, 0xfe, 0x5f, 0x61)
#endif
class QSqlDriver;
struct QM_EXPORT_SQL QSqlDriverFactoryInterface : public QFeatureListInterface
{
virtual QSqlDriver* create( const QString& name ) = 0;
};
#endif //QT_NO_COMPONENT
#endif // QT_NO_SQL
-#endif // QSQLDRIVERINTERFACE_H
+#endif // QSQLDRIVERINTERFACE_P_H
diff --git a/qmake/include/private/qsqlextension_p.h b/qmake/include/private/qsqlextension_p.h
index 597b266..3445b47 100644
--- a/qmake/include/private/qsqlextension_p.h
+++ b/qmake/include/private/qsqlextension_p.h
@@ -1,101 +1,128 @@
/****************************************************************************
**
** Definition of the QSqlExtension class
**
** Created : 2002-06-03
**
** Copyright (C) 2002 Trolltech AS. All rights reserved.
**
** This file is part of the sql 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 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 QSQLEXTENSION_P_H
#define QSQLEXTENSION_P_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of other Qt classes. This header file may change from version to
// version without notice, or even be removed.
//
// We mean it.
//
//
#ifndef QT_H
#include "qmap.h"
+#include "qvaluevector.h"
#include "qstring.h"
#include "qvariant.h"
+#include "qsql.h"
#endif // QT_H
#ifndef QT_NO_SQL
#if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL )
#define QM_EXPORT_SQL
+#define QM_TEMPLATE_EXTERN_SQL
#else
#define QM_EXPORT_SQL Q_EXPORT
+#define QM_TEMPLATE_EXTERN_SQL Q_TEMPLATE_EXTERN
#endif
+struct Param {
+ Param( const QVariant& v = QVariant(), QSql::ParameterType t = QSql::In ): value( v ), typ( t ) {}
+ QVariant value;
+ QSql::ParameterType typ;
+ Q_DUMMY_COMPARISON_OPERATOR(Param)
+};
+
+struct Holder {
+ Holder( const QString& hldr = QString::null, int pos = -1 ): holderName( hldr ), holderPos( pos ) {}
+ bool operator==( const Holder& h ) const { return h.holderPos == holderPos && h.holderName == holderName; }
+ bool operator!=( const Holder& h ) const { return h.holderPos != holderPos || h.holderName != holderName; }
+ QString holderName;
+ int holderPos;
+};
+
#if defined(Q_TEMPLATEDLL)
-Q_TEMPLATE_EXTERN template class QM_EXPORT_SQL QMap<QString,QVariant>;
-Q_TEMPLATE_EXTERN template class QM_EXPORT_SQL QMap<int,QString>;
+QM_TEMPLATE_EXTERN_SQL template class QM_EXPORT_SQL QMap<QString,Param>;
+QM_TEMPLATE_EXTERN_SQL template class QM_EXPORT_SQL QMap<int,QString>;
+QM_TEMPLATE_EXTERN_SQL template class QM_EXPORT_SQL QValueVector<Holder>;
#endif
class QM_EXPORT_SQL QSqlExtension {
public:
QSqlExtension();
virtual ~QSqlExtension();
virtual bool prepare( const QString& query );
virtual bool exec();
- virtual void bindValue( const QString& holder, const QVariant& value );
- virtual void bindValue( int pos, const QVariant& value );
- virtual void addBindValue( const QVariant& value );
+ virtual void bindValue( const QString& holder, const QVariant& value, QSql::ParameterType = QSql::In );
+ virtual void bindValue( int pos, const QVariant& value, QSql::ParameterType = QSql::In );
+ virtual void addBindValue( const QVariant& value, QSql::ParameterType = QSql::In );
+ virtual QVariant parameterValue( const QString& holder );
+ virtual QVariant parameterValue( int pos );
void clearValues();
void clearIndex();
enum BindMethod { BindByPosition, BindByName };
BindMethod bindMethod();
BindMethod bindm;
int bindCount;
QMap<int, QString> index;
- QMap<QString, QVariant> values;
+ typedef QMap<QString, Param> ValueMap;
+ ValueMap values;
+
+ // convenience container for QSqlQuery
+ // to map holders <-> positions
+ typedef QValueVector<Holder> HolderVector;
+ HolderVector holders;
};
class QM_EXPORT_SQL QSqlDriverExtension
{
public:
QSqlDriverExtension();
virtual ~QSqlDriverExtension();
virtual bool isOpen() const = 0;
};
-
#endif
#endif
diff --git a/qmake/include/private/qstyleinterface_p.h b/qmake/include/private/qstyleinterface_p.h
index 4aaedc7..24a43ad 100644
--- a/qmake/include/private/qstyleinterface_p.h
+++ b/qmake/include/private/qstyleinterface_p.h
@@ -1,61 +1,73 @@
/****************************************************************************
** $Id$
**
** ...
**
** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
**
** This file is part of the widgets 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 QSTYLEINTERFACE_H
-#define QSTYLEINTERFACE_H
+#ifndef QSTYLEINTERFACE_P_H
+#define QSTYLEINTERFACE_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. This header file may
+// change from version to version without notice, or even be
+// removed.
+//
+// We mean it.
+//
+//
#ifndef QT_H
#include <private/qcom_p.h>
#endif // QT_H
#ifndef QT_NO_STYLE
#ifndef QT_NO_COMPONENT
class QStyle;
// {FC1B6EBE-053C-49c1-A483-C377739AB9A5}
#ifndef IID_QStyleFactory
#define IID_QStyleFactory QUuid(0xfc1b6ebe, 0x53c, 0x49c1, 0xa4, 0x83, 0xc3, 0x77, 0x73, 0x9a, 0xb9, 0xa5)
#endif
struct Q_EXPORT QStyleFactoryInterface : public QFeatureListInterface
{
virtual QStyle* create( const QString& style ) = 0;
};
#endif //QT_NO_COMPONENT
#endif //QT_NO_STYLE
-#endif //QSTYLEINTERFACE_H
+#endif //QSTYLEINTERFACE_P_H
diff --git a/qmake/include/private/qsvgdevice_p.h b/qmake/include/private/qsvgdevice_p.h
index c1cc389..3407705 100644
--- a/qmake/include/private/qsvgdevice_p.h
+++ b/qmake/include/private/qsvgdevice_p.h
@@ -1,134 +1,134 @@
/****************************************************************************
** $Id$
**
** Definition of the QSvgDevice class
**
-** Created : 20001024
+** Created : 001024
**
** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
**
** This file is part of the xml 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 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 QSVGDEVICE_H
-#define QSVGDEVICE_H
+#ifndef QSVGDEVICE_P_H
+#define QSVGDEVICE_P_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of the QPicture class. This header file may change from
// version to version without notice, or even be removed.
//
// We mean it.
//
//
#ifndef QT_H
#include "qpaintdevice.h"
#include "qrect.h"
#include "qdom.h"
#endif // QT_H
#if !defined(QT_MODULE_XML) || defined( QT_LICENSE_PROFESSIONAL ) || defined( QT_INTERNAL_XML )
#define QM_EXPORT_SVG
#else
#define QM_EXPORT_SVG Q_EXPORT
#endif
#ifndef QT_NO_SVG
class QPainter;
class QDomNode;
class QDomNamedNodeMap;
struct QSvgDeviceState;
class QSvgDevicePrivate;
class QM_EXPORT_SVG QSvgDevice : public QPaintDevice
{
public:
QSvgDevice();
~QSvgDevice();
bool play( QPainter *p );
QString toString() const;
bool load( QIODevice *dev );
bool save( QIODevice *dev );
bool save( const QString &fileName );
QRect boundingRect() const;
void setBoundingRect( const QRect &r );
protected:
virtual bool cmd ( int, QPainter*, QPDevCmdParam* );
virtual int metric( int ) const;
private:
// reading
bool play( const QDomNode &node );
void saveAttributes();
void restoreAttributes();
QColor parseColor( const QString &col );
double parseLen( const QString &str, bool *ok=0, bool horiz=TRUE ) const;
int lenToInt( const QDomNamedNodeMap &map, const QString &attr,
int def=0 ) const;
void setStyleProperty( const QString &prop, const QString &val,
QPen *pen, QFont *font, int *talign );
void setStyle( const QString &s );
void setTransform( const QString &tr );
void drawPath( const QString &data );
// writing
void applyStyle( QDomElement *e, int c ) const;
void applyTransform( QDomElement *e ) const;
// reading
QRect brect; // bounding rectangle
QDomDocument doc; // document tree
QDomNode current;
QPoint curPt;
QSvgDeviceState *curr;
QPainter *pt; // used by play() et al
// writing
bool dirtyTransform, dirtyStyle;
QSvgDevicePrivate *d;
};
inline QRect QSvgDevice::boundingRect() const
{
return brect;
}
#endif // QT_NO_SVG
-#endif // QSVGDEVICE_H
+#endif // QSVGDEVICE_P_H
diff --git a/qmake/include/private/qtextcodecinterface_p.h b/qmake/include/private/qtextcodecinterface_p.h
index d2a2cb9..76e77f7 100644
--- a/qmake/include/private/qtextcodecinterface_p.h
+++ b/qmake/include/private/qtextcodecinterface_p.h
@@ -1,79 +1,77 @@
/****************************************************************************
** $Id$
**
** Definition of QTextCodecFactoryInterface interface
**
** Copyright (C) 2001-2002 Trolltech AS. All rights reserved.
**
** This file is part of the tools 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 QTEXTCODECINTERFACE_P_H
#define QTEXTCODECINTERFACE_P_H
-
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of qpsprinter.cpp and qprinter_x11.cpp.
// This header file may change from version to version without notice,
// or even be removed.
//
// We mean it.
//
//
-
#ifndef QT_H
#include <private/qcom_p.h>
#endif // QT_H
#ifndef QT_NO_TEXTCODEC
#ifndef QT_NO_COMPONENT
class QTextCodec;
// {F55BFA60-F695-11D4-823E-009027DC0F37}
#ifndef IID_QTextCodecFactory
#define IID_QTextCodecFactory QUuid( 0xf55bfa60, 0xf695, 0x11d4, 0x82, 0x3e, 0x00, 0x90, 0x27, 0xdc, 0x0f, 0x37)
#endif
struct Q_EXPORT QTextCodecFactoryInterface : public QFeatureListInterface
{
virtual QTextCodec *createForMib( int mib ) = 0;
virtual QTextCodec *createForName( const QString &name ) = 0;
};
#endif // QT_NO_COMPONENT
#endif // QT_NO_TEXTCODEC
#endif // QTEXTCODECINTERFACE_P_H
diff --git a/qmake/include/private/qtitlebar_p.h b/qmake/include/private/qtitlebar_p.h
index dabb6bf..091845f 100644
--- a/qmake/include/private/qtitlebar_p.h
+++ b/qmake/include/private/qtitlebar_p.h
@@ -1,136 +1,136 @@
/****************************************************************************
** $Id$
**
** Definition of some Qt private functions.
**
-** Created : 2000-01-01
+** Created : 000101
**
** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
**
** This file is part of the widgets 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 QTITLEBAR_P_H
#define QTITLEBAR_P_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of qworkspace.cpp and qdockwindow.cpp. This header file may change
// from version to version without notice, or even be removed.
//
// We mean it.
//
//
#ifndef QT_H
#include "qbutton.h"
#include "qlabel.h"
#endif // QT_H
#if !defined(QT_NO_TITLEBAR)
class QToolTip;
class QTitleBarPrivate;
class QPixmap;
class Q_EXPORT QTitleBar : public QWidget
{
Q_OBJECT
Q_PROPERTY( bool autoRaise READ autoRaise WRITE setAutoRaise )
Q_PROPERTY( bool movable READ isMovable WRITE setMovable )
public:
QTitleBar (QWidget* w, QWidget* parent, const char* name=0);
~QTitleBar();
bool isActive() const;
bool usesActiveColor() const;
virtual QString visibleText() const;
bool isMovable() const;
void setMovable(bool);
bool autoRaise() const;
void setAutoRaise(bool);
QWidget *window() const;
QSize sizeHint() const;
#ifdef QT_NO_WIDGET_TOPEXTRA
// We provide one, since titlebar is useless otherwise.
QString caption() const;
#endif
public slots:
void setActive( bool );
void setCaption( const QString& title );
void setIcon( const QPixmap& icon );
signals:
void doActivate();
void doNormal();
void doClose();
void doMaximize();
void doMinimize();
void doShade();
void showOperationMenu();
void popupOperationMenu( const QPoint& );
void doubleClicked();
protected:
bool event( QEvent *);
void resizeEvent( QResizeEvent *);
void contextMenuEvent( QContextMenuEvent * );
void mousePressEvent( QMouseEvent * );
void mouseDoubleClickEvent( QMouseEvent * );
void mouseReleaseEvent( QMouseEvent * );
void mouseMoveEvent( QMouseEvent * );
void enterEvent( QEvent *e );
void leaveEvent( QEvent *e );
void paintEvent( QPaintEvent *p );
virtual void cutText();
private:
void readColors();
QTitleBarPrivate *d;
#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
QTitleBar( const QTitleBar & );
QTitleBar &operator=( const QTitleBar & );
#endif
};
#endif
#endif //QTITLEBAR_P_H
diff --git a/qmake/include/private/qucom_p.h b/qmake/include/private/qucom_p.h
index d2ff48e..6b6ad40 100644
--- a/qmake/include/private/qucom_p.h
+++ b/qmake/include/private/qucom_p.h
@@ -1,499 +1,463 @@
/****************************************************************************
** $Id$
**
** Definition of the QUcom interfaces
**
** Created : 990101
**
** Copyright (C) 1992-2002 Trolltech AS. All rights reserved.
**
** This file is part of the tools 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 QUCOM_H
-#define QUCOM_H
-
-#ifndef QT_H
-#include <qstring.h>
-#include "quuid.h"
-#endif // QT_H
+#ifndef QUCOM_P_H
+#define QUCOM_P_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of a number of Qt sources files. This header file may change from
// version to version without notice, or even be removed.
//
// We mean it.
//
//
+#ifndef QT_H
+#include <qstring.h>
+#include "quuid.h"
+#endif // QT_H
+
#ifdef check
#undef check
#endif
struct QUObject;
struct QUInterfaceDescription;
struct QUnknownInterface;
struct QDispatchInterface;
struct Q_EXPORT QUBuffer
{
virtual long read( char *data, ulong maxlen ) = 0;
virtual long write( const char *data, ulong len ) = 0;
};
// A type for a QUObject
struct Q_EXPORT QUType
{
virtual const QUuid *uuid() const = 0;
virtual const char *desc() const = 0;
virtual bool canConvertFrom( QUObject *, QUType * ) = 0;
// virtual private, only called by canConvertFrom
virtual bool canConvertTo( QUObject *, QUType * ) = 0;
virtual bool convertFrom( QUObject *, QUType * ) = 0;
// virtual private, only called by convertFrom
virtual bool convertTo( QUObject *, QUType * ) = 0;
virtual void clear( QUObject * ) = 0;
virtual int serializeTo( QUObject *, QUBuffer * ) = 0;
virtual int serializeFrom( QUObject *, QUBuffer * ) = 0;
static bool isEqual( const QUType *t1, const QUType *t2 );
static bool check( QUObject* o, QUType* t );
};
// {DE56510E-4E9F-4b76-A3C2-D1E2EF42F1AC}
extern Q_EXPORT const QUuid TID_QUType_Null;
struct Q_EXPORT QUType_Null : public QUType
{
const QUuid *uuid() const;
const char *desc() const;
bool canConvertFrom( QUObject *, QUType * );
bool canConvertTo( QUObject *, QUType * );
bool convertFrom( QUObject *, QUType * );
bool convertTo( QUObject *, QUType * );
void clear( QUObject * );
int serializeTo( QUObject *, QUBuffer * );
int serializeFrom( QUObject *, QUBuffer * );
};
extern Q_EXPORT QUType_Null static_QUType_Null;
// The magic QUObject
struct Q_EXPORT QUObject
{
public: // scary MSVC bug makes this necessary
QUObject() : type( &static_QUType_Null ) {}
~QUObject() { type->clear( this ); }
QUType *type;
// the unavoidable union
union
{
bool b;
-
+
char c;
short s;
int i;
long l;
-
+
unsigned char uc;
unsigned short us;
unsigned int ui;
unsigned long ul;
-
+
float f;
double d;
-
+
char byte[16];
-
+
struct {
char* data;
unsigned long size;
} bytearray;
-
+
void* ptr;
-
+
struct {
void *ptr;
bool owner;
} voidstar;
-
+
struct {
char *ptr;
bool owner;
} charstar;
struct {
char *ptr;
bool owner;
} utf8;
-
+
struct {
char *ptr;
bool owner;
} local8bit;
-
+
QUnknownInterface* iface;
QDispatchInterface* idisp;
-
+
} payload;
};
// A parameter description describes one method parameters. A
// parameter has a name, a type and a flag describing whether it's an
// in parameter, an out parameter, or both ways
struct Q_EXPORT QUParameter
{
const char* name;
QUType *type;
const void* typeExtra; //Usually 0, UEnum* for QUType_enum, const char* for QUType_ptr, int* for QUType_varptr
enum { In = 1, Out = 2, InOut = In | Out };
int inOut;
};
// A method description describes one method. A method has a name and
// an array of parameters.
struct Q_EXPORT QUMethod
{
const char* name;
int count;
const QUParameter* parameters;
};
// A Property description. Not used yet in the example.
struct Q_EXPORT QUProperty
{
const char* name;
QUType* type;
const void* typeExtra; //type dependend. Usually 0, but UEnum for QUTypeenum or const char* for QUTypeptr
int set; // -1 undefined
int get; // -1 undefined
int designable; // -1 FALSE, -2 TRUE, else method
int stored; // -1 FALSE, -2 TRUE, else method
};
// An interface description describes one interface, that is all its
// methods and properties.
struct Q_EXPORT QUInterfaceDescription
{
int methodCount;
const QUMethod* methods;
int propertyCount;
const QUProperty* properties;
};
// A component description describe one component, that is its name,
// vendor, release, info, its component uuid and all its interface
// uuids.
struct Q_EXPORT QUComponentDescription
{
const char* name;
const char* vendor;
const char* release;
const char* info;
QUuid cid;
int count;
const QUuid* interfaces;
};
// A component server description describe one component server, that
// is its name, vendor, release, info and the descriptions of all
// components it can instantiate.
struct Q_EXPORT QUComponentServerDescription
{
const char* name;
const char* vendor;
const char* release;
const char* info;
int count;
const QUComponentDescription* components;
};
struct Q_EXPORT QUEnumItem // - a name/value pair
{
const char *key;
int value;
};
struct Q_EXPORT QUEnum
-{
+{
const char *name; // - enumerator name
unsigned int count; // - number of values
const QUEnumItem *items; // - the name/value pairs
bool set; // whether enum has to be treated as a set
};
inline bool QUType::isEqual( const QUType *t1, const QUType *t2 ) {
return t1 == t2 || t1->uuid() == t2->uuid() ||
*(t1->uuid()) == *(t2->uuid());
}
inline bool QUType::check( QUObject* o, QUType* t ) {
return isEqual( o->type, t ) || t->convertFrom( o, o->type );
}
// {7EE17B08-5419-47e2-9776-8EEA112DCAEC}
extern Q_EXPORT const QUuid TID_QUType_enum;
struct Q_EXPORT QUType_enum : public QUType
{
const QUuid *uuid() const;
const char *desc() const;
void set( QUObject *, int );
int &get( QUObject * o ) { return o->payload.i; }
bool canConvertFrom( QUObject *, QUType * );
bool canConvertTo( QUObject *, QUType * );
bool convertFrom( QUObject *, QUType * );
bool convertTo( QUObject *, QUType * );
void clear( QUObject * ) {}
int serializeTo( QUObject *, QUBuffer * );
int serializeFrom( QUObject *, QUBuffer * );
};
extern Q_EXPORT QUType_enum static_QUType_enum;
// {8AC26448-5AB4-49eb-968C-8F30AB13D732}
extern Q_EXPORT const QUuid TID_QUType_ptr;
struct Q_EXPORT QUType_ptr : public QUType
{
const QUuid *uuid() const;
const char *desc() const;
void set( QUObject *, const void* );
void* &get( QUObject * o ) { return o->payload.ptr; }
bool canConvertFrom( QUObject *, QUType * );
bool canConvertTo( QUObject *, QUType * );
bool convertFrom( QUObject *, QUType * );
bool convertTo( QUObject *, QUType * );
void clear( QUObject * ) {}
int serializeTo( QUObject *, QUBuffer * );
int serializeFrom( QUObject *, QUBuffer * );
};
extern Q_EXPORT QUType_ptr static_QUType_ptr;
// {97A2594D-6496-4402-A11E-55AEF2D4D25C}
extern Q_EXPORT const QUuid TID_QUType_iface;
struct Q_EXPORT QUType_iface : public QUType
{
const QUuid *uuid() const;
const char *desc() const;
void set( QUObject *, QUnknownInterface* );
QUnknownInterface* &get( QUObject *o ){ return o->payload.iface; }
bool canConvertFrom( QUObject *, QUType * );
bool canConvertTo( QUObject *, QUType * );
bool convertFrom( QUObject *, QUType * );
bool convertTo( QUObject *, QUType * );
void clear( QUObject * ) {}
int serializeTo( QUObject *, QUBuffer * );
int serializeFrom( QUObject *, QUBuffer * );
};
extern Q_EXPORT QUType_iface static_QUType_iface;
// {2F358164-E28F-4bf4-9FA9-4E0CDCABA50B}
extern Q_EXPORT const QUuid TID_QUType_idisp;
struct Q_EXPORT QUType_idisp : public QUType
{
const QUuid *uuid() const;
const char *desc() const;
void set( QUObject *, QDispatchInterface* );
QDispatchInterface* &get( QUObject *o ){ return o->payload.idisp; }
bool canConvertFrom( QUObject *, QUType * );
bool canConvertTo( QUObject *, QUType * );
bool convertFrom( QUObject *, QUType * );
bool convertTo( QUObject *, QUType * );
void clear( QUObject * ) {}
int serializeTo( QUObject *, QUBuffer * );
int serializeFrom( QUObject *, QUBuffer * );
};
extern Q_EXPORT QUType_idisp static_QUType_idisp;
// {CA42115D-13D0-456c-82B5-FC10187F313E}
extern Q_EXPORT const QUuid TID_QUType_bool;
struct Q_EXPORT QUType_bool : public QUType
{
const QUuid *uuid() const;
const char *desc() const;
void set( QUObject *, bool );
bool &get( QUObject *o ) { return o->payload.b; }
bool canConvertFrom( QUObject *, QUType * );
bool canConvertTo( QUObject *, QUType * );
bool convertFrom( QUObject *, QUType * );
bool convertTo( QUObject *, QUType * );
void clear( QUObject * ) {}
int serializeTo( QUObject *, QUBuffer * );
int serializeFrom( QUObject *, QUBuffer * );
};
extern Q_EXPORT QUType_bool static_QUType_bool;
// {53C1F3BE-73C3-4c7d-9E05-CCF09EB676B5}
extern Q_EXPORT const QUuid TID_QUType_int;
struct Q_EXPORT QUType_int : public QUType
{
const QUuid *uuid() const;
const char *desc() const;
void set( QUObject *, int );
int &get( QUObject *o ) { return o->payload.i; }
bool canConvertFrom( QUObject *, QUType * );
bool canConvertTo( QUObject *, QUType * );
bool convertFrom( QUObject *, QUType * );
bool convertTo( QUObject *, QUType * );
void clear( QUObject * ) {}
int serializeTo( QUObject *, QUBuffer * );
int serializeFrom( QUObject *, QUBuffer * );
};
extern Q_EXPORT QUType_int static_QUType_int;
-// {5938712A-C496-11D5-8CB2-00C0F03BC0F3}
-extern Q_EXPORT const QUuid TID_QUType_uint;
-struct Q_EXPORT QUType_uint : public QUType
-{
- const QUuid *uuid() const;
- const char *desc() const;
-
- void set( QUObject *, uint );
- uint &get( QUObject *o ) { return o->payload.ui; }
- bool canConvertFrom( QUObject *, QUType * );
- bool canConvertTo( QUObject *, QUType * );
- bool convertFrom( QUObject *, QUType * );
- bool convertTo( QUObject *, QUType * );
- void clear( QUObject * ) {}
- int serializeTo( QUObject *, QUBuffer * );
- int serializeFrom( QUObject *, QUBuffer * );
-};
-extern Q_EXPORT QUType_uint static_QUType_uint;
// {2D0974E5-0BA6-4ec2-8837-C198972CB48C}
extern Q_EXPORT const QUuid TID_QUType_double;
struct Q_EXPORT QUType_double : public QUType
{
const QUuid *uuid() const;
const char *desc() const;
void set( QUObject *, double );
double &get( QUObject *o ) { return o->payload.d; }
bool canConvertFrom( QUObject *, QUType * );
bool canConvertTo( QUObject *, QUType * );
bool convertFrom( QUObject *, QUType * );
bool convertTo( QUObject *, QUType * );
void clear( QUObject * ) {}
int serializeTo( QUObject *, QUBuffer * );
int serializeFrom( QUObject *, QUBuffer * );
};
extern Q_EXPORT QUType_double static_QUType_double;
-// {544C5175-6993-4486-B04D-CEC4D21BF4B9 }
-extern Q_EXPORT const QUuid TID_QUType_float;
-struct Q_EXPORT QUType_float : public QUType
-{
- const QUuid *uuid() const;
- const char *desc() const;
-
- void set( QUObject *, float );
- float &get( QUObject *o ) { return o->payload.f; }
- bool canConvertFrom( QUObject *, QUType * );
- bool canConvertTo( QUObject *, QUType * );
- bool convertFrom( QUObject *, QUType * );
- bool convertTo( QUObject *, QUType * );
- void clear( QUObject * ) {}
- int serializeTo( QUObject *, QUBuffer * );
- int serializeFrom( QUObject *, QUBuffer * );
-};
-extern Q_EXPORT QUType_float static_QUType_float;
// {EFCDD1D4-77A3-4b8e-8D46-DC14B8D393E9}
extern Q_EXPORT const QUuid TID_QUType_charstar;
struct Q_EXPORT QUType_charstar : public QUType
{
const QUuid *uuid() const;
const char *desc() const;
void set( QUObject *, const char*, bool take = FALSE );
char* get( QUObject *o ){ return o->payload.charstar.ptr; }
bool canConvertFrom( QUObject *, QUType * );
bool canConvertTo( QUObject *, QUType * );
bool convertFrom( QUObject *, QUType * );
bool convertTo( QUObject *, QUType * );
void clear( QUObject * );
int serializeTo( QUObject *, QUBuffer * );
int serializeFrom( QUObject *, QUBuffer * );
};
extern Q_EXPORT QUType_charstar static_QUType_charstar;
// {44C2A547-01E7-4e56-8559-35AF9D2F42B7}
extern const QUuid TID_QUType_QString;
struct Q_EXPORT QUType_QString : public QUType
{
const QUuid *uuid() const;
const char *desc() const;
void set( QUObject *, const QString & );
QString &get( QUObject * o ) { return *(QString*)o->payload.ptr; }
bool canConvertFrom( QUObject *, QUType * );
bool canConvertTo( QUObject *, QUType * );
bool convertFrom( QUObject *, QUType * );
bool convertTo( QUObject *, QUType * );
void clear( QUObject * );
int serializeTo( QUObject *, QUBuffer * );
int serializeFrom( QUObject *, QUBuffer * );
};
extern Q_EXPORT QUType_QString static_QUType_QString;
-#endif // QUCOM_H
+#endif // QUCOM_P_H
diff --git a/qmake/include/private/qucomextra_p.h b/qmake/include/private/qucomextra_p.h
index 3de6104..fe39692 100644
--- a/qmake/include/private/qucomextra_p.h
+++ b/qmake/include/private/qucomextra_p.h
@@ -1,93 +1,105 @@
/****************************************************************************
** $Id$
**
** Definition of extra QUcom classes
**
** Created : 990101
**
** 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 QUCOMEXTRA_H
-#define QUCOMEXTRA_H
+#ifndef QUCOMEXTRA_P_H
+#define QUCOMEXTRA_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. This header file may
+// change from version to version without notice, or even be
+// removed.
+//
+// We mean it.
+//
+//
#ifndef QT_H
#include <private/qucom_p.h>
#endif // QT_H
class QVariant;
#ifndef QT_NO_VARIANT
// 6dc75d58-a1d9-4417-b591-d45c63a3a4ea
extern const QUuid TID_QUType_QVariant;
struct Q_EXPORT QUType_QVariant : public QUType
{
const QUuid *uuid() const;
const char *desc() const;
void set( QUObject *, const QVariant & );
QVariant &get( QUObject * o );
bool canConvertFrom( QUObject *, QUType * );
bool canConvertTo( QUObject *, QUType * );
bool convertFrom( QUObject *, QUType * );
bool convertTo( QUObject *, QUType * );
void clear( QUObject * );
int serializeTo( QUObject *, QUBuffer * );
int serializeFrom( QUObject *, QUBuffer * );
};
extern Q_EXPORT QUType_QVariant static_QUType_QVariant;
#endif //QT_NO_VARIANT
// {0x8d48b3a8, 0xbd7f, 0x11d5, 0x8d, 0x74, 0x00, 0xc0, 0xf0, 0x3b, 0xc0, 0xf3 }
extern Q_EXPORT const QUuid TID_QUType_varptr;
struct Q_EXPORT QUType_varptr : public QUType
{
const QUuid *uuid() const;
const char *desc() const;
void set( QUObject *, const void* );
void* &get( QUObject * o ) { return o->payload.ptr; }
bool canConvertFrom( QUObject *, QUType * );
bool canConvertTo( QUObject *, QUType * );
bool convertFrom( QUObject *, QUType * );
bool convertTo( QUObject *, QUType * );
void clear( QUObject * ) {}
int serializeTo( QUObject *, QUBuffer * );
int serializeFrom( QUObject *, QUBuffer * );
};
extern Q_EXPORT QUType_varptr static_QUType_varptr;
-#endif // QUCOMEXTRA_H
+#endif // QUCOMEXTRA_P_H
diff --git a/qmake/include/private/qwidgetinterface_p.h b/qmake/include/private/qwidgetinterface_p.h
index 5b5776b..78e9aad 100644
--- a/qmake/include/private/qwidgetinterface_p.h
+++ b/qmake/include/private/qwidgetinterface_p.h
@@ -1,111 +1,140 @@
- /**********************************************************************
-** Copyright (C) 2000-2001 Trolltech AS. All rights reserved.
+/****************************************************************************
+** $Id$
**
-** This file is part of Qt Designer.
+** ...
+**
+** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
+**
+** This file is part of the widgets 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 QWIDGETINTERFACE_H
-#define QWIDGETINTERFACE_H
-
-
-#ifndef QT_H
-#include <private/qcom_p.h>
-#include <qiconset.h>
-#endif // QT_H
-
-#ifndef QT_NO_WIDGETPLUGIN
+#ifndef QWIDGETINTERFACE_P_H
+#define QWIDGETINTERFACE_P_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of a number of Qt sources files. This header file may change from
// version to version without notice, or even be removed.
//
// We mean it.
//
//
+#ifndef QT_H
+#include <private/qcom_p.h>
+#include <qiconset.h>
+#endif // QT_H
+
+#ifndef QT_NO_WIDGETPLUGIN
+
class QWidget;
// {55184143-f18f-42c0-a8eb-71c01516019a}
#ifndef IID_QWidgetFactory
#define IID_QWidgetFactory QUuid( 0x55184143, 0xf18f, 0x42c0, 0xa8, 0xeb, 0x71, 0xc0, 0x15, 0x16, 0x1, 0x9a )
#endif
/*! To add custom widgets to the Qt Designer, implement that interface
in your custom widget plugin.
You also have to implement the function featureList() (\sa
QFeatureListInterface) and return there all widgets (names of it)
which this interface provides.
*/
struct QWidgetFactoryInterface : public QFeatureListInterface
{
public:
/*! In the implementation create and return the widget \a widget
here, use \a parent and \a name when creating the widget */
virtual QWidget* create( const QString &widget, QWidget* parent = 0, const char* name = 0 ) = 0;
/*! In the implementation return the name of the group of the
widget \a widget */
virtual QString group( const QString &widget ) const = 0;
/*! In the implementation return the iconset, which should be used
in the Qt Designer menubar and toolbar to represent the widget
\a widget */
virtual QIconSet iconSet( const QString &widget ) const = 0;
/*! In the implementation return the include file which is needed
for the widget \a widget in the generated code which uic
generates. */
virtual QString includeFile( const QString &widget ) const = 0;
/*! In the implementation return the text which should be
displayed as tooltip for the widget \a widget */
virtual QString toolTip( const QString &widget ) const = 0;
/*! In the implementation return the text which should be used for
what's this help for the widget \a widget. */
virtual QString whatsThis( const QString &widget ) const = 0;
/*! In the implementation return TRUE here, of the \a widget
should be able to contain other widget in the Qt Designer, else
FALSE. */
virtual bool isContainer( const QString &widget ) const = 0;
};
-#if CONTAINER_CUSTOM_WIDGETS
+#ifdef QT_CONTAINER_CUSTOM_WIDGETS
// {15976628-e3c3-47f4-b525-d124a3caf30e}
#ifndef IID_QWidgetContainer
#define IID_QWidgetContainer QUuid( 0x15976628, 0xe3c3, 0x47f4, 0xb5, 0x25, 0xd1, 0x24, 0xa3, 0xca, 0xf3, 0x0e )
#endif
struct QWidgetContainerInterfacePrivate : public QUnknownInterface
{
public:
- virtual QWidget *containerOfWidget( QWidget *widget ) const = 0;
- virtual QWidgetList containersOf( QWidget *widget ) const = 0;
- virtual bool isPassiveInteractor( QWidget *widget ) const = 0;
+ virtual QWidget *containerOfWidget( const QString &f, QWidget *container ) const = 0;
+ virtual bool isPassiveInteractor( const QString &f, QWidget *container ) const = 0;
+
+ virtual bool supportsPages( const QString &f ) const = 0;
+
+ virtual QWidget *addPage( const QString &f, QWidget *container,
+ const QString &name, int index ) const = 0;
+ virtual void insertPage( const QString &f, QWidget *container,
+ const QString &name, int index, QWidget *page ) const = 0;
+ virtual void removePage( const QString &f, QWidget *container, int index ) const = 0;
+ virtual void movePage( const QString &f, QWidget *container, int fromIndex, int toIndex ) const = 0;
+ virtual int count( const QString &key, QWidget *container ) const = 0;
+ virtual int currentIndex( const QString &key, QWidget *container ) const = 0;
+ virtual QString pageLabel( const QString &key, QWidget *container, int index ) const = 0;
+ virtual QWidget *page( const QString &key, QWidget *container, int index ) const = 0;
+ virtual void renamePage( const QString &key, QWidget *container,
+ int index, const QString &newName ) const = 0;
+ virtual QWidgetList pages( const QString &f, QWidget *container ) const = 0;
};
#endif
#endif // QT_NO_WIDGETPLUGIN
-#endif // QWIDGETINTERFACE_H
+#endif // QWIDGETINTERFACE_P_H
diff --git a/qmake/include/private/qwidgetresizehandler_p.h b/qmake/include/private/qwidgetresizehandler_p.h
index ca229db..9297832 100644
--- a/qmake/include/private/qwidgetresizehandler_p.h
+++ b/qmake/include/private/qwidgetresizehandler_p.h
@@ -1,113 +1,125 @@
/****************************************************************************
** $Id$
**
** Definition of the QWidgetResizeHandler class
**
** Created : 001010
**
-** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
+** Copyright (C) 1992-2002 Trolltech AS. All rights reserved.
**
** This file is part of the workspace 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 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 QWIDGETRESIZEHANDLER_H
-#define QWIDGETRESIZEHANDLER_H
+#ifndef QWIDGETRESIZEHANDLER_P_H
+#define QWIDGETRESIZEHANDLER_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. This header file may
+// change from version to version without notice, or even be
+// removed.
+//
+// We mean it.
+//
+//
#ifndef QT_H
#include "qobject.h"
#endif // QT_H
#ifndef QT_NO_RESIZEHANDLER
class QMouseEvent;
class QKeyEvent;
class Q_EXPORT QWidgetResizeHandler : public QObject
{
Q_OBJECT
public:
QWidgetResizeHandler( QWidget *parent, QWidget *cw = 0, const char *name = 0 );
void setActive( bool b ) { active = b; if ( !active ) setMouseCursor( Nowhere ); }
bool isActive() const { return active; }
void setMovingEnabled( bool b ) { moving = b; }
bool isMovingEnabled() const { return moving; }
bool isButtonDown() const { return buttonDown; }
void setExtraHeight( int h ) { extrahei = h; }
void setSizeProtection( bool b ) { sizeprotect = b; }
void doResize();
void doMove();
signals:
void activate();
protected:
bool eventFilter( QObject *o, QEvent *e );
void mouseMoveEvent( QMouseEvent *e );
void keyPressEvent( QKeyEvent *e );
private:
enum MousePosition {
Nowhere,
TopLeft, BottomRight, BottomLeft, TopRight,
Top, Bottom, Left, Right,
Center
};
QWidget *widget;
QWidget *childWidget;
QPoint moveOffset;
QPoint invertedMoveOffset;
MousePosition mode;
int extrahei;
int range;
uint buttonDown :1;
uint moveResizeMode :1;
uint active :1;
uint sizeprotect :1;
uint moving :1;
void setMouseCursor( MousePosition m );
bool isMove() const {
return moveResizeMode && mode == Center;
}
bool isResize() const {
return moveResizeMode && !isMove();
}
private: // Disabled copy constructor and operator=
#if defined(Q_DISABLE_COPY)
QWidgetResizeHandler( const QWidgetResizeHandler & );
QWidgetResizeHandler& operator=( const QWidgetResizeHandler & );
#endif
};
#endif //QT_NO_RESIZEHANDLER
#endif